All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Sinkronkan data dari tenant MySQL di OceanBase Database ke database AnalyticDB for MySQL

Last Updated:Jul 02, 2025

Topik ini menjelaskan cara menyinkronkan data dari tenant MySQL di OceanBase Database ke database AnalyticDB for MySQL, sebuah gudang data cloud-native.

Latar Belakang

  • Untuk informasi dasar tentang AnalyticDB for MySQL, lihat Tipe Data Dasar.

  • Untuk informasi tentang pembuatan tabel, tabel terpartisi, dan tabel terdistribusi di AnalyticDB for MySQL, lihat CREATE TABLE.

Prasyarat

  • Layanan transmisi data memiliki hak istimewa untuk mengakses sumber daya cloud. Untuk informasi lebih lanjut, lihat Berikan Hak Istimewa kepada Peran untuk Transmisi Data.

  • Anda telah membuat pengguna database khusus untuk sinkronisasi data di database OceanBase sumber dan memberikan hak istimewa yang sesuai kepada pengguna tersebut. Untuk informasi lebih lanjut, lihat Buat Pengguna Database.

Keterbatasan

  • Layanan transmisi data mendukung AnalyticDB for MySQL V3.0.

  • Layanan transmisi data mendukung sinkronisasi objek hanya jika kondisi berikut terpenuhi: nama database, nama tabel, dan nama kolom objek dikodekan ASCII tanpa karakter khusus. Karakter khusus meliputi jeda baris, spasi, dan karakter berikut: . | " ' ` ( ) = ; / & \.

Pertimbangan

  • Jika sumbernya adalah OceanBase Database dengan versi mulai dari V4.0.0 hingga V4.3.x (tidak termasuk V4.2.5 BP1) dan Anda memilih sinkronisasi tambahan, Anda harus menentukan atribut STORED untuk kolom yang dihasilkan. Jika Anda tidak menentukan atribut ini, tidak ada informasi tentang kolom yang dihasilkan yang disimpan dalam log tambahan, yang dapat mengakibatkan kesalahan data dalam sinkronisasi tambahan.

  • Jika jam antar node atau antara klien dan server tidak tersinkronisasi, latensi mungkin tidak akurat selama sinkronisasi tambahan.

    Sebagai contoh, jika jam lebih awal dari waktu standar, latensi bisa negatif. Jika jam lebih lambat dari waktu standar, latensi bisa positif.

  • Ketika Anda menyinkronkan data dari tenant MySQL di OceanBase Database ke database AnalyticDB for MySQL, indeks ditangani sebagai berikut:

    • Ketika tabel dengan kunci utama disinkronkan, hapus semua indeks kecuali indeks kunci utama.

    • Ketika tabel tanpa kunci utama tetapi dengan indeks unik yang tidak null disinkronkan, gunakan indeks unik pertama yang tidak null sebagai kunci utama, dan hapus semua indeks lainnya.

    • Tabel tanpa kunci utama atau indeks unik yang tidak null tidak dapat disinkronkan.

  • Jika waktu tipe TIMESTAMP digunakan di sumber atau tujuan dan waktu tersebut berada dalam rentang Daylight Saving Time (DST), data di sumber dan tujuan mungkin tidak konsisten dengan selisih 1 jam karena metode pemrosesan format waktu yang berbeda digunakan oleh sumber dan tujuan.

    Sebagai contoh, jika TIMEZONE diatur ke +8:00 untuk sumber atau tujuan, hasil kueri di tenant MySQL di OceanBase Database tidak dalam DST dan yang di AnalyticDB for MySQL dalam DST. Data di AnalyticDB for MySQL lebih cepat 1 jam dibandingkan dengan tenant MySQL di OceanBase Database.

  • Jika Anda hanya memilih Incremental Synchronization saat membuat tugas sinkronisasi data, layanan transmisi data mengharuskan log tambahan lokal di database sumber disimpan setidaknya selama 48 jam.

    Jika Anda memilih Full Synchronization dan Incremental Synchronization saat membuat tugas sinkronisasi data, layanan transmisi data mengharuskan log tambahan lokal di database sumber disimpan setidaknya selama tujuh hari. Jika tidak, tugas sinkronisasi data mungkin gagal atau data di database sumber dan target mungkin tidak konsisten karena layanan transmisi data tidak dapat memperoleh log tambahan.

  • Jika database sumber atau target berisi objek tabel yang hanya berbeda dalam huruf besar/kecil, hasil migrasi data mungkin tidak seperti yang diharapkan karena ketidakpekaan terhadap huruf besar/kecil di database sumber atau target.

