Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data antar instans ApsaraDB RDS. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Saat mengonfigurasi tugas migrasi data, Anda dapat memilih semua jenis migrasi yang didukung untuk memastikan kontinuitas layanan.
Prasyarat
Tipe database dari instans ApsaraDB RDS harus memenuhi persyaratan berikut.
Database sumber | Database tujuan |
ApsaraDB RDS for MySQL ApsaraDB RDS for MariaDB | ApsaraDB RDS for MySQL ApsaraDB RDS for MariaDB |
ApsaraDB RDS for SQL Server | ApsaraDB RDS for SQL Server |
ApsaraDB RDS for PostgreSQL | ApsaraDB RDS for PostgreSQL |
Peringatan
Migrasi data tidak memengaruhi data pada database sumber. Selama proses migrasi, DTS membaca data dari database sumber dan menyalinnya ke database tujuan tanpa menghapus data di database sumber. Untuk informasi lebih lanjut, lihat Cara kerja DTS dalam mode migrasi data.
DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan selama migrasi data penuh. Hal ini dapat meningkatkan beban server database. Jika performa database buruk, spesifikasi rendah, atau volume data besar, layanan database mungkin menjadi tidak tersedia. Contohnya, DTS menggunakan banyak sumber daya baca dan tulis dalam kasus berikut: sejumlah besar kueri SQL lambat dilakukan pada database sumber, tabel tidak memiliki kunci utama, atau terjadi deadlock di database tujuan. Sebelum memigrasikan data, evaluasi dampak migrasi data terhadap performa database sumber dan tujuan. Kami merekomendasikan untuk memigrasikan data selama jam-jam sepi, misalnya ketika utilisasi CPU dari database sumber dan tujuan kurang dari 30%.
Tabel yang akan dimigrasikan di database sumber harus memiliki batasan PRIMARY KEY atau UNIQUE, serta semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.
Untuk memastikan konsistensi data, kami merekomendasikan agar Anda tidak menulis data ke instans ApsaraDB RDS sumber selama migrasi data penuh.
Jika tugas migrasi data gagal dan berhenti, DTS secara otomatis melanjutkan tugas tersebut. Sebelum memindahkan beban kerja ke instans tujuan, hentikan atau lepaskan tugas migrasi data. Jika tidak, data di instans sumber akan menimpa data di instans tujuan setelah tugas dilanjutkan.
DTS secara otomatis membuat database di instans ApsaraDB RDS tujuan. Namun, jika nama database sumber tidak memenuhi konvensi penamaan ApsaraDB RDS, Anda harus secara manual membuat database di instans ApsaraDB RDS tujuan sebelum mengonfigurasi tugas migrasi data.
CatatanUntuk informasi lebih lanjut tentang konvensi penamaan ApsaraDB RDS dan cara membuat database, lihat Buat Akun dan Database.
Jika Anda memigrasikan data antar instans ApsaraDB RDS for PostgreSQL, perhatikan batasan berikut: Setelah beban kerja dipindahkan ke database tujuan, urutan yang baru ditulis tidak bertambah dari nilai maksimum urutan di database sumber. Oleh karena itu, Anda harus memeriksa nilai maksimum urutan di database sumber sebelum memindahkan beban kerja ke database tujuan. Kemudian, tetapkan nilai maksimum yang diperiksa sebagai nilai awal urutan di database tujuan. Anda dapat menjalankan pernyataan berikut untuk memeriksa nilai maksimum urutan di database sumber:
do language plpgsql $$ declare nsp name; rel name; val int8; begin for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S' loop execute format($_$select last_value from %I.%I$_$, nsp, rel) into val; raise notice '%', format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1); end loop; end; $$;
Aturan penagihan
Tipe migrasi | Biaya konfigurasi tugas | Biaya lalu lintas internet |
Migrasi skema dan migrasi data penuh | Gratis. | Dikenakan biaya hanya saat data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Migrasi data inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Tipe migrasi
Migrasi Skema
DTS memigrasikan skema objek yang ditentukan dari instans ApsaraDB RDS sumber ke instans ApsaraDB RDS tujuan.
Migrasi Data Penuh
DTS memigrasikan semua data historis objek yang ditentukan dari instans ApsaraDB RDS sumber ke instans ApsaraDB RDS tujuan.
Migrasi Data Inkremental
Setelah migrasi data penuh selesai, DTS menyinkronkan data inkremental dari instans ApsaraDB RDS sumber ke instans ApsaraDB RDS tujuan. Migrasi data inkremental memungkinkan Anda memastikan kontinuitas layanan saat memigrasikan data antar instans ApsaraDB RDS.
Operasi SQL yang dapat disinkronkan selama migrasi data inkremental
Skenario | Tipe operasi | Pernyataan SQL |
| DML | INSERT, UPDATE, DELETE, dan REPLACE |
DDL |
| |
Migrasi data antar instans ApsaraDB RDS for SQL Server | DML | INSERT, UPDATE, dan DELETE Catatan Jika operasi UPDATE hanya memperbarui bidang besar, DTS tidak menyinkronkan operasi tersebut. |
DDL |
| |
Migrasi data antar instans ApsaraDB RDS for PostgreSQL | DML | INSERT, UPDATE, dan DELETE |
DDL |
|
Izin yang diperlukan untuk akun database
Skenario | Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
| Instans sumber | Izin SELECT | Izin SELECT | Izin REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, dan SELECT |
Instans tujuan | Izin baca dan tulis | Izin baca dan tulis | Izin baca dan tulis | |
Migrasi data antar instans ApsaraDB RDS for SQL Server | Instans sumber | Izin SELECT | Izin SELECT | Izin pemilik pada objek yang akan dimigrasikan Catatan Akun istimewa memiliki izin tersebut. |
Instans tujuan | Izin baca dan tulis | Izin baca dan tulis | Izin baca dan tulis | |
Migrasi data antar instans ApsaraDB RDS for PostgreSQL | Instans sumber | Izin USAGE pada pg_catalog | Izin SELECT pada objek yang akan dimigrasikan | rds_superuser Catatan
|
Instans tujuan | Izin CREATE dan USAGE pada objek yang akan dimigrasikan | Izin pemilik database, termasuk izin untuk melakukan operasi INSERT, UPDATE, dan DELETE Catatan Akun standar dari instans ApsaraDB RDS for PostgreSQL memiliki izin tersebut. | Izin pemilik database, termasuk izin untuk melakukan operasi INSERT, UPDATE, dan DELETE Catatan Akun standar dari instans ApsaraDB RDS for PostgreSQL memiliki izin tersebut. |
Prosedur
Masuk ke Konsol DTS.
CatatanJika Anda dialihkan ke Konsol Manajemen Data (DMS), Anda dapat mengklik ikon
di
untuk kembali ke versi sebelumnya dari Konsol DTS.Di panel navigasi di sebelah kiri, klik Data Migration.
Di bagian atas halaman Migration Tasks, pilih wilayah tempat instans RDS berada.
Di pojok kanan atas halaman, klik Create Migration Task.
Konfigurasikan database sumber dan tujuan.

