Data Transmission Service (DTS) mereplikasi skema tabel dan mengalirkan perubahan inkremental dari kluster PolarDB for MySQL ke proyek DataHub untuk mendukung pipeline ekstrak, transformasi, dan muat (ETL) secara real-time serta analitik downstream.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Mengaktifkan DataHub dan membuat proyek untuk menerima data yang dimigrasikan. Untuk informasi selengkapnya, lihat Memulai DataHub dan Kelola proyek.
Memverifikasi bahwa ruang penyimpanan yang tersedia pada proyek DataHub tujuan melebihi total ukuran data di kluster PolarDB for MySQL sumber.
Jenis migrasi dan operasi SQL
Jenis migrasi
Schema migration: DTS memigrasikan skema objek yang dipilih dari database sumber ke database tujuan.
Incremental data migration: Setelah migrasi data penuh selesai, DTS terus-menerus memigrasikan data inkremental dari sumber ke tujuan. Hal ini menjaga sinkronisasi data tanpa mengganggu layanan aplikasi.
Untuk jalur migrasi ini, pilih Schema Migration atau Incremental Data Migration berdasarkan kebutuhan bisnis Anda.
Operasi SQL untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| Data Manipulation Language (DML) | INSERT, UPDATE, dan DELETE |
| DDL | ALTER TABLE dan TRUNCATE TABLE |
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya traffic Internet |
|---|---|---|
| Schema migration dan full data migration | Gratis | Dikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
| Incremental data migration | Dikenakan biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Izin yang diperlukan
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Kluster PolarDB for MySQL | Izin baca pada objek yang akan dimigrasikan | Buat dan kelola akun database |
Batasan
DTS tidak memigrasikan foreign keys dari database sumber. Akibatnya, operasi cascade dan delete di database sumber tidak dimigrasikan ke database tujuan.
| Kategori | Batasan |
|---|---|
| Database sumber | Server yang menghosting database sumber harus memiliki outbound bandwidth yang mencukupi. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi. |
| Database sumber | Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIQUE, dan semua field harus unik. Jika tidak, database tujuan mungkin berisi catatan duplikat. |
| Database sumber | Saat Anda memilih tabel sebagai objek migrasi dan mengeditnya (misalnya, mengganti nama tabel atau kolom), satu tugas mendukung hingga 1.000 tabel. Untuk memigrasikan lebih dari 1.000 tabel, buat beberapa tugas atau migrasikan seluruh database. |
| Database sumber | Untuk migrasi data inkremental, aktifkan binary logging dan atur parameter loose_polar_log_bin ke on. Jika tidak, pemeriksaan awal akan mengembalikan error dan tugas tidak dapat dimulai. Untuk informasi selengkapnya, lihat Aktifkan binary logging dan Modifikasi parameter. |
| Database sumber | Mengaktifkan binary logging untuk kluster PolarDB for MySQL menimbulkan biaya penyimpanan untuk ruang yang digunakan oleh log biner. |
| Database sumber | Log biner database sumber harus disimpan lebih dari 24 jam. Jika DTS tidak dapat memperoleh log biner, tugas mungkin gagal. Dalam kasus luar biasa, ketidakkonsistenan atau loss data dapat terjadi. Jika Anda tidak memenuhi persyaratan retensi ini, Service Level Agreement (SLA) DTS tidak menjamin keandalan atau kinerja layanan. |
| Database sumber | Jangan melakukan operasi Data Definition Language (DDL) yang mengubah skema database atau tabel selama schema migration. Operasi DDL menyebabkan tugas gagal. |
| Database sumber | Node read-only dari kluster PolarDB for MySQL sumber tidak dapat dimigrasikan. |
| Lainnya | Hanya tabel yang didukung sebagai objek migrasi. Jika kolom ditambahkan ke tabel sumber selama migrasi, kolom baru tersebut tidak dimigrasikan ke proyek DataHub tujuan. |
| Lainnya | Selama full data migration, DTS mengonsumsi resource baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Migrasikan data selama jam sepi. |
| Lainnya | DTS menggunakan fungsi ROUND(COLUMN, PRECISION) untuk mengambil nilai dari kolom FLOAT dan DOUBLE. Jika Anda tidak menentukan presisi, DTS menggunakan 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa pengaturan presisi ini memenuhi kebutuhan bisnis Anda. |
| Lainnya | DTS berusaha melanjutkan tugas yang gagal dalam tujuh hari terakhir. Sebelum Anda memindahkan workload ke database tujuan, hentikan atau rilis tugas migrasi. Anda juga dapat menjalankan pernyataan REVOKE untuk mencabut izin tulis dari akun DTS pada database tujuan. Jika tidak, tugas yang dilanjutkan dapat menimpa data di database tujuan. |
| Lainnya | Jangan gunakan alat seperti pt-online-schema-change untuk melakukan operasi DDL pada objek selama migrasi. Operasi DDL dari alat eksternal dapat menyebabkan tugas gagal. |
| Catatan penggunaan | DTS secara berkala mengeksekusi `CREATE DATABASE IF NOT EXISTS test ` di database sumber untuk memajukan posisi file log biner. |
Prosedur
Langkah 1: Buka halaman migrasi data
Login ke Konsol Data Management (DMS).
Pada bilah navigasi atas, arahkan pointer ke DTS.
Pilih DTS (DTS) > Data Migration.
Operasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS. Anda juga dapat langsung menuju Halaman Data Migration di Konsol DTS baru.
Dari daftar drop-down di sisi kanan Data Migration Tasks, pilih wilayah tempat instans migrasi data Anda berada.
Di Konsol DTS baru, pilih wilayah di pojok kiri atas.
Langkah 2: Konfigurasikan database sumber dan tujuan
Klik Create Task.
Pada halaman Create Data Migration Task, konfigurasikan database sumber dan tujuan.
Source Database
Parameter Deskripsi Task Name DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif untuk mengidentifikasi tugas. Nama tidak perlu unik. Select DMS Database Instance Opsional. Pilih instans yang sudah ada untuk mengisi parameter database secara otomatis. Jika tidak memilih, konfigurasikan parameter secara manual. Database Type Pilih PolarDB for MySQL. Connection Type Pilih Alibaba Cloud Instance. Instance Region Pilih wilayah tempat instans PolarDB for MySQL sumber berada. Cross-account Pilih No jika sumber dan tujuan berada dalam Akun Alibaba Cloud yang sama. PolarDB Cluster ID Pilih ID kluster PolarDB for MySQL sumber. Database Account Masukkan akun database kluster PolarDB for MySQL sumber. Akun harus memiliki izin baca pada objek yang akan dimigrasikan. Database Password Masukkan password untuk akun database. Destination Database
Parameter Deskripsi Select DMS Database Instance Opsional. Pilih instans yang sudah ada untuk mengisi parameter database secara otomatis. Jika tidak memilih, konfigurasikan parameter secara manual. Database Type Pilih DataHub. Connection Type Pilih Alibaba Cloud Instance. Instance Region Pilih wilayah tempat proyek DataHub tujuan berada. Project Pilih ID proyek DataHub tujuan. Di bagian bawah halaman, klik Test Connectivity and Proceed. DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instans database Alibaba Cloud, atau ke aturan grup keamanan instans Elastic Compute Service (ECS) yang menghosting database yang dikelola sendiri. Untuk database yang dikelola sendiri di pusat data atau dari penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih alamat IP database. Untuk informasi selengkapnya, lihat Blok CIDR server DTS.
PeringatanMenambahkan blok CIDR publik server DTS ke daftar putih database atau grup keamanan ECS menimbulkan risiko keamanan. Ambil langkah pencegahan seperti memperkuat keamanan username dan password, membatasi port yang terbuka, mengautentikasi panggilan API, melakukan audit berkala terhadap aturan daftar putih atau grup keamanan, melarang blok CIDR yang tidak sah, dan menghubungkan ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 3: Konfigurasikan objek migrasi dan pengaturan
Konfigurasikan objek yang akan dimigrasikan dan pengaturan migrasi.
Parameter Deskripsi Migration Types Pilih Schema Migration atau Incremental Data Migration sesuai kebutuhan Anda. CatatanJika Anda tidak memilih Incremental Data Migration, jangan menulis data ke database sumber selama migrasi agar konsistensi data tetap terjaga.
Processing Mode of Conflicting Tables Naming Rules of Additional Columns Setelah DTS memigrasikan data ke DataHub, DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom bertentangan dengan kolom yang sudah ada, migrasi gagal. Pilih New Rule atau Previous Rule sesuai kebutuhan Anda. PeringatanSebelum mengonfigurasi parameter ini, periksa konflik nama antara kolom tambahan dan kolom yang sudah ada. Untuk informasi selengkapnya, lihat Aturan penamaan untuk kolom tambahan.
Capitalization of Object Names in Destination Instance Atur aturan kapitalisasi untuk nama database, tabel, dan kolom. Nilai default adalah DTS default policy. Untuk informasi selengkapnya, lihat Tentukan kapitalisasi nama objek di instans tujuan. Source Objects Pilih objek dari bagian Source Objects dan klik ikon panah kanan untuk menambahkannya ke Selected Objects. CatatanPilih tabel atau database sebagai objek migrasi. Memilih tabel mengecualikan view, trigger, dan prosedur tersimpan.
Selected Objects Untuk mengganti nama objek, klik kanan objek tersebut di bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek tunggal. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus. CatatanMengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan. Untuk memfilter data, klik kanan objek di Selected Objects dan tentukan kondisi WHERE. Untuk informasi selengkapnya, lihat Tentukan kondisi filter. Untuk memilih operasi SQL tertentu untuk database atau tabel, klik kanan objek di Selected Objects dan pilih operasi yang akan dimigrasikan.
Klik Next: Advanced Settings.
Parameter Deskripsi Monitoring and Alerting Konfigurasikan peringatan untuk tugas. Saat diaktifkan, kontak peringatan menerima notifikasi jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS. Configure ETL Aktifkan atau nonaktifkan fitur ETL. Saat diaktifkan, masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Apa itu ETL? dan Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data.
Langkah 4: Jalankan pemeriksaan awal dan beli instans
Klik Next: Save Task Settings and Precheck. Anda dapat mengarahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters untuk melihat parameter API untuk tugas ini.
Jika item pemeriksaan awal gagal, klik View Details di sebelah item tersebut. Analisis penyebabnya, perbaiki masalah, dan jalankan pemeriksaan awal lagi.
Jika item pemeriksaan awal memicu peringatan yang dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore di kotak dialog View Details, dan klik OK. Kemudian klik Precheck Again. Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data dan risiko bisnis.
DTS menjalankan pemeriksaan awal sebelum tugas dimulai. Tugas hanya akan dimulai setelah pemeriksaan awal berhasil.
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasikan pengaturan instans.
Parameter Deskripsi Resource Group Kelompok sumber daya untuk instans migrasi data. Nilai default adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management? Instance Class Pilih kelas instans berdasarkan kebutuhan kecepatan migrasi Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data. Baca dan centang kotak Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di pesan konfirmasi, klik OK. Lihat progres migrasi di halaman Data Migration.