AnalyticDB for MySQL adalah layanan pemrosesan analitik online (OLAP) waktu nyata yang dikembangkan oleh Alibaba Cloud untuk analisis data dengan konkurensi tinggi. AnalyticDB for MySQL dapat menganalisis data petabyte dari berbagai dimensi dalam milidetik, memberikan wawasan berbasis data untuk bisnis Anda. Topik ini menjelaskan cara memigrasikan data dari instance ApsaraDB RDS for MySQL ke kluster atau AnalyticDB for MySQL menggunakan Data Transmission Service (DTS). Setelah sinkronisasi data selesai, Anda dapat menggunakan AnalyticDB for MySQL untuk membangun sistem business intelligence (BI), sistem kueri interaktif, dan sistem laporan waktu nyata.
Prasyarat
Tabel-tabel dalam ApsaraDB RDS for MySQL yang akan disinkronkan dari database sumber harus mengandung kunci utama.
Kluster AnalyticDB for MySQL telah dibuat. Untuk informasi lebih lanjut, lihat Buat kluster.
Kluster tujuan AnalyticDB for MySQL memiliki ruang penyimpanan yang cukup.
Peringatan
DTS menggunakan sumber daya baca dan tulis dari instance RDS sumber dan tujuan selama sinkronisasi data penuh awal. Hal ini dapat meningkatkan beban pada instance RDS. Jika performa instance buruk, spesifikasinya rendah, atau volume datanya besar, layanan database mungkin menjadi tidak tersedia. Misalnya, DTS menggunakan sejumlah besar sumber daya baca dan tulis dalam kasus-kasus berikut: banyak kueri SQL lambat dilakukan pada instance RDS sumber, tabel tidak memiliki kunci utama, atau terjadi deadlock di instance RDS tujuan. Sebelum sinkronisasi data, evaluasi dampak sinkronisasi data terhadap performa instance RDS sumber dan tujuan. Kami menyarankan Anda menyinkronkan data selama jam-jam sepi. Misalnya, Anda dapat menyinkronkan data ketika penggunaan CPU dari instance RDS sumber dan tujuan kurang dari 30%.
Kami menyarankan Anda tidak menggunakan gh-ost atau pt-online-schema-change untuk melakukan operasi DDL pada objek yang diperlukan selama sinkronisasi data. Jika tidak, data mungkin gagal disinkronkan.
Karena batasan AnalyticDB for MySQL, jika penggunaan ruang disk node dalam kluster AnalyticDB for MySQL mencapai 80%, kluster akan terkunci. Kami menyarankan Anda memperkirakan ruang disk yang diperlukan berdasarkan objek yang akan disinkronkan. Pastikan bahwa kluster tujuan memiliki ruang penyimpanan yang cukup.
Indeks awalan tidak dapat disinkronkan. Jika database sumber mengandung indeks awalan, data mungkin gagal disinkronkan.
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Operasi SQL yang dapat disinkronkan
Operasi DDL: CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN, dan MODIFY COLUMN
Operasi DML: INSERT, UPDATE, dan DELETE
Jika tipe data bidang dalam tabel sumber diubah selama sinkronisasi data, pesan kesalahan akan dilaporkan dan tugas sinkronisasi data terganggu. Untuk informasi lebih lanjut tentang cara menangani kesalahan ini, lihat bagian "Pemecahan Masalah Kegagalan Sinkronisasi yang Terjadi karena Perubahan Tipe Bidang" dari topik ini.
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan |
Instance ApsaraDB RDS for MySQL | Hak SELECT pada objek yang akan disinkronkan dan hak REPLICATION CLIENT, REPLICATION SLAVE, dan SHOW VIEW |
AnalyticDB for MySQL | Hak baca dan tulis pada objek yang diperlukan |
Pemetaan tipe data
Tipe data dari ApsaraDB RDS for MySQL dan AnalyticDB for MySQL tidak memiliki korespondensi satu-satu. Selama sinkronisasi skema awal, DTS mengonversi tipe data dari database sumber menjadi tipe data dari database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Tipe Data untuk Sinkronisasi Skema Awal.
Prosedur
Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli Instance DTS.
CatatanDi halaman pembelian, atur Instance Sumber ke MySQL, Instance Tujuan ke AnalyticDB MySQL, dan Topologi Sinkronisasi ke One-way Synchronization.
Masuk ke Konsol DTS.
Di panel navigasi di sebelah kiri, klik Data Synchronization.
Di bagian atas halaman Data Synchronization Tasks, pilih wilayah untuk pembuatan tugas sinkronisasi data.
Temukan tugas sinkronisasi data dan klik Configure Task di kolom Aksi.
Konfigurasikan instance sumber dan kluster tujuan.