Seksi
Parameter
Deskripsi
Tidak ada
Nama Tugas
Nama tugas yang DTS hasilkan secara otomatis. Kami merekomendasikan agar Anda menentukan nama deskriptif yang mudah diidentifikasi. Anda tidak perlu menentukan nama tugas yang unik.
Database Sumber
Tipe Instans
Pilih RDS Instance.
Wilayah Instans
Wilayah tempat instans sumber berada.
ID Instans RDS
ID instans sumber.
CatatanInstans ApsaraDB RDS sumber dan tujuan bisa sama atau berbeda. Anda dapat menggunakan DTS untuk memigrasikan data dalam satu instans ApsaraDB RDS atau antar dua instans ApsaraDB RDS.
Nama Database
Nama database sumber di instans ApsaraDB RDS for PostgreSQL.
CatatanParameter ini diperlukan hanya jika mesin database dari instans ApsaraDB RDS adalah PostgreSQL.
Akun Database
Akun database dari instans sumber. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.
Kata Sandi Database
Kata sandi akun database.
CatatanSetelah Anda menentukan informasi tentang database sumber, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika informasi valid, pesan Passed akan muncul. Jika pesan Failed muncul, klik Check di sebelah Failed. Lalu, modifikasi informasi berdasarkan hasil pemeriksaan.
Enkripsi
Pilih Non-encrypted atau SSL-encrypted. Jika Anda ingin memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans ApsaraDB RDS sebelum mengonfigurasi tugas. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
CatatanParameter ini diperlukan hanya jika mesin database dari instans ApsaraDB RDS adalah MySQL.
Parameter Encryption hanya tersedia untuk wilayah di daratan Tiongkok dan wilayah China (Hong Kong).
Database Tujuan
Tipe Instans
Pilih RDS Instance.
Wilayah Instans
Wilayah tempat instans tujuan berada.
ID Instans RDS
ID instans tujuan.
CatatanInstans ApsaraDB RDS sumber dan tujuan bisa sama atau berbeda. Anda dapat menggunakan DTS untuk memigrasikan data dalam satu instans ApsaraDB RDS atau antar dua instans ApsaraDB RDS.
Nama Database
Nama database tujuan di instans ApsaraDB RDS for PostgreSQL. Nama database tujuan dapat berbeda dari nama database sumber.
CatatanParameter ini diperlukan hanya jika mesin database dari instans ApsaraDB RDS adalah PostgreSQL.
Akun Database
Akun database dari instans tujuan. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.
Kata Sandi Database
Kata sandi akun database.
CatatanSetelah Anda menentukan informasi tentang instans RDS, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika informasi valid, pesan Passed akan muncul. Jika pesan Failed muncul, klik Check di sebelah Failed. Lalu, modifikasi informasi berdasarkan hasil pemeriksaan.
Enkripsi
Pilih Non-encrypted atau SSL-encrypted. Jika Anda ingin memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans ApsaraDB RDS sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
CatatanParameter ini diperlukan hanya jika mesin database dari instans ApsaraDB RDS adalah MySQL.
Parameter Encryption hanya tersedia untuk wilayah di daratan Tiongkok dan wilayah China (Hong Kong).
Di pojok kanan bawah halaman, klik Set Whitelist and Next.
PeringatanJika blok CIDR server DTS secara otomatis atau manual ditambahkan ke daftar putih database atau instans, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum menggunakan DTS untuk memigrasikan data, Anda harus memahami dan mengetahui potensi risiko serta mengambil langkah-langkah pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: tingkatkan keamanan nama pengguna dan kata sandi Anda, batasi port yang diekspos, autentikasi panggilan API, periksa secara berkala daftar putih atau aturan grup keamanan ECS dan larang blok CIDR yang tidak sah, atau hubungkan database ke DTS dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Pilih objek yang akan dimigrasikan dan jenis migrasi.