Tipe instance sumber dan target yang didukung

Dalam tabel berikut, OB_MySQL berarti tenant MySQL di OceanBase Database.

Sumber

Target

OB_MySQL (instance kluster OceanBase)

AnalyticDB MySQL

OB_MySQL (instance serverless)

AnalyticDB MySQL

Pemetaan tipe data

Tipe data di tenant MySQL di OceanBase Database

Tipe data di AnalyticDB for MySQL V3.0

BIGINT

BIGINT

BINARY

VARBINARY

BIT

VARBINARY

BLOB

VARBINARY

CHAR

VARCHAR

DATE

DATE

DATETIME

DATETIME

DECIMAL

DECIMAL(p,s) p: 1 hingga 1000, s <= p

DOUBLE

DOUBLE

ENUM

VARCHAR

FLOAT

FLOAT

INT

INT

INTEGER

INT

LONGBLOB

VARBINARY

LONGTEXT

VARCHAR

MEDIUMBLOB

VARBINARY

MEDIUMTEXT

VARCHAR

NUMERIC

DECIMAL

SET

VARCHAR

SMALLINT

SMALLINT

TEXT

VARCHAR

TIME

TIME

TIMESTAMP

TIMESTAMP

TINYBLOB

VARBINARY

TINYINT

TINYINT

TINYTEXT

VARCHAR

VARBINARY

VARBINARY

VARCHAR

VARCHAR

YEAR

BIGINT

