Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari kluster PolarDB for MySQL ke instans AnalyticDB for PostgreSQL.
Prasyarat
Instans AnalyticDB for PostgreSQL tujuan telah dibuat. Ruang penyimpanan yang tersedia pada instans tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh kluster sumber PolarDB for MySQL. Untuk informasi selengkapnya, lihat Buat instans.
Database telah dibuat di instans tujuan AnalyticDB for PostgreSQL untuk menyimpan data yang disinkronkan. Untuk informasi selengkapnya, lihat CREATE DATABASE.
Perhatian
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Catatan lainnya | DTS secara berkala menjalankan perintah CREATE DATABASE IF NOT EXISTS `test` pada database sumber untuk memajukan offset log biner. |
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang mendukung sinkronisasi inkremental
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE Catatan Saat data ditulis ke instans tujuan AnalyticDB for PostgreSQL, DTS secara otomatis mengonversi pernyataan UPDATE menjadi pernyataan REPLACE INTO. Jika pernyataan UPDATE dieksekusi pada primary key, DTS mengonversinya menjadi pernyataan DELETE dan INSERT. |
DDL | CREATE TABLE, ALTER TABLE, TRUNCATE TABLE, DROP TABLE |
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Metode pembuatan dan otorisasi akun |
Kluster sumber PolarDB for MySQL | Izin baca dan tulis untuk objek yang akan disinkronkan | Buat dan kelola akun database dan kelola kata sandi akun database. |
Instans tujuan AnalyticDB for PostgreSQL | Izin baca dan tulis untuk database tujuan. | Buat dan kelola pengguna dan kelola izin pengguna. Catatan Anda juga dapat menggunakan akun awal atau akun yang memiliki izin RDS_SUPERUSER. |
Prosedur
-
Buka halaman Tugas Sinkronisasi Data.
-
Masuk ke Konsol Data Management (DMS).
-
Di bilah navigasi atas, klik Data + AI.
-
Di panel navigasi kiri, pilih .
Catatan-
Operasi dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
-
Anda juga dapat membuka halaman Tugas Sinkronisasi Data konsol DTS baru.
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
Kategori
Konfigurasi
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
Untuk menggunakan instans database yang telah ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database tersebut dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih PolarDB for MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat kluster sumber PolarDB for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.
PolarDB Cluster ID
Pilih ID kluster sumber PolarDB for MySQL.
Database Account
Masukkan akun database kluster sumber PolarDB for MySQL. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
Destination Database
Select Existing Connection
Untuk menggunakan instans database yang telah ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database tersebut dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih AnalyticDB for PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans tujuan AnalyticDB for PostgreSQL berada.
Instance ID
Pilih ID instans tujuan AnalyticDB for PostgreSQL.
Database Name
Masukkan nama database yang digunakan untuk menerima data di instans tujuan AnalyticDB for PostgreSQL.
Database Account
Masukkan akun database instans tujuan AnalyticDB for PostgreSQL. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan agar mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
Konfigurasikan objek tugas.
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Konfigurasi
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
DDL and DML Operations to Be Synchronized
Anda dapat memilih operasi DDL atau DML yang akan disinkronkan di tingkat instans. Untuk informasi selengkapnya tentang operasi yang didukung, lihat Operasi SQL yang mendukung sinkronisasi inkremental.
CatatanUntuk memilih operasi SQL mana yang akan disinkronkan untuk database atau tabel tertentu, klik kanan objek sinkronisasi di kotak Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL tersebut.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi selengkapnya, lihat Petakan nama tabel dan kolom.
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan membahayakan bisnis Anda. Misalnya:
Jika skema tabel sama dan suatu catatan di database tujuan memiliki nilai kunci primer atau kunci unik yang sama dengan catatan di database sumber:
Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.
Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.
Jika skema tabel berbeda, sinkronisasi data awal dapat gagal. Hal ini dapat mengakibatkan hanya sebagian data kolom yang disinkronkan atau kegagalan sinkronisasi total. Harap berhati-hati.
Storage Engine Type
Pilih jenis mesin penyimpanan untuk tabel tujuan. Default-nya adalah Beam.
CatatanItem konfigurasi ini tersedia hanya jika versi kernel instans tujuan AnalyticDB for PostgreSQL adalah v7.0.6.6 atau lebih baru dan Synchronization Types diatur ke Schema Synchronization.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih database atau tabel sebagai objek sinkronisasi.
Selected Objects
Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek tersebut di kotak Selected Objects. Untuk informasi selengkapnya tentang mengganti nama objek, lihat Petakan satu database, tabel, atau kolom.
Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Petakan database, tabel, dan kolom secara batch.
CatatanUntuk memfilter data di tabel yang ingin disinkronkan, klik kanan tabel tersebut di bagian Selected Objects. Di kotak dialog yang muncul, konfigurasikan kondisi filter. Untuk informasi selengkapnya, lihat Atur kondisi filter.
Untuk memilih operasi SQL untuk database atau tabel tertentu, klik kanan objek tersebut di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL yang ingin disinkronkan. Untuk informasi selengkapnya, lihat Operasi SQL yang mendukung sinkronisasi inkremental.
Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, sinkronisasi objek dependen lainnya dapat gagal.
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.
Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database.
Jika Anda menggunakan Data Management (DMS) atau gh-ost untuk melakukan perubahan DDL Online di database sumber, Anda dapat memilih apakah akan menyinkronkan data tabel temporary yang dihasilkan oleh perubahan DDL Online tersebut.
PentingTugas DTS tidak mendukung penggunaan tool seperti pt-online-schema-change untuk melakukan perubahan DDL Online. Menggunakan tool tersebut akan menyebabkan tugas DTS gagal.
Metode pemrosesan untuk setiap tahap adalah sebagai berikut: Tahap Schema Synchronization dan Full Data Synchronization tidak mengizinkan operasi DDL yang mengubah skema database atau tabel. Oleh karena itu, tahap-tahap ini tidak dikendalikan oleh kebijakan DDL Online.
Schema Synchronization: Tahap ini tidak dikendalikan oleh kebijakan DDL Online. Tabel temporary terkait dibuat.
Full Data Synchronization: Tahap ini tidak dikendalikan oleh kebijakan DDL Online. Tabel temporary tidak termasuk dalam objek sinkronisasi penuh. Semua tabel yang namanya sesuai dengan ekspresi reguler (
^_(.+)_(?:gho|new)$atau^_(.+)_(?:ghc|del|old)$) difilter.Incremental Data Synchronization: Tahap ini dikendalikan oleh kebijakan DDL Online.
Yes: Menyinkronkan perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh operasi DDL Online.No, Adapt to DMS Online DDL dan No, Adapt to gh-ost: Memfilter perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh tool seperti gh-ost berdasarkan aturan ekspresi reguler.
Yes: Menyinkronkan data tabel temporary yang dihasilkan oleh perubahan DDL Online.
CatatanJika data tabel temporary yang dihasilkan oleh perubahan DDL Online terlalu besar, hal ini dapat menyebabkan latensi sinkronisasi.
No, Adapt to DMS Online DDL: Tidak menyinkronkan data dari tabel temporary yang dihasilkan oleh operasi DDL Online. Hanya menyinkronkan pernyataan DDL asli yang dieksekusi menggunakan Data Management (DMS) di database sumber.
CatatanOpsi ini menyebabkan tabel terkunci di database tujuan.
No, Adapt to gh-ost: Tidak menyinkronkan data dari tabel temporary yang dihasilkan oleh perubahan DDL Online. Mendukung aturan filter kustom. DTS memfilter perubahan data di tabel temporary (misalnya,
_table-name_gho) yang dihasilkan oleh tool seperti gh-ost berdasarkan aturan ekspresi reguler. Anda dapat memodifikasi ekspresi reguler default yang digunakan untuk mencocokkan tabel shadow dan tabel tidak berguna sesuai kebutuhan:Tabel shadow:
^_(.+)_(?:gho|new)$Tabel tidak berguna:
^_(.+)_(?:ghc|del|old)$
CatatanOpsi ini menyebabkan tabel terkunci di database tujuan.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi coba ulang default adalah 720 menit. Anda juga dapat menentukan durasi coba ulang kustom antara 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
CatatanJika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu coba ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, maka durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
Karena DTS menagih berdasarkan waktu proses tugas selama periode coba ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi coba ulang berdasarkan kebutuhan bisnis Anda atau segera rilis instans DTS setelah instans database sumber dan tujuan dirilis.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera mulai melakukan operasi coba ulang berkelanjutan. Durasi coba ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi coba ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
CatatanItem konfigurasi ini tersedia hanya ketika Synchronization Types diatur ke Full Data Synchronization.
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan bisnis Anda. Untuk contoh ini, Anda tidak perlu memilih tag.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan keterlambatan.
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
No: Tidak ada peringatan yang dikonfigurasi.
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan menentukan notifikasi peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan dan peringatan selama konfigurasi tugas.
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasi validasi data untuk petunjuk konfigurasi.
Opsi: Setelah menyelesaikan konfigurasi di atas, Anda dapat mengklik Next: Configure Database and Table Fields untuk mengonfigurasi Type, Primary Key Column, dan Distribution Key untuk tabel yang ingin disinkronkan ke instans tujuan AnalyticDB for PostgreSQL.
CatatanLangkah ini tersedia hanya jika Anda memilih Schema Synchronization untuk Synchronization Types saat mengonfigurasi objek tugas. Anda dapat mengatur Definition Status ke All untuk memodifikasi field-field tersebut.
Anda dapat menentukan beberapa kolom di field Primary Key Column untuk membentuk kunci primer komposit. Dalam hal ini, Anda harus menentukan satu atau beberapa kolom dari Primary Key Column sebagai Distribution Key. Untuk informasi selengkapnya, lihat Kelola tabel dan Definisikan distribusi tabel.
Simpan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung tersebut.
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.
Jika pemeriksaan awal mengembalikan peringatan:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
Beli instans sinkronisasi data.
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara detail.
Kategori
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar saat membuat instans. Cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.
Bayar sesuai penggunaan: Anda ditagih per jam. Cocok untuk kebutuhan jangka pendek. Anda dapat segera merilis instans setelah digunakan untuk menghemat biaya.
Konfigurasi Kelompok Sumber Daya
Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Spesifikasi Link
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.
Durasi Langganan
Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia ketika metode penagihan adalah Subscription.
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Sinkronisasi Data.