Pengaturan
Deskripsi
Pilih jenis migrasi
Pilih jenis migrasi berdasarkan kebutuhan bisnis Anda. Jenis migrasi harus didukung oleh mesin database.
Untuk melakukan hanya migrasi data penuh, pilih Schema Migration dan Full Data Migration.
Untuk memastikan kontinuitas layanan selama migrasi data, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
CatatanJika Incremental Data Migration tidak dipilih, kami merekomendasikan agar Anda tidak menulis data ke instans RDS sumber selama migrasi data. Hal ini memastikan konsistensi data antara instans sumber dan tujuan.
Pilih objek yang akan dimigrasikan
Pilih satu atau beberapa objek dari bagian Available dan klik ikon
untuk memindahkan objek ke bagian Selected.CatatanAnda dapat memilih kolom, tabel, atau database sebagai objek yang akan dimigrasikan. Jika Anda memilih tabel atau kolom sebagai objek yang akan dimigrasikan, DTS tidak akan memigrasikan objek lain seperti tampilan, pemicu, atau prosedur tersimpan ke database tujuan.
Secara default, setelah objek dimigrasikan ke database tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang dimigrasikan ke database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.
Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, objek lain yang bergantung pada objek tersebut mungkin gagal dimigrasikan.
Tentukan apakah akan mengganti nama objek
Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang dimigrasikan ke instans tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.
Tentukan rentang waktu ulang coba untuk koneksi gagal ke database sumber atau tujuan
Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS mencoba ulang dalam 720 menit ke depan, yang sama dengan 12 jam. Anda dapat menentukan rentang waktu ulang coba berdasarkan kebutuhan bisnis Anda. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
CatatanSaat DTS mencoba ulang koneksi, Anda akan dikenakan biaya untuk instans DTS. Kami merekomendasikan agar Anda menentukan rentang waktu ulang coba berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah instans sumber dan tujuan dilepaskan.
Klik Precheck.
CatatanPemeriksaan awal dilakukan sebelum tugas migrasi dimulai. Tugas migrasi hanya dimulai setelah pemeriksaan awal berhasil.
Jika pemeriksaan awal gagal, klik ikon
di sebelah setiap item pemeriksaan yang gagal untuk melihat detail terkait. Perbaiki masalah sesuai instruksi dan jalankan pemeriksaan awal lagi.
Klik Next.
Di kotak dialog Confirm Settings, konfigurasikan parameter Channel Specification. Lalu, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start untuk memulai tugas migrasi data.
Migrasi Data Penuh
Jangan hentikan tugas migrasi data penuh secara manual. Jika Anda menghentikan tugas migrasi data penuh secara manual, data yang dimigrasikan ke instans RDS mungkin tidak lengkap. Anda dapat menunggu hingga tugas migrasi data berhenti secara otomatis.
Migrasi Data Inkremental
Tugas migrasi data inkremental tidak berhenti secara otomatis. Anda harus menghentikan tugas secara manual.
CatatanKami merekomendasikan agar Anda menghentikan tugas migrasi data inkremental pada titik waktu yang tepat. Misalnya, Anda dapat menghentikan tugas selama jam-jam sepi atau sebelum memindahkan beban kerja ke instans ApsaraDB RDS for MySQL.
Tunggu hingga Incremental Data Migration dan The data migration task is not delayed ditampilkan di bilah kemajuan tugas migrasi data. Lalu, hentikan penulisan data ke database sumber selama beberapa menit. Latensi incremental data migration mungkin ditampilkan di bilah kemajuan.
Tunggu hingga status Incremental Data Migration berubah menjadi The data migration task is not delayed lagi. Lalu, hentikan tugas migrasi secara manual.
