Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari database MySQL yang dibuat pengguna dan di-hosting pada instance ECS ke instance AnalyticDB for PostgreSQL. DTS memfasilitasi transmisi data dan analisis terpusat data perusahaan.
Prasyarat
Database MySQL versi 5.1, 5.5, 5.6, 5.7, atau 8.0 telah dibuat dan di-hosting pada instance ECS.
Fitur binary logging diaktifkan untuk database sumber. Akun database dibuat untuk tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Buat akun untuk database MySQL yang dikelola sendiri dan konfigurasikan binary logging.
CatatanAkun database harus memiliki izin SELECT pada objek yang akan disinkronkan, izin REPLICATION CLIENT, izin REPLICATION SLAVE, dan izin SHOW VIEW.
Tabel yang akan disinkronkan dari database sumber mengandung kunci utama.
Instance tujuan AnalyticDB for PostgreSQL telah dibuat. Untuk informasi lebih lanjut, lihat Buat instance AnalyticDB for PostgreSQL.
Perhatian
DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan selama sinkronisasi data penuh awal. Hal ini dapat meningkatkan beban server database. Jika performa database tidak baik, spesifikasinya rendah, atau volume datanya besar, layanan database mungkin menjadi tidak tersedia. Sebagai contoh, DTS menggunakan sejumlah besar sumber daya baca dan tulis dalam kasus-kasus berikut: banyak kueri SQL lambat dilakukan pada database sumber, tabel tidak memiliki kunci utama, atau deadlock terjadi di database tujuan. Sebelum Anda menyinkronkan data, evaluasi dampak sinkronisasi data terhadap performa database sumber dan tujuan. Kami menyarankan Anda menyinkronkan data selama jam-jam sepi. Sebagai contoh, Anda dapat menyinkronkan data ketika utilisasi CPU dari database sumber dan tujuan kurang dari 30%.
Batasan
Anda hanya dapat memilih tabel sebagai objek yang akan disinkronkan.
DTS tidak menyinkronkan jenis data berikut: BIT, VARBIT, GEOMETRY, ARRAY, UUID, TSQUERY, TSVECTOR, TXID_SNAPSHOT, dan POINT.
Indeks awalan tidak dapat disinkronkan. Jika database sumber mengandung indeks awalan, data mungkin gagal disinkronkan.
Kami menyarankan Anda tidak menggunakan gh-ost atau pt-online-schema-change untuk melakukan operasi DDL pada objek selama sinkronisasi data. Jika tidak, sinkronisasi data mungkin gagal.
Operasi SQL yang dapat disinkronkan
Operasi DML: INSERT, UPDATE, dan DELETE
Operasi DDL: ADD COLUMN
CatatanOperasi CREATE TABLE tidak didukung. Untuk menyinkronkan data dari tabel baru, Anda harus menambahkan tabel ke objek yang dipilih. Untuk informasi lebih lanjut, lihat Tambahkan objek ke tugas sinkronisasi data.
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah banyak-ke-satu
Pemetaan istilah
MySQL | AnalyticDB for PostgreSQL |
Database | Skema |
Tabel | Tabel |
Prosedur
Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli instance DTS.
CatatanDi halaman pembelian, atur Instance Sumber ke MySQL, atur Instance Tujuan ke AnalyticDB for PostgreSQL, dan atur Topologi Sinkronisasi ke One-Way Synchronization.
Masuk ke Konsol DTS.
Di panel navigasi di sebelah kiri, klik Data Synchronization.
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instance tujuan berada.
Temukan instance sinkronisasi data dan klik Configure Synchronization Channel di kolom Tindakan.
Konfigurasikan instance sumber dan tujuan.

