Layanan Transmisi Data (DTS) menyinkronkan data dari instans PolarDB-X 1.0 ke instans AnalyticDB for PostgreSQL sehingga Anda dapat memusatkan beban kerja analitis tanpa perlu membangun pipa data kustom.
Prasyarat
Sebelum memulai, pastikan hal-hal berikut:
Jenis penyimpanan instans PolarDB-X 1.0 adalah ApsaraDB RDS for MySQL. PolarDB for MySQL tidak didukung.
Instans AnalyticDB for PostgreSQL sudah ada, dan kapasitas penyimpanannya melebihi kapasitas penyimpanan yang digunakan oleh instans sumber PolarDB-X 1.0. Untuk petunjuknya, lihat Buat instans.
Database tujuan telah dibuat di instans AnalyticDB for PostgreSQL. Untuk sintaksis SQL, lihat bagian "CREATE DATABASE" pada sintaksis SQL.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. |
Operasi SQL yang didukung
| Jenis operasi | Pernyataan |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Operasi DDL tidak disinkronkan.
Izin akun yang diperlukan
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Instans sumber PolarDB-X 1.0 | Izin baca pada objek yang akan disinkronkan | Kelola akun |
| Instans tujuan AnalyticDB for PostgreSQL | Izin baca dan tulis pada database tujuan. Akun awal atau akun dengan izin RDS_SUPERUSER juga dapat digunakan. | Buat dan kelola akun database dan Kelola pengguna dan izin |
Batasan
Persyaratan database sumber
Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua bidang dalam kendala tersebut harus unik. Tanpa ini, database tujuan mungkin berisi catatan duplikat.
Tabel yang hanya memiliki kendala UNIQUE tidak mendukung sinkronisasi skema. Gunakan tabel dengan kendala PRIMARY KEY jika memungkinkan.
Tabel dengan indeks sekunder tidak dapat disinkronkan.
Jika Anda memilih tabel sebagai objek dan berencana mengganti nama tabel atau kolom di tujuan, satu tugas dapat menyinkronkan hingga 5.000 tabel. Melebihi batas ini menyebabkan error permintaan. Bagi pekerjaan menjadi beberapa tugas, atau lakukan sinkronisasi pada tingkat database.
Parameter
binlog_row_imagedari instans ApsaraDB RDS for MySQL yang terhubung harus diatur kefull. Jika tidak, pemeriksaan awal gagal dan tugas tidak dapat dimulai.Retensi log biner: Jika periode retensi terlalu singkat, DTS mungkin gagal membaca log biner, yang dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data. Perjanjian tingkat layanan (SLA) DTS tidak mencakup kegagalan yang disebabkan oleh retensi log biner yang tidak mencukupi.
Incremental data synchronization only: Simpan log biner selama minimal 24 jam.
Sinkronisasi data penuh + sinkronisasi data inkremental: Pertahankan log biner setidaknya selama 7 hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam.
Pembatasan selama sinkronisasi
Jika Anda mengubah jenis jaringan instans PolarDB-X 1.0 selama sinkronisasi, perbarui pengaturan koneksi jaringan tugas DTS agar sesuai.
Jangan melakukan penskalaan kapasitas instans sumber, mengubah distribusi database fisik dan tabel, mengubah kunci shard, atau melakukan operasi DDL pada instans sumber. Tindakan ini dapat menyebabkan tugas gagal atau menghasilkan data yang tidak konsisten.
Jangan menyinkronkan tabel yang sering diakses selama jam sibuk.
Batasan lainnya
Tabel tujuan tidak boleh merupakan tabel append-optimized (AO).
Tipe data berikut tidak didukung: GEOMETRY, CURVE, SURFACE, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION.
Jika pemetaan kolom digunakan, atau jika skema sumber dan tujuan berbeda, data di kolom sumber yang tidak ada di tujuan akan hilang.
Instans read-only pada lapisan komputasi PolarDB-X 1.0 tidak didukung.
PolarDB-X 1.0 hanya mendukung pemisahan horizontal (berdasarkan database dan tabel). Pemisahan vertikal tidak didukung.
Ketika DTS menyinkronkan instans PolarDB-X 1.0, data didistribusikan ke instans ApsaraDB RDS for MySQL yang terhubung dan menjalankan satu subtugas per instans. Status subtugas muncul di Task Topology.
Dampak performa
Selama sinkronisasi data penuh awal, DTS membaca dari sumber dan menulis ke tujuan secara bersamaan. Hal ini meningkatkan beban pada kedua database. Jadwalkan sinkronisasi data penuh selama jam sepi.
Setelah sinkronisasi data penuh awal selesai, operasi INSERT bersamaan menyebabkan fragmentasi tabel di tujuan. Ruang tabel yang digunakan di database tujuan akan lebih besar daripada di sumber.
Untuk mencegah ketidakkonsistenan data, hindari menulis ke database tujuan dari proses lain selama tugas DTS sedang berjalan.
Siapkan sinkronisasi data
Langkah 1: Buka halaman Sinkronisasi Data
Gunakan salah satu konsol berikut:
Konsol DTS
Masuk ke Konsol DTS.Konsol DTS
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas, pilih wilayah tempat instans sinkronisasi berada.
Konsol DMS
Langkah-langkahnya dapat berbeda tergantung pada mode dan tata letak konsol DMS Anda. Untuk detailnya, lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS.
Masuk ke Konsol DMS.Konsol DMS
Di bilah navigasi atas, arahkan pointer ke Data + AI lalu pilih DTS (DTS) > Data Synchronization.
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
Langkah 2: Buat tugas
Klik Create Task untuk membuka wizard tugas.
Pengaturan tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. |
Database sumber
| Parameter | Deskripsi |
|---|---|
| Pilih instans database DMS yang sudah ada | Opsional. Jika Anda memilihnya, DTS akan mengisi parameter di bawah ini secara otomatis. |
| Database Type | Pilih PolarDB-X 1.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans sumber PolarDB-X 1.0 berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk sinkronisasi dalam akun yang sama. |
| Instance ID | ID instans sumber PolarDB-X 1.0. |
| Database Account | Akun dengan izin baca yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Pilih instans database DMS yang sudah ada | Opsional. Jika Anda memilihnya, DTS akan mengisi parameter di bawah ini secara otomatis. |
| Database Type | Pilih AnalyticDB for PostgreSQL. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans tujuan AnalyticDB for PostgreSQL berada. |
| Instance ID | ID instans tujuan AnalyticDB for PostgreSQL. |
| Database Name | Database tujuan yang akan menerima data yang disinkronkan. |
| Database Account | Akun dengan izin baca dan tulis pada database tujuan. |
| Database Password | Kata sandi untuk akun database. |
Langkah 3: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud dan ke aturan grup keamanan instans Elastic Compute Service (ECS) yang menghosting database yang dikelola sendiri. Untuk database di pusat data atau penyedia cloud pihak ketiga, tambahkan blok CIDR secara manual. Lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR DTS ke daftar putih atau aturan grup keamanan Anda menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan: gunakan kredensial yang kuat, batasi port yang terbuka, autentikasi panggilan API, tinjau entri daftar putih secara berkala, dan hapus blok CIDR yang tidak sah. Atau, hubungkan DTS ke database Anda melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 4: Konfigurasi objek dan opsi sinkronisasi
Synchronization types
Pilih fase mana yang akan dijalankan:
| Opsi | Deskripsi |
|---|---|
| Schema Synchronization | Menyalin skema tabel dari sumber ke tujuan. Diperlukan jika Anda ingin DTS membuat tabel secara otomatis. |
| Full Data Synchronization | Menyalin semua data yang ada dari sumber. Diperlukan sebagai garis dasar untuk sinkronisasi inkremental. |
| Incremental Data Synchronization | Secara terus-menerus menerapkan perubahan DML (INSERT, UPDATE, DELETE) dari sumber setelah sinkronisasi penuh selesai. Dikenai biaya. |
Secara default, Incremental Data Synchronization telah dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization untuk mendapatkan pipeline sinkronisasi lengkap dan berkelanjutan.
Mode pemrosesan untuk tabel yang bentrok
| Mode | Perilaku |
|---|---|
| Precheck and Report Errors | Pemeriksaan awal gagal jika tujuan berisi tabel dengan nama yang sama seperti sumber. Selesaikan bentrokan tersebut sebelum memulai. Untuk mengganti nama tabel di tujuan, gunakan Map object names. |
| Ignore Errors and Proceed | Melewati pemeriksaan awal nama identik. Selama sinkronisasi penuh, catatan yang sudah ada di tujuan tetap dipertahankan jika berbagi kunci primer atau kunci unik dengan catatan sumber. Selama sinkronisasi inkremental, catatan yang cocok akan ditimpa. Jika skema berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan. Gunakan dengan hati-hati. |
Pengaturan tingkat objek lainnya
| Parameter | Deskripsi |
|---|---|
| Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default-nya adalah DTS default policy. Lihat Specify the capitalization of object names. |
| Source Objects | Pilih objek dan pindahkan ke Selected Objects. Hanya tabel yang dapat dipilih. |
| Selected Objects | Klik kanan tabel untuk mengganti namanya atau mengatur kondisi filter. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Jika Anda mengganti nama objek, objek dependen mungkin gagal disinkronkan. Lihat Map object names dan Specify filter conditions. |
Langkah 5: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings.
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menjadwalkan tugas ke kluster bersama. Untuk stabilitas yang lebih tinggi, beli dan tentukan kluster khusus. Lihat What is a DTS dedicated cluster. |
| Set Alerts | Mengirim notifikasi ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Pilih Yes untuk mengonfigurasi ambang batas peringatan dan pengaturan notifikasi. Lihat Configure monitoring and alerting. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang setelah kegagalan koneksi. Rentang valid: 10–1440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika Anda mengonfigurasi beberapa tugas dengan sumber atau tujuan yang sama, waktu coba ulang terpendek berlaku untuk semua tugas. DTS mengenakan biaya untuk instans selama upaya coba ulang. |
| Retry Time for Other Issues | Berapa lama DTS mencoba ulang setelah kegagalan DDL atau DML. Rentang valid: 1–1440 menit. Default: 10 menit. Atur lebih dari 10 menit. Nilai ini harus kurang dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi beban pada sumber dan tujuan selama sinkronisasi data penuh. Konfigurasi Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengontrol throughput. Muncul hanya jika Full Data Synchronization dipilih. |
| Enable Throttling for Incremental Data Synchronization | Membatasi RPS dan throughput (MB/s) untuk sinkronisasi inkremental. |
| Environment Tag | Memberi tag instans DTS berdasarkan jenis lingkungan, seperti produksi atau staging. |
| Configure ETL | Mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode. Lihat Configure ETL in a data migration or data synchronization task. |
Langkah 6: (Opsional) Konfigurasi bidang tabel untuk AnalyticDB for PostgreSQL
Jika Anda memilih Schema Synchronization, klik Next: Configure Database and Table Fields untuk menentukan cara pembuatan tabel di tujuan.
Atur Definition Status ke All untuk melihat dan mengubah semua tabel.
| Bidang | Deskripsi |
|---|---|
| Type | Jenis penyimpanan tabel di AnalyticDB for PostgreSQL. |
| Primary Key Column | Tentukan satu atau beberapa kolom sebagai kunci primer. Beberapa kolom membentuk kunci primer komposit. |
| Distribution Key | Tentukan satu atau beberapa kolom kunci primer sebagai kunci distribusi. Setidaknya satu kolom kunci primer harus ditetapkan sebagai kunci distribusi. Lihat Kelola tabel dan Definisikan distribusi tabel. |
Langkah 7: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat parameter API untuk konfigurasi tugas ini sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Hasil pemeriksaan awal terbagi menjadi dua kategori:
Gagal: Item pemeriksaan menghalangi tugas untuk dimulai. Perbaiki masalah tersebut lalu klik Precheck Again.
Peringatan: Tugas dapat dilanjutkan, tetapi masalah tersebut mungkin memengaruhi data atau bisnis Anda. Tinjau setiap item peringatan dan putuskan apakah akan menyelesaikannya atau mengakui dan melanjutkan: Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Untuk menyelesaikan: perbaiki masalah, lalu klik Precheck Again.
Untuk mengakui: klik Confirm Alert Details, lalu klik Ignore di kotak dialog, klik OK, lalu klik Precheck Again.
Langkah 8: Beli dan mulai instans
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman buy, konfigurasikan instans:
| Bagian | Parameter | Deskripsi |
|---|---|---|
| New Instance Class | Billing Method | Subscription: Bayar di muka untuk jangka waktu tetap. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan biaya. |
| Resource Group Settings | Kelompok sumber daya untuk instans sinkronisasi. Default: default resource group. | |
| Instance Class | Menentukan throughput sinkronisasi. Lihat Instance classes of data synchronization instances. | |
| Subscription Duration | Tersedia saat Subscription dipilih. Opsi: 1–9 bulan, atau 1, 2, 3, atau 5 tahun. |
Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di kotak dialog konfirmasi, klik OK.
Tugas muncul di daftar tugas. Pantau perkembangannya dari sana.