Bidang
Parameter
Deskripsi
Tidak ada
Nama Tugas Sinkronisasi
Nama tugas yang DTS hasilkan secara otomatis. Kami sarankan Anda menentukan nama deskriptif yang mudah diidentifikasi. Anda tidak perlu menggunakan nama tugas unik.
Rincian Instance Sumber
Tipe Instance
Pilih RDS Instance.
Wilayah Instance
Wilayah sumber yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
ID Instance
ID instance ApsaraDB RDS sumber.
Akun Database
Akun database dari instance ApsaraDB RDS sumber. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.
CatatanJika mesin database instance RDS sumber adalah MySQL 5.5 atau MySQL 5.6, Anda tidak perlu mengonfigurasi parameter Database Account atau Database Password.
Kata Sandi Database
Kata sandi akun database.
Enkripsi
Menentukan apakah akan mengenkripsi koneksi ke instance tujuan. Pilih Non-encrypted atau SSL-encrypted. Jika Anda ingin memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instance ApsaraDB RDS sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Konfigurasikan enkripsi SSL untuk instance ApsaraDB RDS for MySQL.
PentingParameter Encryption hanya tersedia di wilayah-wilayah di daratan Tiongkok dan wilayah China (Hong Kong).
Rincian Instance Tujuan
Tipe Instance
Parameter ini diatur ke AnalyticDB dan tidak dapat diubah.
Wilayah Instance
Wilayah tujuan yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
Versi
Pilih 3.0.
Database
ID kluster tujuan AnalyticDB for MySQL.
Akun Database
Akun database dari kluster AnalyticDB for MySQL. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.
Kata Sandi Database
Kata sandi akun database.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instance tersebut. Jika database sumber atau tujuan adalah database mandiri yang di-hosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instance ECS, dan Anda harus memastikan bahwa instance ECS dapat mengakses database. Jika database mandiri di-hosting pada beberapa instance ECS, Anda harus secara manual menambahkan blok CIDR server DTS ke aturan grup keamanan setiap instance ECS. Jika database sumber atau tujuan adalah database mandiri yang ditempatkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus secara manual menambahkan blok CIDR server DTS ke daftar putih alamat IP database untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.
PeringatanJika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui potensi risiko serta mengambil tindakan pencegahan, termasuk namun tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan nama pengguna dan kata sandi Anda, membatasi port yang diekspos, mengotentikasi panggilan API, secara berkala memeriksa daftar putih atau aturan grup keamanan ECS dan melarang blok CIDR yang tidak sah, atau menghubungkan database ke DTS dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan.

