Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari kluster sharded MongoDB yang dikelola sendiri pada instance ECS ke instance ApsaraDB for MongoDB, dengan memanfaatkan fitur migrasi data inkremental DTS guna mencapai migrasi lancar dengan downtime minimal.
Topik ini menjelaskan prosedur di Konsol DTS lama. Untuk prosedur di Konsol DTS baru, lihat Migrasi database MongoDB yang dikelola sendiri (kluster sharded) ke instance ApsaraDB for MongoDB (replica set atau kluster sharded).
Cara kerja
DTS memigrasikan kluster sharded satu shard dalam satu waktu. Buat tugas migrasi terpisah untuk setiap shard.
Distribusi data bergantung pada kunci shard yang Anda konfigurasikan. Konfigurasikan sharding data untuk memaksimalkan performa shard.

Prasyarat
Database MongoDB yang dikelola sendiri harus menggunakan versi 3.0 atau lebih baru.
Pastikan setiap shard pada instans kluster sharded tujuan memiliki ruang penyimpanan yang cukup.
CatatanSebagai contoh, jika database yang dikelola sendiri pada instance ECS Anda memiliki tiga shard dan yang terbesar menggunakan penyimpanan sebesar 500 GB, maka setiap shard pada instans kluster sharded tujuan harus memiliki ruang penyimpanan lebih dari 500 GB.
Catatan penggunaan
-
Migrasi data penuh meningkatkan beban pada database sumber maupun tujuan. Jalankan migrasi selama jam sepi untuk menghindari gangguan layanan.
-
Saat melakukan migrasi lintas versi atau mesin penyimpanan, verifikasi kompatibilitas terlebih dahulu di Versi dan mesin penyimpanan.
-
DTS menulis data secara konkuren, sehingga database tujuan mungkin menggunakan ruang penyimpanan hingga 5%–10% lebih banyak daripada sumber.
-
Pastikan database tujuan tidak memiliki dokumen dengan primary key yang sama (_id secara default) seperti pada sumber. Jika terjadi konflik dan penghapusan tidak berdampak pada bisnis Anda, hapus dokumen yang bentrok dari tujuan sebelum migrasi.
-
Database admin dan local tidak dapat digunakan sebagai sumber maupun tujuan.
-
Kluster sharded MongoDB sumber dapat memiliki maksimal 10 node mongos.
Penagihan
|
Jenis migrasi |
Biaya konfigurasi tugas |
Biaya traffic internet |
|
Full data migration |
Gratis. |
Data yang dimigrasikan keluar dari Alibaba Cloud melalui internet publik akan dikenai biaya. Harga DTS. |
|
Incremental data migration |
Dikenai biaya. .Harga DTS |
Jenis migrasi
Full data migration: Memigrasikan semua data yang ada dari objek yang dipilih dari database MongoDB sumber ke database MongoDB tujuan.
CatatanIni mencakup database, koleksi, dan indeks.
Incremental data migration: Menangkap dan mereplikasi perubahan data dari sumber ke tujuan secara real time setelah migrasi data penuh selesai.
CatatanIni mencakup pembuatan dan penghapusan database, koleksi, serta indeks.
Ini juga mencakup penyisipan, penghapusan, dan pembaruan dokumen.
Izin yang diperlukan untuk akun database
Sumber data | Full data migration | Incremental data migration |
Database MongoDB yang dikelola sendiri pada instance ECS | izin read pada database sumber | izin read pada database sumber, database admin, dan database local |
Instance ApsaraDB for MongoDB | izin readWrite pada database tujuan | izin readWrite pada database tujuan |
Untuk membuat akun dan memberikan izin:
Instance ApsaraDB for MongoDB: Lihat Kelola pengguna database MongoDB menggunakan DMS.
Database MongoDB yang dikelola sendiri: Lihat db.createUser().
Persiapan
Sebelum memulai migrasi data, nonaktifkan balancer dan bersihkan dokumen orphaned di database sumber. Untuk informasi lebih lanjut, lihat Persiapan untuk migrasi database kluster sharded.
Prosedur
- Login ke Konsol DTS.
Di panel navigasi kiri, klik Data Migration.
Di bagian atas halaman Data Migration Tasks, pilih wilayah instance ApsaraDB for MongoDB tujuan.
Di pojok kanan atas, klik Create Data Migration Task.
Konfigurasikan informasi source and destination database.
Kategori
Pengaturan
Deskripsi
Task Name
-
DTS secara otomatis menghasilkan nama tugas. Nama tugas tidak perlu unik.
Anda dapat mengubah nama tersebut. Tentukan nama deskriptif agar mudah diidentifikasi.
Source database
Instance type
Pilih Self-managed Database on ECS.
Instance region
Pilih wilayah instance ECS.
ECS instance ID
DTS memigrasikan kluster sharded dengan memigrasikan setiap shard secara individual. Untuk tugas ini, pilih ID instance ECS dari shard pertama.
Saat membuat tugas migrasi berikutnya, pilih ID instance ECS dari shard kedua, dan seterusnya, hingga semua shard termigrasi.
Database type
Pilih MongoDB.
Port
Masukkan port layanan shard pertama.
Saat membuat tugas migrasi berikutnya, masukkan port layanan shard kedua, dan seterusnya, hingga semua shard termigrasi.
Database name
Masukkan nama database autentikasi.
Database account
Masukkan akun untuk menghubungkan ke database MongoDB yang dikelola sendiri. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database password
Masukkan password untuk akun database.
CatatanSetelah Anda mengonfigurasi informasi database sumber, klik Test Connectivity di samping kolom Database Password untuk memverifikasi pengaturan. Jika pengaturan valid, pesan Passed akan muncul. Jika muncul pesan Failed, klik Diagnose di samping pesan Failed tersebut dan sesuaikan pengaturan berdasarkan hasilnya.
Destination database
Instance type
Pilih MongoDB Instance.
Instance region
Pilih wilayah instance ApsaraDB for MongoDB tujuan.
MongoDB instance ID
Pilih ID instance ApsaraDB for MongoDB tujuan.
Database name
Masukkan nama database autentikasi.
Database account
Masukkan akun untuk menghubungkan ke instance ApsaraDB for MongoDB tujuan. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database password
Masukkan password untuk akun database.
CatatanSetelah Anda mengonfigurasi informasi database tujuan, klik Test Connectivity di samping kolom Database Password untuk memverifikasi pengaturan. Jika pengaturan valid, pesan Passed akan muncul. Jika muncul pesan Failed, klik Diagnose di samping pesan Failed tersebut dan sesuaikan pengaturan berdasarkan hasilnya.
Di pojok kanan bawah halaman, klik Test Connectivity and Proceed.
CatatanJika database sumber atau tujuan adalah instance database Alibaba Cloud seperti ApsaraDB for MongoDB atau database yang dikelola sendiri pada instance ECS, DTS secara otomatis menambahkan rentang alamat IP server DTS di wilayah yang sesuai ke daftar putih instance database Alibaba Cloud atau aturan keamanan instance ECS. Anda tidak perlu menambahkannya secara manual. Untuk informasi lebih lanjut, lihat Blok CIDR server DTS.
Jika database sumber atau tujuan adalah database yang dikelola sendiri, menambahkan rentang alamat IP publik server DTS untuk mengizinkan akses dapat menimbulkan risiko keamanan. Gunakan metode koneksi yang lebih aman, seperti menggunakan password kuat, membatasi port yang diizinkan, atau menghubungkan melalui jaringan internal dengan Express Connect, VPN Gateway, atau Smart Access Gateway.
Setelah tugas DTS selesai atau dirilis, hapus secara manual rentang alamat IP server DTS.
Pilih jenis dan objek migrasi.
Pengaturan
Deskripsi
Migration type
Untuk hanya melakukan full data migration, pilih Full Data Migration.
CatatanUntuk memastikan konsistensi data, jangan menulis data baru ke database MongoDB yang dikelola sendiri selama full data migration.
Untuk migrasi dengan downtime minimal, pilih keduanya: Full Data Migration dan Incremental Data Migration.
Source Objects
Di kotak Source Objects, pilih objek yang akan dimigrasikan lalu klik
untuk memindahkannya ke kotak Selected Objects. CatatanAnda tidak dapat memigrasikan database admin dan local.
Database config adalah database sistem internal. Jangan memigrasikannya kecuali benar-benar diperlukan.
Anda dapat memilih objek pada level database atau koleksi/fungsi.
Untuk mengganti nama objek di database tujuan, gunakan fitur pemetaan nama objek. Untuk informasi lebih lanjut, lihat Pemetaan nama database, tabel, dan kolom.
Setelah menyelesaikan pengaturan di atas, klik Next: Precheck and Start Task di pojok kanan bawah.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan Pemeriksaan Awal. Tugas hanya akan dimulai setelah lulus Pemeriksaan Awal.
-
Jika Pemeriksaan Awal gagal, klik View Details di samping item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan kembali Pemeriksaan Awal.
-
Jika muncul peringatan selama Pemeriksaan Awal:
-
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di samping item yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan kembali Pemeriksaan Awal.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan tersebut dan menjalankan kembali Pemeriksaan Awal. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
Setelah Pemeriksaan Awal berhasil, klik Next.
Di halaman Purchase, pilih Instance Class dan centang kotak Data Transmission Service (Pay-As-You-Go) Service Terms.
Klik Buy and Start untuk memulai tugas migrasi.
Ulangi langkah 4 hingga 11 untuk membuat tugas migrasi bagi shard yang tersisa.
-
Selesaikan tugas migrasi.
-
Full data migration
Jangan menghentikan tugas secara manual karena dapat menyebabkan kehilangan data. Tugas akan berhenti secara otomatis saat selesai.
-
Incremental data migration
Tugas tidak berhenti secara otomatis. Hentikan secara manual.
CatatanHentikan selama jam sepi atau saat Anda siap beralih ke instance ApsaraDB for MongoDB.
-
Tunggu hingga semua tugas migrasi shard menampilkan status Incremental Data Migration dan Undelayed. Lalu hentikan penulisan ke database sumber selama beberapa menit. Status Incremental Data Migration mungkin menunjukkan latensi sementara.
-
Saat status Incremental Data Migration untuk semua tugas migrasi shard kembali ke Undelayed, hentikan tugas secara manual. Pilih semua tugas migrasi, pastikan semuanya menampilkan status Undelayed, lalu klik tombol Stop di bagian bawah halaman untuk menyelesaikan migrasi.
-
-
Beralihlah ke instance ApsaraDB for MongoDB untuk menjalankan bisnis Anda.