Prosedur

  1. Masuk ke Konsol ApsaraDB for OceanBase dan beli tugas sinkronisasi data.

    Untuk informasi lebih lanjut, lihat Beli Tugas Sinkronisasi Data.

  2. Pilih Data Transmission > Data Synchronization. Pada halaman yang muncul, klik Configuration untuk tugas sinkronisasi data.

    image.png

    Jika Anda ingin merujuk konfigurasi tugas yang ada, klik Reference Configuration. Untuk informasi lebih lanjut, lihat Referensi dan Hapus Konfigurasi Tugas Sinkronisasi Data.

  3. Di halaman Select Source and Target, konfigurasikan parameter.

    Parameter

    Deskripsi

    Nama Tugas Sinkronisasi

    Kami sarankan Anda mengaturnya menjadi kombinasi angka dan huruf. Tidak boleh mengandung spasi dan panjangnya tidak boleh melebihi 64 karakter.

    Sumber

    Jika Anda telah membuat sumber data OceanBase, pilih dari daftar drop-down. Jika tidak, klik New Data Source di daftar drop-down dan buat satu di kotak dialog yang muncul di sebelah kanan. Untuk informasi lebih lanjut tentang parameter, lihat Buat sumber data OceanBase.

    Target

    Jika Anda telah membuat sumber data AnalyticDB for MySQL, pilih dari daftar drop-down. Jika tidak, klik New Data Source di daftar drop-down dan buat satu di kotak dialog yang muncul di sebelah kanan. Untuk informasi lebih lanjut, lihat Buat sumber data ADB.

    Tag (Opsional)

    Pilih tag target dari daftar drop-down. Anda juga dapat mengklik Manage Tags untuk membuat, memodifikasi, dan menghapus tag. Untuk informasi lebih lanjut, lihat Gunakan tag untuk mengelola tugas sinkronisasi data.

  4. Klik Next. Di halaman Select Synchronization Type, tentukan jenis sinkronisasi untuk tugas sinkronisasi data saat ini.

    image

    Jenis sinkronisasi yang didukung adalah Schema Synchronization, Full Synchronization, dan Incremental Synchronization. Incremental Synchronization mendukung opsi DML Synchronization dan DDL Synchronization. Operasi DML yang didukung adalah INSERT, DELETE, dan UPDATE. Anda dapat memilih opsi sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Konfigurasikan Sinkronisasi DDL/DML. Untuk informasi tentang operasi DDL yang didukung, lihat Operasi DDL yang Didukung untuk Sinkronisasi.

  5. Klik Next. Di halaman Select Synchronization Objects, pilih objek yang akan disinkronkan dalam tugas sinkronisasi data saat ini.

    Anda dapat menggunakan opsi Specify Objects atau Match Rules untuk menentukan objek sinkronisasi. Topik ini menjelaskan cara menentukan objek sinkronisasi dengan menggunakan opsi Specify Objects. Untuk informasi tentang cara mengonfigurasi aturan pencocokan, lihat bagian "Pola wildcard untuk migrasi/sinkronisasi data antar database" dalam topik Konfigurasikan dan Modifikasi Aturan Pencocokan.

    Penting
    • Nama tabel yang akan disinkronkan, serta nama kolom dalam tabel, tidak boleh mengandung karakter Cina.

    • Jika nama database atau tabel mengandung dua tanda dolar ($$), Anda tidak dapat membuat tugas sinkronisasi.

    • Jika Anda memilih DDL Synchronization di langkah Select Synchronization Type, kami sarankan Anda memilih objek sinkronisasi dengan menggunakan opsi Aturan Pencocokan. Ini memastikan bahwa semua objek baru yang memenuhi aturan pencocokan disinkronkan. Jika Anda memilih objek sinkronisasi dengan menggunakan opsi Tentukan Objek, objek baru atau objek yang diubah namanya tidak akan disinkronkan.

    image.png

    1. Di bagian Select Synchronization Objects, pilih opsi Specify Objects.

    2. Di bagian Select Synchronization Scope, pilih objek yang akan disinkronkan dari daftar Source Object(s). Anda dapat memilih tabel dari satu atau lebih database sebagai objek sinkronisasi.

    3. Klik > untuk menambahkannya ke daftar Target Object(s) .

    Layanan transmisi data memungkinkan Anda mengimpor objek menggunakan teks. Layanan ini juga memungkinkan Anda mengganti nama objek, menyetel filter baris, dan menghapus satu objek atau semua objek.

    Catatan

    Ketika Anda memilih Match Rules untuk menentukan objek sinkronisasi, penggantian nama objek dilakukan berdasarkan sintaks aturan pencocokan yang ditentukan. Di area operasi, Anda hanya dapat menyetel kondisi filter dan memilih kolom sharding dan kolom yang akan disinkronkan. Untuk informasi lebih lanjut, lihat Konfigurasikan dan Modifikasi Aturan Pencocokan.

    Operasi

    Deskripsi

    Impor objek

    1. Di daftar di sebelah kanan, klik Impor Objek di pojok kanan atas.

    2. Di kotak dialog yang muncul, klik OK.

      Penting

      Operasi ini akan menimpa pilihan sebelumnya. Lanjutkan dengan hati-hati.

    3. Di kotak dialog Impor Objek Sinkronisasi, impor objek yang akan disinkronkan.

      Anda dapat mengimpor file CSV untuk mengganti nama database atau tabel dan menyetel kondisi filter baris. Untuk informasi lebih lanjut, lihat Unduh dan impor pengaturan objek sinkronisasi.

    4. Klik Validasi.

      Setelah Anda mengimpor objek sinkronisasi, periksa validitasnya. Pemetaan kolom bidang tidak didukung.

    5. Setelah validasi berhasil, klik OK.

    Ganti nama objek

    Layanan transmisi data memungkinkan Anda mengganti nama objek sinkronisasi. Untuk informasi lebih lanjut, lihat Ganti nama tabel database.

    Konfigurasikan pengaturan

    Anda dapat menggunakan klausa WHERE untuk memfilter dan memilih kolom yang akan disinkronkan serta menyetel kolom kunci utama, kunci distribusi, dan kunci partisi.

    1. Di daftar di sebelah kanan, arahkan ke objek yang ingin Anda atur.

    2. Klik Settings.

    3. Di kotak dialog Settings, Anda dapat melakukan operasi berikut:

      • Tentukan klausa SQL standar WHERE untuk memfilter data berdasarkan baris. Untuk informasi lebih lanjut, lihat Gunakan kondisi SQL untuk memfilter data.

      • Atur kolom kunci utama.

        Secara default, kolom kunci utama tabel saat ini ditampilkan. Beberapa kolom kunci utama didukung. Anda dapat menghapus kolom kunci utama saat ini dan menyetel kolom kunci utama baru dengan memilih kolom dari daftar drop-down atau mencari kolom di kotak pencarian. Beberapa kolom kunci utama didukung.

      • (Opsional) Atur kunci distribusi.

      • Atur kunci partisi. Untuk menyetel kunci partisi, lakukan operasi berikut:

        • Masukkan ekspresi di bidang Partition Key Expression, seperti PARTITION BY VALUE('id').

        • Atur siklus hidup tabel, yang digunakan untuk mengelola partisi. Setelah siklus hidup tabel diatur, partisi diurutkan, dan hanya N partisi pertama yang dipertahankan.

    4. Klik OK.

    Hapus satu atau semua objek

    Layanan transmisi data memungkinkan Anda menghapus satu atau semua objek sinkronisasi yang ditambahkan ke daftar di sisi kanan selama pemetaan data.

    • Hapus satu objek sinkronisasi

      Di daftar di sebelah kanan, arahkan ke objek yang ingin Anda hapus, dan klik Remove untuk menghapus objek sinkronisasi.

    • Hapus semua objek sinkronisasi

      Di daftar di sebelah kanan, klik Remove All di pojok kanan atas. Di kotak dialog yang muncul, klik OK untuk menghapus semua objek sinkronisasi.

  6. Klik Next. Di halaman Synchronization Options, konfigurasikan parameter.

    • Sinkronisasi Penuh

      Tabel berikut menjelaskan parameter sinkronisasi penuh, yang hanya ditampilkan jika Anda telah memilih Full Synchronization di halaman Select Synchronization Type.

      image

      Parameter

      Deskripsi

      Konkurensi Baca

      Konkurensi untuk membaca data dari sumber selama sinkronisasi penuh. Nilai maksimum adalah 512. Konkurensi tinggi dapat menyebabkan tekanan berlebih pada sumber, sehingga memengaruhi bisnis.

      Konkurensi Tulis

      Konkurensi untuk menulis data ke target selama sinkronisasi penuh. Nilai maksimum adalah 512. Konkurensi tulis tinggi dapat menyebabkan tekanan berlebih pada target, memengaruhi bisnis.

      Batas Laju Sinkronisasi Penuh

      Anda dapat memilih apakah akan membatasi laju sinkronisasi penuh sesuai kebutuhan. Jika Anda memilih untuk membatasi laju sinkronisasi penuh, Anda harus menentukan rekaman per detik (RPS) dan byte per detik (BPS). RPS menentukan jumlah maksimum baris data yang disinkronkan ke target per detik selama sinkronisasi penuh, dan BPS menentukan jumlah maksimum data dalam byte yang disinkronkan ke target per detik selama sinkronisasi penuh.

      Catatan

      Nilai RPS dan BPS yang ditentukan di sini hanya untuk pembatasan. Performa sinkronisasi penuh aktual bergantung pada faktor-faktor seperti pengaturan sumber dan target serta spesifikasi instance.

      Tangani Tabel Non-kosong di Database Target

      • Jika Anda memilih Ignore, ketika data yang akan dimasukkan bertentangan dengan data yang ada di tabel target, layanan transmisi data mencatat data yang bertentangan sambil mempertahankan data yang ada.

        Penting

        Jika Anda memilih Ignore, data ditarik dalam mode IN untuk verifikasi penuh. Dalam kasus ini, verifikasi tidak berlaku jika target berisi data yang tidak ada di sumber, dan performa verifikasi menurun.

      • Jika Anda memilih Stop Migration dan tabel target berisi catatan, kesalahan yang menunjukkan migrasi tidak didukung dilaporkan selama migrasi penuh. Dalam kasus ini, Anda harus memproses data di tabel target sebelum melanjutkan migrasi.

        Penting

        Jika Anda mengklik Pulihkan di kotak dialog yang menunjukkan kesalahan, layanan transmisi data mengabaikan kesalahan ini dan melanjutkan migrasi data. Lanjutkan dengan hati-hati.

    • Sinkronisasi Tambahan

      Tabel berikut menjelaskan parameter sinkronisasi tambahan, yang hanya ditampilkan saat Anda telah memilih Incremental Synchronization di halaman Select Synchronization Type.

      image

      Parameter

      Deskripsi

      Konkurensi Tulis

      Konkurensi untuk menulis data ke target selama sinkronisasi tambahan. Nilai maksimum adalah 512. Konkurensi tulis tinggi dapat menyebabkan tekanan berlebih pada target, memengaruhi bisnis.

      Batas Laju Sinkronisasi Tambahan

      Anda dapat memilih apakah akan membatasi laju sinkronisasi tambahan sesuai kebutuhan. Jika Anda memilih untuk membatasi laju sinkronisasi tambahan, Anda harus menentukan RPS dan BPS. RPS menentukan jumlah maksimum baris data yang disinkronkan ke target per detik selama sinkronisasi tambahan, dan BPS menentukan jumlah maksimum data dalam byte yang disinkronkan ke target per detik selama sinkronisasi tambahan.

      Catatan

      Nilai RPS dan BPS yang ditentukan di sini hanya untuk pembatasan. Performa sinkronisasi tambahan aktual bergantung pada faktor-faktor seperti pengaturan sumber dan target serta spesifikasi instance.

      Waktu Mulai Sinkronisasi Tambahan

      • Parameter ini tidak tersedia jika Anda telah memilih Full Synchronization.

      • Jika Anda telah memilih Incremental Synchronization tetapi tidak Full Synchronization, tentukan titik waktu setelah mana data akan disinkronkan. Nilai default adalah waktu sistem saat ini. Untuk informasi lebih lanjut, lihat Tetapkan timestamp sinkronisasi tambahan.

  7. Klik Precheck.

    Selama pemeriksaan awal, layanan transmisi data mendeteksi koneksi antara sumber dan target. Jika terjadi kesalahan selama pemeriksaan awal, Anda dapat melakukan operasi berikut:

    • Identifikasi dan perbaiki masalah, lalu lakukan pemeriksaan awal lagi.

    • Klik Skip di kolom Actions item pemeriksaan awal yang gagal. Di kotak dialog yang menunjukkan konsekuensi dari operasi tersebut, klik OK.

  8. Setelah pemeriksaan awal berhasil, klik Start Task.

    Jika Anda tidak perlu memulai tugas sekarang, klik Save. Anda dapat memulai tugas secara manual di halaman Synchronization Tasks atau dengan melakukan operasi batch nanti. Untuk informasi lebih lanjut tentang operasi batch, lihat Lakukan Operasi Batch pada Tugas Sinkronisasi Data.

    Layanan transmisi data memungkinkan Anda memodifikasi objek sinkronisasi saat tugas sinkronisasi sedang berjalan. Untuk informasi lebih lanjut, lihat Lihat dan Modifikasi Objek Sinkronisasi dan Kondisi Filter Mereka. Setelah tugas sinkronisasi data dimulai, tugas tersebut akan dieksekusi berdasarkan jenis sinkronisasi yang dipilih. Untuk informasi lebih lanjut, lihat Lihat Detail Tugas Sinkronisasi Data.

Jika tugas sinkronisasi data mengalami pengecualian eksekusi karena kegagalan jaringan atau startup lambat proses, Anda dapat mengklik Restore di halaman Tugas Sinkronisasi atau Detail Tugas Sinkronisasi.

Referensi