Parameter atau Pengaturan
Deskripsi
Pilih Jenis Sinkronisasi Awal
Anda harus memilih kedua Initial Schema Synchronization dan Initial Full Data Synchronization dalam banyak kasus. Setelah pra-pemeriksaan selesai, DTS menyinkronkan skema dan data objek yang diperlukan dari instance sumber ke kluster tujuan. Skema dan data ini menjadi dasar untuk sinkronisasi inkremental selanjutnya.
Mode Pemrosesan Tabel Tujuan yang Sudah Ada
Precheck and Report Errors: memeriksa apakah database sumber dan tujuan mengandung tabel dengan nama yang sama. Jika database tujuan tidak mengandung tabel dengan nama yang sama seperti di database sumber, pra-pemeriksaan berhasil. Jika tidak, kesalahan akan dilaporkan selama pra-pemeriksaan dan tugas sinkronisasi data tidak dapat dimulai.
CatatanAnda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Jika database sumber dan tujuan memiliki nama tabel yang identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur ini. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.
Ignore Errors and Proceed: melewati pra-pemeriksaan untuk nama tabel yang sama di database sumber dan tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.
Jika database sumber dan tujuan memiliki skema yang sama, DTS tidak akan menyinkronkan catatan data yang memiliki kunci utama yang sama dengan catatan data di database tujuan.
Jika database sumber dan tujuan memiliki skema yang berbeda, migrasi data awal mungkin gagal. Dalam hal ini, hanya kolom tertentu yang dimigrasikan, atau tugas migrasi data gagal.
Gabungkan Beberapa Tabel
Jika Anda memilih Yes, DTS menambahkan kolom
__dts_data_sourceke setiap tabel untuk menyimpan sumber data. Dalam hal ini, operasi DDL tidak dapat disinkronkan.No dipilih secara default. Dalam kasus ini, operasi DDL dapat disinkronkan.
CatatanJika Anda mengatur parameter ini ke Ya, semua tabel sumber yang dipilih dalam tugas digabungkan ke dalam satu tabel tujuan. Jika Anda ingin menggabungkan hanya sebagian dari tabel sumber, Anda dapat membuat dua tugas sinkronisasi data.
Pilih Jenis Operasi yang Akan Disinkronkan
Pilih jenisoperasi yang ingin Anda sinkronkan berdasarkan kebutuhan bisnis Anda. Semua jenis operasi dipilih secara default. Untuk informasi lebih lanjut, lihat Operasi SQL yang Dapat Disinkronkan.
Pilih Objek yang Akan Disinkronkan
Pilih satu atau lebih objek dari bagian Available dan klik ikon
untuk menambahkan objek ke bagian Selected.Anda dapat memilih tabel atau database sebagai objek yang akan disinkronkan.
CatatanJika Anda memilih database sebagai objek yang akan disinkronkan, semua perubahan skema di database disinkronkan ke database tujuan.
Jika Anda memilih tabel sebagai objek yang akan disinkronkan, hanya operasi ADD COLUMN yang dilakukan pada tabel yang disinkronkan ke database tujuan.
Secara default, setelah objek disinkronkan ke database tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke kluster tujuan. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.
Ganti Nama Database dan Tabel
Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.
Replikasi Tabel Sementara Saat DMS Melakukan Operasi DDL
Jika Anda menggunakan DMS untuk melakukan operasi DDL online pada database sumber, Anda dapat menentukan apakah akan menyinkronkan tabel sementara yang dihasilkan oleh operasi DDL online.
Yes: DTS menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online.
CatatanJika operasi DDL online menghasilkan sejumlah besar data, tugas sinkronisasi data mungkin tertunda.
No: DTS tidak menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online. Hanya data DDL asli dari database sumber yang disinkronkan.
CatatanJika Anda memilih Tidak, tabel di database tujuan mungkin terkunci.
Waktu Ulang Koneksi Gagal
Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS mencoba kembali dalam waktu 720 menit (12 jam) ke depan. Anda dapat menentukan waktu percobaan ulang berdasarkan kebutuhan Anda. Jika DTS berhasil tersambung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanSaat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami sarankan Anda menentukan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah instance sumber dan tujuan dilepaskan.
Di sudut kanan bawah halaman, klik Next.
Tentukan jenis untuk tabel yang ingin Anda sinkronkan ke database tujuan.
CatatanSetelah Anda memilih Initial Schema Synchronization, Anda harus menentukan type, primary key column, dan partition key column untuk tabel yang ingin Anda sinkronkan ke kluster tujuan AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat CREATE TABLE.
Di sudut kanan bawah halaman, klik Precheck.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas lulus pra-pemeriksaan.
Jika tugas gagal lulus pra-pemeriksaan, Anda dapat mengklik ikon
di sebelah setiap item yang gagal untuk melihat detailnya.Setelah Anda menyelesaikan masalah berdasarkan detailnya, mulai pra-pemeriksaan baru.
Jika Anda tidak perlu menyelesaikan masalah, ignore the failed items dan initiate a new precheck.
Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: Precheck Passed. Kemudian, tugas sinkronisasi data dimulai.
Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data memasuki status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks.

Pemecahan Masalah Kegagalan Sinkronisasi yang Terjadi Akibat Perubahan Tipe Bidang
Jika tipe data bidang dalam tabel sumber diubah selama sinkronisasi data, pesan kesalahan dilaporkan dan tugas sinkronisasi data terganggu. Anda dapat memecahkan masalah ini dengan menggunakan metode berikut.
Buat tabel di kluster tujuan berdasarkan skema tabel sumber yang gagal disinkronkan. Misalnya, jika tabel bernama customer (Tabel A) gagal disinkronkan, Anda dapat membuat tabel bernama customer_new (Tabel B) di kluster tujuan. Pastikan bahwa Tabel B memiliki skema yang sama dengan Tabel A.
Jalankan perintah INSERT INTO SELECT untuk menyalin data Tabel A dan menyisipkan data ke Tabel B. Ini memastikan bahwa data kedua tabel konsisten.
Ganti nama atau hapus Tabel A. Lalu, ubah nama Tabel B menjadi customer.
Mulai ulang tugas sinkronisasi data di konsol DTS.