Bagian
Parameter
Deskripsi
Tidak Ada
Nama Tugas Sinkronisasi
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama yang informatif agar mudah diidentifikasi. Anda tidak perlu menggunakan nama tugas yang unik.
Detail Instance Sumber
Jenis Instance
Pilih User-Created Database in ECS Instance.
Wilayah Instance
Wilayah sumber yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
ID Instance
Pilih ID instance ECS yang meng-hosting database MySQL yang dikelola sendiri.
Jenis Database
Nilai parameter ini diatur ke MySQL dan tidak dapat diubah.
Nomor Port
Masukkan nomor port layanan database sumber. Nomor port default adalah 3306.
Akun Database
Masukkan akun database MySQL yang dikelola sendiri.
CatatanAkun database harus memiliki izin SELECT pada objek yang akan disinkronkan, izin REPLICATION CLIENT, izin REPLICATION SLAVE, dan izin SHOW VIEW.
Kata Sandi Database
Masukkan kata sandi akun database sumber.
Detail Instance Tujuan
Jenis Instance
Nilai parameter ini diatur ke AnalyticDB for PostgreSQL dan tidak dapat diubah.
Wilayah Instance
Wilayah tujuan yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
ID Instance
Pilih ID instance tujuan AnalyticDB for PostgreSQL.
Nama Database
Masukkan nama database tujuan.
Akun Database
Masukkan initial account dari instance AnalyticDB for PostgreSQL. Untuk informasi lebih lanjut, lihat Buat dan kelola akun database.
CatatanAnda juga dapat memasukkan akun yang memiliki izin RDS_SUPERUSER. Untuk informasi lebih lanjut, lihat Kelola pengguna dan izin.
Kata Sandi Database
Masukkan kata sandi akun database tujuan.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
CatatanDTS menambahkan blok CIDR server DTS ke aturan masuk instance ECS dan daftar putih instance AnalyticDB for PostgreSQL. Ini memastikan bahwa server DTS dapat terhubung ke instance sumber dan tujuan.
Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan.

Pengaturan
Parameter
Deskripsi
Pilih kebijakan sinkronisasi
Sinkronisasi Awal
Anda harus memilih kedua Initial Schema Synchronization dan Initial Full Data Synchronization dalam kebanyakan kasus. Setelah pra-pemeriksaan, DTS menyinkronkan skema dan data objek yang diperlukan dari instance sumber ke instance tujuan. Skema dan data ini merupakan dasar untuk sinkronisasi tambahan berikutnya.
Mode Penanganan Tabel yang Konflik
Clear Target Table
Mengabaikan item Schema Name Conflict selama pra-pemeriksaan. Menghapus data di tabel tujuan sebelum sinkronisasi data penuh awal. Jika Anda ingin menyinkronkan data bisnis setelah menguji tugas sinkronisasi data, Anda dapat memilih mode ini.
Ignore
Mengabaikan item Schema Name Conflict selama pra-pemeriksaan. Menambahkan data ke data yang ada selama sinkronisasi data penuh awal. Jika Anda ingin menyinkronkan data dari beberapa tabel ke satu tabel, Anda dapat memilih mode ini.
Jenis Sinkronisasi
Pilih jenis operasi yang ingin Anda sinkronkan berdasarkan kebutuhan bisnis Anda.
Insert
Update
Delete
AlterTable
Pilih objek yang akan disinkronkan
Tidak Ada
Pilih satu atau lebih tabel dari bagian Available dan klik ikon
untuk memindahkan tabel ke bagian Selected.CatatanAnda hanya dapat memilih tabel sebagai objek yang akan disinkronkan.
Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama kolom yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Ubah nama objek yang akan disinkronkan.
Ubah Nama Database dan Tabel
Tidak Ada
Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
Replikasi Tabel Sementara Saat DMS Melakukan Operasi DDL
Tidak Ada
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 untuk Koneksi Gagal
Tidak Ada
Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS mencoba kembali dalam waktu 720 menit (12 jam) berikutnya. Anda dapat menentukan waktu ulang berdasarkan kebutuhan Anda. Jika DTS berhasil terhubung 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 menyarankan Anda menentukan waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah instance sumber dan tujuan dilepaskan.
Tentukan kolom kunci utama dan kolom distribusi dari tabel yang ingin Anda sinkronkan ke instance AnalyticDB for PostgreSQL.
CatatanHalaman pada langkah ini hanya muncul jika Anda memilih Initial Schema Synchronization. Untuk informasi lebih lanjut tentang kolom kunci utama dan kolom distribusi, lihat Kelola tabel dan Tentukan distribusi tabel.
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 detail.Setelah Anda menyelesaikan masalah berdasarkan detail, 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: The precheck is passed. Kemudian, tugas sinkronisasi data dimulai.
Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data berada dalam status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks.
