全部产品
Search
文档中心

Data Transmission Service:Sinkronkan data dari instance ApsaraDB RDS ke kluster AnalyticDB for MySQL

更新时间:Jul 02, 2025

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 sinkronisasiBiaya konfigurasi tugas
Sinkronisasi skema dan data penuhGratis.
Sinkronisasi data inkrementalDikenakan 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

Catatan

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

  1. Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli Instance DTS.

    Catatan

    Di halaman pembelian, atur Instance Sumber ke MySQL, Instance Tujuan ke AnalyticDB MySQL, dan Topologi Sinkronisasi ke One-way Synchronization.

  2. Masuk ke Konsol DTS.

  3. Di panel navigasi di sebelah kiri, klik Data Synchronization.

  4. Di bagian atas halaman Data Synchronization Tasks, pilih wilayah untuk pembuatan tugas sinkronisasi data.

  5. Temukan tugas sinkronisasi data dan klik Configure Task di kolom Aksi.

  6. Konfigurasikan instance sumber dan kluster tujuan.

    Configure the source instance and the destination cluster

    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.

    Catatan

    Jika 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.

    Penting

    Parameter 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.

  7. 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.

    Peringatan

    Jika 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.

  8. Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan.

    Select the synchronization policy and the objects to be synchronized

    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.

      Catatan

      Anda 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.

      Peringatan

      Jika 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_source ke 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.

    Catatan

    Jika 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 Rightwards arrow untuk menambahkan objek ke bagian Selected.

    Anda dapat memilih tabel atau database sebagai objek yang akan disinkronkan.

    Catatan
    • Jika 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.

      Catatan

      Jika 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.

      Catatan

      Jika 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.

    Catatan

    Saat 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.

  9. Di sudut kanan bawah halaman, klik Next.

  10. Tentukan jenis untuk tabel yang ingin Anda sinkronkan ke database tujuan.

    Specify a table type

    Catatan

    Setelah 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.

  11. Di sudut kanan bawah halaman, klik Precheck.

    Catatan
    • Sebelum 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.

  12. Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: Precheck Passed. Kemudian, tugas sinkronisasi data dimulai.

  13. 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.

  1. 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.

  2. Jalankan perintah INSERT INTO SELECT untuk menyalin data Tabel A dan menyisipkan data ke Tabel B. Ini memastikan bahwa data kedua tabel konsisten.

  3. Ganti nama atau hapus Tabel A. Lalu, ubah nama Tabel B menjadi customer.

  4. Mulai ulang tugas sinkronisasi data di konsol DTS.