Topik ini menjelaskan cara menggunakan Layanan Transmisi Data (DTS) untuk memigrasikan database MongoDB yang dikelola sendiri di-hosting di Elastic Compute Service (ECS) dengan arsitektur kluster sharded ke instans ApsaraDB for MongoDB. DTS dapat digunakan untuk memigrasikan data historis dan inkremental tanpa gangguan bisnis.
Topik ini menjelaskan cara melakukan migrasi data di konsol DTS versi sebelumnya. Untuk informasi lebih lanjut tentang cara memigrasikan data di konsol DTS versi baru, lihat Migrasi Data dari Database MongoDB yang Dikelola Sendiri dengan Arsitektur Kluster Sharded ke Instans Kluster Sharded ApsaraDB for MongoDB.
Cara kerjanya
DTS memigrasikan database MongoDB yang dikelola sendiri dengan memigrasikan setiap shard dalam database. Anda harus membuat tugas migrasi data untuk setiap shard.
Distribusi data di instans MongoDB tujuan bergantung pada kunci sharding yang Anda atur. Untuk informasi lebih lanjut, lihat Konfigurasikan Sharding Data untuk Memaksimalkan Kinerja Shard.

Prasyarat
Database MongoDB yang dikelola sendiri menjalankan MongoDB 3.0 atau yang lebih baru.
Setiap shard di instans kluster sharded tujuan memiliki ruang penyimpanan yang cukup.
CatatanSebagai contoh, sebuah database MongoDB yang dikelola sendiri memiliki tiga shard, dan salah satu shard tersebut menggunakan ruang penyimpanan terbanyak, yaitu 500 GB. Dalam kasus ini, ruang penyimpanan setiap shard di instans ApsaraDB for MongoDB harus lebih besar dari 500 GB.
Catatan penggunaan
DTS mengonsumsi sumber daya dari database sumber dan tujuan selama migrasi data penuh. Hal ini dapat meningkatkan beban pada server database. Jika database Anda menangani beban kerja yang berat atau spesifikasi server tidak mencukupi, kinerja database mungkin terpengaruh. Dalam beberapa kasus, layanan database mungkin menjadi tidak tersedia. Sebelum Anda memigrasikan data, evaluasi dampak migrasi pada database Anda. Kami sarankan Anda memigrasikan data selama jam-jam sepi.
Untuk informasi tentang versi dan mesin penyimpanan yang didukung oleh instans MongoDB, lihat Versi dan Mesin Penyimpanan. Untuk melakukan migrasi lintas versi atau lintas mesin, Anda harus mengonfirmasi kompatibilitas terlebih dahulu.
DTS menulis data ke database tujuan secara bersamaan. Hal ini menyebabkan ruang penyimpanan yang digunakan oleh database tujuan menjadi 5% hingga 10% lebih besar daripada yang digunakan oleh database sumber.
Pastikan bahwa database tujuan tidak memiliki dokumen dengan kunci utama (_id) yang sama dengan database sumber. Jika tidak, data mungkin hilang. Jika database tujuan memiliki dokumen dengan kunci utama yang sama, Anda harus membersihkan data terkait dari database tujuan tanpa memengaruhi layanan Anda. Sebagai contoh, Anda dapat menghapus dokumen di database tujuan yang memiliki nilai _id yang sama dengan dokumen di database sumber.
Database admin dan local tidak dapat digunakan sebagai database sumber atau tujuan.
Instans kluster sharded MongoDB sumber tidak boleh memiliki lebih dari 10 node Mongos.
Penagihan
Jenis Migrasi | Biaya Konfigurasi Tugas | Biaya Transfer Data |
Migrasi data penuh | Gratis. | Biaya berlaku untuk migrasi data dari Alibaba Cloud melalui Internet. Untuk informasi lebih lanjut, lihat Harga DTS. |
Migrasi data inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Harga DTS. |
Jenis Migrasi
Migrasi Data Penuh: Semua data yang ada di database MongoDB sumber dimigrasikan ke database MongoDB tujuan.
CatatanDTS dapat memigrasikan jenis objek berikut: database, koleksi, dan indeks.
Migrasi Data Inkremental: Setelah migrasi data penuh selesai, DTS memigrasikan data inkremental dari database MongoDB sumber ke database MongoDB tujuan.
CatatanDTS dapat memigrasikan operasi pembuatan dan penghapusan yang dilakukan pada database, koleksi, dan indeks.
Mensinkronkan dokumen yang ditambahkan, dihapus, dan diperbarui.
Izin yang diperlukan untuk akun database
Migrasi Sumber Data | Migrasi data penuh | Migrasi data inkremental |
Database MongoDB yang dikelola sendiri di-hosting di ECS | Izin baca pada database sumber | Izin baca pada database sumber, database admin, dan database local |
Instans ApsaraDB for MongoDB tujuan | Izin baca dan tulis pada database tujuan | Izin baca dan tulis pada database tujuan |
Untuk informasi lebih lanjut tentang cara membuat akun database dan memberikan izin kepada akun database, lihat topik-topik berikut:
Instans ApsaraDB for MongoDB: Kelola Izin Pengguna pada Database MongoDB
Database MongoDB yang Dikelola Sendiri: db.createUser()
Persiapan
Nonaktifkan balancer untuk database sumber dan hapus dokumen yatim. Untuk informasi lebih lanjut, lihat Migrasi Database MongoDB yang Dikelola Sendiri dengan Arsitektur Kluster Sharded ke ApsaraDB for MongoDB Menggunakan DTS.
Prosedur
- Masuk ke Konsol DTS.
Di panel navigasi di sebelah kiri, klik Data Migration.
Di bagian atas halaman Migration Tasks, pilih wilayah tempat instans ApsaraDB for MongoDB berada.
Di sudut kanan atas halaman, klik Create Task.
Konfigurasikan source and destination databases.
Bagian
Parameter
Deskripsi
Nama Tugas
-
DTS secara otomatis menghasilkan nama tugas. Anda tidak perlu menggunakan nama tugas yang unik.
Kami sarankan Anda menentukan nama yang dapat membantu Anda mengidentifikasi tugas.
Database Sumber
Tipe Instans
Tipe database sumber. Pilih User-Created Database in ECS Instance.
Wilayah Instans
Wilayah tempat instans ECS diterapkan.
ID Instans ECS.
ID instans ECS. DTS memigrasikan setiap shard dari database sumber secara bergantian. Dalam contoh ini, masukkan ID instans ECS tempat shard pertama diterapkan.
Untuk tugas migrasi kedua, masukkan ID instans ECS tempat shard kedua diterapkan. Anda harus mengulangi prosedur ini hingga semua shard dimigrasikan.
Tipe Database
Tipe database tujuan. Pilih MongoDB.
Nomor Port
Port layanan shard. Dalam contoh ini, masukkan port layanan shard pertama.
Untuk tugas migrasi kedua, masukkan port layanan shard kedua. Anda harus mengulangi prosedur ini hingga semua shard dimigrasikan.
Nama Database
Nama database yang digunakan untuk autentikasi.
Akun Database
Akun yang digunakan untuk terhubung ke database MongoDB yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan untuk akun, lihat Izin yang diperlukan untuk akun database.
Kata Sandi Database
Kata sandi akun database yang digunakan untuk terhubung ke database MongoDB yang dikelola sendiri.
CatatanSetelah Anda menentukan informasi database mandiri sumber, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika parameter yang dikonfigurasi valid, pesan Passed akan muncul. Jika pesan Failed muncul, klik Check di sebelah Failed. Ubah parameter database sumber berdasarkan hasil pemeriksaan.
Database Tujuan
Tipe Instans
Tipe database tujuan. Pilih MongoDB Instance.
Wilayah Instans
Wilayah tempat instans ApsaraDB for MongoDB tujuan berada.
ID Instans MongoDB
ID instans ApsaraDB for MongoDB tujuan.
Nama Database
Nama database yang digunakan untuk autentikasi.
Akun Database
Akun yang digunakan untuk terhubung ke database tujuan. Untuk informasi tentang izin yang diperlukan untuk akun, lihat Izin yang diperlukan untuk akun database.
Kata Sandi Database
Kata sandi akun database yang digunakan untuk terhubung ke database tujuan.
CatatanSetelah Anda menentukan informasi database tujuan, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika informasi valid, pesan Passed akan muncul. Jika informasi tidak valid, pesan Failed akan muncul. Dalam hal ini, Anda harus mengklik Check di sebelah pesan Failed untuk memodifikasi informasi.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
CatatanAnda tidak perlu memodifikasi pengaturan keamanan untuk instans database Alibaba Cloud (seperti instans ApsaraDB RDS for MySQL dan instans ApsaraDB for MongoDB) dan database mandiri yang di-hosting di ECS. DTS secara otomatis menambahkan blok CIDR server DTS ke daftar IP putih instans database Alibaba Cloud atau aturan keamanan instans ECS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS ke Pengaturan Keamanan Database Lokal.
Jika sumber data atau tujuan adalah database mandiri dan blok CIDR publik server DTS ditambahkan ke daftar IP putih database mandiri untuk mengizinkan akses dari server DTS, risiko keamanan mungkin terjadi. Kami sarankan Anda memperkuat autentikasi dengan akun dan kata sandi, membatasi port yang diizinkan, atau terhubung ke database melalui Express Connect, Gateway VPN, atau Gerbang Akses Cerdas.
Setelah migrasi data selesai, kami sarankan Anda menghapus blok CIDR server DTS dari daftar putih.
Pilih jenis migrasi dan objek yang ingin Anda migrasikan.
Parameter
Deskripsi
Jenis Migrasi
Untuk hanya melakukan migrasi data penuh, pilih hanya Full Data Migration.
CatatanUntuk memastikan konsistensi data, jangan tulis data baru ke database MongoDB yang dikelola sendiri selama migrasi data penuh.
Untuk memastikan kontinuitas layanan selama migrasi data, pilih baik Full Data Migration maupun Incremental Data Migration.
Objek Sumber
Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon
untuk menambahkan objek ke daftar Selected Objects.CatatanDTS tidak dapat memigrasikan data dari database admin atau local.
Database config adalah database internal. Kami sarankan Anda tidak memigrasikan data dari database config.
Objek migrasi bisa berupa database, koleksi, atau fungsi.
Secara default, setelah objek dimigrasikan ke database tujuan, nama objek tetap tidak berubah. Anda dapat mengubah nama objek di database tujuan menggunakan fitur pemetaan nama objek yang disediakan oleh DTS. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
Di sudut kanan bawah halaman, klik Precheck.
CatatanSebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lulus pemeriksaan awal.
Jika tugas gagal lulus pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, perbaiki masalah tersebut. Lalu, jalankan pemeriksaan awal lagi.
Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan perbaiki masalah tersebut. Lalu, jalankan pemeriksaan awal lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Lalu, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.
Klik Next.
Di kotak dialog Confirm Settings, tentukan parameter Instance Class dan pilih kotak centang untuk menyetujui Data Transmission Service (Pay-As-You-Go) Service Terms.
Klik Buy and Start untuk memulai tugas migrasi data.
Ulangi langkah 4 hingga 11 untuk membuat tugas migrasi untuk shard yang tersisa.
Selesaikan tugas migrasi.
Migrasi Data Penuh
Kami sarankan Anda tidak menghentikan tugas secara manual selama migrasi data penuh. Jika tidak, data yang dimigrasikan ke instans ApsaraDB for MongoDB tujuan mungkin tidak lengkap. Anda dapat menunggu hingga tugas migrasi data penuh berhenti secara otomatis.
Migrasi Data Inkremental
Tugas migrasi data inkremental tidak berhenti secara otomatis. Anda harus menghentikan tugas secara manual.
CatatanPilih waktu yang tepat untuk menghentikan tugas secara manual, seperti selama jam-jam sepi atau ketika Anda siap untuk beralih ke instans MongoDB tujuan.
Tunggu hingga kemajuan tugas migrasi untuk semua node shard berubah menjadi Incremental Migration dan status menunjukkan No Latency. Lalu, Anda dapat menghentikan penulisan data ke database sumber selama beberapa menit. Pada titik ini, status Incremental Migration mungkin menunjukkan latensi.
Tunggu hingga status Incremental Migration untuk semua tugas migrasi node shard menunjukkan No Latency lagi. Lalu, hentikan tugas migrasi secara manual.

Beralihlah ke beban kerja Anda ke instans ApsaraDB for MongoDB tujuan.