Migrasikan kluster sharded MongoDB yang dikelola sendiri ke ApsaraDB for MongoDB satu shard dalam satu waktu menggunakan Data Transmission Service (DTS). Migrasi inkremental DTS menjaga aplikasi Anda tetap berjalan selama proses migrasi.
Untuk opsi lainnya, lihat Ikhtisar solusi migrasi dan sinkronisasi data MongoDB.
Prasyarat
Verifikasi bahwa versi MongoDB sumber dan tujuan Anda didukung. Periksa kombinasi versi yang didukung di Solusi migrasi.
Solusi migrasi.
Pastikan setiap shard pada instans kluster sharded tujuan memiliki ruang penyimpanan yang cukup.
CatatanContoh: Jika shard terbesar di database sumber Anda menggunakan 500 GB, setiap shard pada instance tujuan harus memiliki kapasitas penyimpanan lebih dari 500 GB.
Jika database sumber Anda berukuran 500 GB, setiap shard pada instans tujuan harus memiliki ruang penyimpanan lebih dari 500 GB.
Cara kerja
DTS melakukan migrasi kluster sharded satu shard dalam satu waktu. Buat tugas migrasi terpisah untuk setiap shard.
Distribusi data bergantung pada kunci shard yang Anda konfigurasikan. Konfigurasi sharding data untuk memaksimalkan kinerja shard.

Catatan penggunaan
Migrasi data penuh memberikan beban tambahan pada database sumber dan tujuan. Lakukan migrasi selama jam sepi untuk menghindari gangguan layanan.
menghindari gangguan layanan.
Saat melakukan migrasi lintas versi atau mesin penyimpanan, verifikasi kompatibilitas terlebih dahulu di Versi dan mesin penyimpanan.
Versi dan mesin penyimpanan terlebih dahulu.
DTS menulis data secara konkuren, sehingga database tujuan mungkin memerlukan ruang penyimpanan 5% hingga 10% lebih banyak dibandingkan sumber.
Database mungkin menggunakan penyimpanan 5% hingga 10% lebih besar daripada sumbernya.
Pastikan tujuan tidak memiliki dokumen dengan kunci primary (_id secara default) yang sama dengan sumber. Jika terjadi konflik dan penghapusannya tidak memengaruhi bisnis Anda, hapus dokumen yang bertentangan dari tujuan sebelum migrasi.
Pastikan tujuan tidak memiliki dokumen dengan kunci primary (_id secara default) yang sama dengan sumber. Jika terjadi konflik dan penghapusan tidak memengaruhi bisnis Anda, hapus dokumen yang bertentangan dari tujuan sebelum migrasi.
Database admin dan local tidak dapat digunakan sebagai sumber atau tujuan.
tidak dapat digunakan sebagai sumber atau tujuan.
Kluster sharded MongoDB sumber dapat memiliki hingga 10 node mongos.
Mendukung hingga 10 node Mongos (Proxy Layanan).
Penagihan
Jenis migrasi | Biaya konfigurasi tugas | Biaya traffic Internet |
Migrasi data penuh | Gratis. | Data yang dimigrasikan keluar dari Alibaba Cloud melalui Internet publik dikenai biaya. Harga DTS. |
Migrasi data inkremental | Dikenai biaya. .Harga DTS |
Jenis migrasi
Migrasi data penuh: Menyalin semua data yang ada dari objek sumber yang dipilih ke tujuan.
CatatanMencakup database, koleksi, dan indeks.
n1y_f19">
Mencakup database, koleksi, dan indeks.
Migrasi data inkremental: Setelah migrasi penuh selesai, DTS terus menyinkronkan perubahan data dari sumber ke tujuan.
CatatanDTS menyinkronkan operasi pembuatan dan penghapusan database, koleksi, dan indeks.
DTS menyinkronkan operasi pembuatan, pembaruan, dan penghapusan dokumen.
dan operasi penghapusan untuk database, koleksi, dan indeks.
DTS menyinkronkan operasi pembuatan, pembaruan, dan penghapusan dokumen.
te, serta operasi pembaruan dokumen.
Izin akun database
Database | Migrasi data penuh | Migrasi data inkremental |
Database MongoDB yang dikelola sendiri |
|
|
Instans ApsaraDB for MongoDB |
|
|
Untuk membuat akun database dan memberikan izin:
MongoDB yang dikelola sendiri: db.createUser() (dokumentasi MongoDB).
dokumentasi MongoDB.
ApsaraDB for MongoDB: Kelola pengguna database MongoDB menggunakan DMS.
database goDB menggunakan DMS.
Sebelum memulai
Wajib: Nonaktifkan balancer selama migrasi untuk mencegah ketidakkonsistenan data. Kelola balancer instans MongoDB.
PeringatanJika balancer tidak dinonaktifkan, migrasi chunk dapat memengaruhi konsistensi data yang dibaca oleh Data Transmission Service (DTS).
Jika balancer tidak dinonaktifkan, migrasi chunk dapat memengaruhi konsistensi data yang dibaca oleh Data Transmission Service (DTS).
Hapus dokumen yatim yang dihasilkan oleh migrasi chunk gagal dari database sumber.
CatatanDokumen yatim dapat menurunkan kinerja migrasi dan menyebabkan konflik
_idyang mengakibatkan error.Unduh skrip cleanupOrphaned.js.
wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"Pada skrip cleanupOrphaned.js, ganti
testdengan nama database yang akan dibersihkan.CatatanJika Anda memiliki beberapa database, ulangi langkah ini dan langkah c.
function cleanupOrphaned(coll) { var nextKey = { }; var result; while ( nextKey != null ) { result = db.adminCommand( { cleanupOrphaned: coll, startingFromKey: nextKey } ); if (result.ok != 1) print("Unable to complete at this time: failure or timeout.") printjson(result); nextKey = result.stoppedAtKey; } } var dbName = 'test' db = db.getSiblingDB(dbName) db.getCollectionNames().forEach(function(collName) { cleanupOrphaned(dbName + "." + collName); });Jalankan perintah ini pada setiap shard untuk menghapus dokumen yatim dari semua koleksi dalam database tersebut.
CatatanJalankan pada setiap shard.
mongo --host <Shardhost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.jsCatatan<Shardhost>: Alamat IP shard.
<Primaryport>: Port layanan node primary dalam shard.
<database>: Database otentikasi untuk akun tersebut.
<username>: Akun database.
<password>: Kata sandi akun.
Contoh dengan tiga shard:
mongo --host 172.16.1.10 --port 27018 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
d826nfg"><password>: Kata sandi akun.
Contoh dengan tiga shard:
>mongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
mongo --host 172.16.1.10 --port 27018 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsBuat database dan koleksi yang memerlukan sharding pada instans tujuan, lalu konfigurasikan sharding data. Konfigurasi sharding data untuk memaksimalkan kinerja shard.
Mengonfigurasi sharding sebelum migrasi mencegah seluruh data masuk ke satu shard dan melebihi kapasitas penyimpanannya.
ote" id="note_keh_seo_9uz">>
Mengonfigurasi sharding sebelum migrasi mencegah seluruh data masuk ke satu shard dan melebihi kapasitas penyimpanannya.
Batasan
Batasan database sumber
Server harus memiliki bandwidth outbound yang cukup. Bandwidth yang tidak mencukupi memperlambat migrasi.
Koleksi yang akan dimigrasikan harus memiliki PRIMARY KEY atau kendala UNIQUE, dengan semua bidang unik. Jika tidak, catatan duplikat mungkin muncul di tujuan.
DTS menggunakan sumber daya baca dan tulis pada database sumber dan tujuan selama migrasi data penuh, yang meningkatkan beban server. Jalankan migrasi selama jam sepi.
Jika database sumber dan tujuan menggunakan versi MongoDB atau mesin penyimpanan yang berbeda, verifikasi kompatibilitas terlebih dahulu. Lihat Versi dan mesin penyimpanan MongoDB.
Untuk migrasi data inkremental, aktifkan oplog pada database sumber dan simpan oplog setidaknya selama 7 hari. Jika oplog tidak diaktifkan, pesan error dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dapat dimulai. Jika DTS tidak dapat memperoleh oplog, tugas gagal dan ketidakkonsistenan atau kehilangan data mungkin terjadi. Persyaratan retensi ini berada di luar perjanjian tingkat layanan (SLA) DTS.
Jika Anda memilih koleksi sebagai objek migrasi dan berencana mengeditnya di tujuan (seperti mengganti nama), satu tugas mendukung hingga 1.000 koleksi. Untuk lebih dari 1.000 koleksi, konfigurasikan beberapa tugas atau migrasikan seluruh database.
Jangan gunakan database admin atau local sebagai sumber atau tujuan.
Database MongoDB yang dikelola sendiri tidak boleh memiliki lebih dari 10 node mongos.
Jangan migrasikan koleksi dengan indeks time to live (TTL). Indeks TTL dapat menyebabkan ketidakkonsistenan data antara sumber dan tujuan setelah migrasi.
Pastikan tidak ada dokumen yatim di database sumber atau instans kluster sharded tujuan. Dokumen yatim dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas. Lihat dokumentasi MongoDB dan Bagaimana cara menghapus dokumen yatim dari database MongoDB yang diterapkan dalam arsitektur kluster sharded?.
Selama migrasi, jangan jalankan perintah berikut pada database sumber — perintah ini mengubah distribusi data dan menyebabkan ketidakkonsistenan:
shardCollection,reshardCollection,unshardCollection,moveCollection,movePrimary
Selama migrasi skema dan migrasi data penuh:
Jangan lakukan perubahan skema pada database atau koleksi, termasuk memperbarui tipe array. Perubahan skema menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Jangan menulis data ke database sumber jika Anda hanya menjalankan migrasi data penuh (tanpa inkremental). Untuk memastikan konsistensi data, pilih migrasi skema, migrasi data penuh, dan migrasi data inkremental secara bersamaan.
Jika balancer database sumber aktif selama migrasi, migrasi chunk dapat memperkenalkan latensi.
Batasan lainnya
Jika Anda membeli instans DTS sebelum mengonfigurasi tugas, tentukan jumlah shard pada saat pembelian.
DTS tidak dapat terhubung ke database MongoDB melalui string koneksi SRV.
Tambahkan kunci shard ke semua data di database sumber sebelum memulai migrasi. Selama migrasi, operasi INSERT harus menyertakan kunci shard, dan operasi UPDATE tidak boleh memodifikasi kunci shard.
Nonaktifkan balancer untuk database MongoDB sumber selama migrasi data penuh. Biarkan nonaktif hingga setiap subtugas mencapai fase migrasi data inkremental. Mengaktifkannya kembali terlalu dini menyebabkan ketidakkonsistenan data. Lihat Kelola balancer ApsaraDB for MongoDB.
Pastikan database tujuan tidak sudah berisi dokumen dengan kunci primary (
_id) yang sama dengan sumber. Jika terdapat duplikat, hapus dokumen yang sesuai di tujuan sebelum memulai migrasi.Informasi transaksi tidak dipertahankan. Transaksi yang dimigrasikan diubah menjadi catatan individual.
Jika terjadi konflik kunci primary atau kunci unik saat DTS menulis ke tujuan, DTS melewati penulisan yang bertentangan dan mempertahankan data yang ada.
Jangan melakukan scaling instans kluster sharded ApsaraDB for MongoDB saat tugas migrasi sedang berjalan. Scaling menyebabkan tugas gagal.
Hitung jumlah hasil pada database ApsaraDB for MongoDB tujuan menggunakan
db.$table_name.aggregate([{ $count:"myCount"}]).Karena DTS menulis data secara konkuren, ruang penyimpanan yang digunakan di tujuan 5–10% lebih besar daripada di sumber.
Jika koleksi tujuan memiliki indeks unik atau atribut
cappeddiatur ketrue, koleksi tersebut hanya mendukung penulisan single-threaded dan tidak mendukung replay konkuren selama migrasi inkremental. Hal ini dapat meningkatkan latensi migrasi.Migrasi data penuh menggunakan sumber daya baca dan tulis pada kedua database, meningkatkan beban server. Jalankan migrasi selama jam sepi.
Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi tabel. Setelah migrasi data penuh, ruang tabel di tujuan lebih besar daripada di sumber.
DTS mencoba melanjutkan tugas migrasi yang gagal hingga 7 hari. Sebelum beralih beban kerja ke instans tujuan, hentikan atau lepaskan tugas yang gagal, atau cabut izin tulis DTS pada tujuan. Jika tidak, data sumber akan menimpa data tujuan saat tugas yang gagal dilanjutkan.
Jika tugas DTS gagal, dukungan teknis DTS mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi.
Hanya parameter tugas yang mungkin dimodifikasi — parameter database tidak diubah. Parameter yang mungkin dimodifikasi tercantum di bagian Modifikasi parameter instans.
Jika tujuan adalah instans set replika:
Jika terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Alamat IP Publik, atau Cloud Enterprise Network (CEN): atur Domain Name or IP dan Port Number.
ke alamat IP dan port node primary, atau konfigurasikan titik akhir high-availability. Lihat Buat tugas DTS dengan database sumber atau tujuan berupa database MongoDB high-availability.
Jika terhubung melalui Database yang Dikelola Sendiri di ECS: atur Port Number ke port node primary.
Jika tujuan adalah instans kluster sharded, pastikan perilaku aplikasi Anda memenuhi persyaratan kluster sharded ApsaraDB for MongoDB.
Migrasi data
Sebelum memulai
Selesaikan langkah-langkah berikut sebelum membuat tugas DTS.
Langkah 1: Nonaktifkan balancer database sumber
Nonaktifkan balancer pada database MongoDB yang dikelola sendiri untuk mencegah migrasi chunk memengaruhi konsistensi data selama tugas DTS.
Jika balancer aktif selama migrasi, migrasi chunk menyebabkan DTS membaca data yang tidak konsisten.
Untuk petunjuknya, lihat Kelola balancer ApsaraDB for MongoDB.
Langkah 2: Hapus dokumen yatim dari database sumber
Dokumen yatim yang tersisa dari migrasi chunk gagal mengganggu kinerja migrasi, dapat membuat nilai _id duplikat, dan dapat menyebabkan data yang tidak diinginkan ikut dimigrasikan.
Unduh file cleanupOrphaned.js:
wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"Pada file
cleanupOrphaned.js, gantitestdengan nama database tempat Anda ingin menghapus dokumen yatim.Untuk menghapus dokumen yatim dari beberapa database, ulangi langkah ini dan langkah berikutnya untuk setiap database.

Jalankan perintah berikut pada setiap shard untuk menghapus dokumen yatim dari semua koleksi dalam database yang ditentukan:
Jalankan perintah ini pada setiap shard.
Placeholder
Deskripsi
<Shardhost>Alamat IP shard
<Primaryport>Port layanan node primary dalam shard
<database>Nama database tempat akun tersebut berada
<username>Akun yang digunakan untuk login ke database MongoDB yang dikelola sendiri
<password>Kata sandi yang digunakan untuk login ke database MongoDB yang dikelola sendiri
mongo --host <Shardhost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.jsContoh: Untuk database sumber dengan tiga shard:
mongo --host 172.16.1.10 --port 27018 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js mongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js mongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
Langkah 3: Konfigurasi sharding pada instans tujuan (hanya untuk kluster sharded)
Jika tujuan adalah instans kluster sharded, buat database dan koleksi yang akan di-shard serta konfigurasi sharding data sebelum memulai migrasi. Hal ini mendistribusikan data yang dimigrasikan secara merata di seluruh shard dan mencegah satu shard kelebihan beban.
Lihat Konfigurasi sharding untuk memaksimalkan kinerja shard.
Langkah 1: Buka halaman Migrasi Data
Gunakan salah satu metode berikut untuk membuka halaman Data Migration dan pilih wilayah tempat instans migrasi berada.
Konsol DTS
Login ke Konsol DTS.
Di panel navigasi kiri, klik Data Migration.
Di pojok kiri atas, pilih wilayah tempat instans migrasi data berada.
Konsol DMS
Langkah-langkah tepatnya mungkin berbeda tergantung pada mode dan tata letak Konsol DMS. Lihat Mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.
Login ke Konsol DMS.
Di bilah navigasi atas, buka Data + AI > DTS (DTS) > Data Migration.
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
Langkah 2: Buat tugas
Klik Create Task untuk membuka halaman konfigurasi tugas.
Langkah 3: Konfigurasi database sumber dan tujuan
Setelah mengonfigurasi database sumber dan tujuan, baca Batasan yang ditampilkan di bagian atas halaman. Melewatkan langkah ini dapat menyebabkan tugas gagal atau menghasilkan ketidakkonsistenan data.
Konfigurasikan parameter berikut:
Umum
Parameter | Deskripsi |
Task Name | DTS menghasilkan nama tugas secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama unik tidak diperlukan. |
Database sumber
Parameter | Deskripsi |
Select Existing Connection | Jika instans telah terdaftar di DTS, pilih dari daftar drop-down — DTS akan mengisi parameter lainnya secara otomatis. Jika tidak, konfigurasikan parameter di bawah ini. Di Konsol DMS, pilih dari daftar Select a DMS database instance. |
Database Type | Pilih MongoDB. |
Access Method | Pilih metode koneksi. Contoh ini menggunakan Alamat IP Publik. Untuk metode lain, siapkan lingkungan jaringan terlebih dahulu. Lihat Ikhtisar persiapan. |
Instance Region | Wilayah tempat database sumber berada. Jika wilayah tidak tercantum, pilih yang paling dekat secara geografis. |
Architecture | Pilih Sharded Cluster. Opsi ini hanya muncul untuk metode akses Express Connect, VPN Gateway, Smart Access Gateway, Alamat IP Publik, atau Cloud Enterprise Network (CEN). |
Migration Method | Pilih metode untuk migrasi data inkremental: Oplog (direkomendasikan) atau ChangeStream. Oplog tersedia saat oplog diaktifkan di sumber (diaktifkan secara default baik di database yang dikelola sendiri maupun instans ApsaraDB for MongoDB) dan menyediakan migrasi inkremental dengan latensi rendah. ChangeStream tersedia saat change streams diaktifkan. Lihat Change Streams. Jika sumber adalah kluster Amazon DocumentDB yang tidak elastis, pilih hanya ChangeStream. Jika Architecture diatur ke Sharded Cluster, parameter Shard account dan Shard password tidak diperlukan. |
Endpoint Type | Pilih Standalone atau Multi-node berdasarkan pengaturan Anda. Parameter ini hanya muncul untuk metode akses Express Connect, VPN Gateway, Smart Access Gateway, Alamat IP Publik, atau Cloud Enterprise Network (CEN). |
Mongos Domain Name or IP Address | Titik akhir atau alamat IP node mongos mana pun. Muncul hanya saat Endpoint Type adalah Standalone. Atur Domain Name or IP ke alamat node mongos mana pun dan Port Number ke port-nya. |
Port Number | Port layanan node mongos. Muncul hanya saat Endpoint Type adalah Standalone. Port harus dapat diakses melalui Internet. |
Mongos endpoint | Titik akhir database sumber dalam format |
Authentication Database | Database otentikasi untuk sumber. Default: admin. |
Database Account | Akun untuk mengakses node Mongos. Jika Access Method adalah Self-managed Database on ECS atau Database Gateway, masukkan akun akses shard sebagai gantinya. |
Database Password | Kata sandi untuk akun database. |
Access to Multiple Shard Nodes | Informasi akses untuk node shard. Tersedia hanya saat arsitektur sumber adalah Sharded Cluster, Migration Method adalah Oplog, dan Endpoint Type adalah Multi-node. Klik Add, masukkan setiap titik akhir node shard dalam format |
Shard access information (IP:Port) | Alamat IP dan port setiap shard, dalam format |
Shard account | Akun untuk mengakses shard di database sumber. |
Shard password | Kata sandi untuk akun shard. |
Encryption | Metode enkripsi koneksi: Tidak terenkripsi, SSL-terenkripsi, atau Mongo Atlas SSL. Opsi yang tersedia bergantung pada pengaturan Access Method dan Architecture. Jika Architecture adalah Sharded Cluster dan Migration Method adalah Oplog, SSL-terenkripsi tidak tersedia untuk ApsaraDB for MongoDB. Jika sumber menggunakan arsitektur Set Replika, Access Method bukan Alibaba Cloud Instance, dan Encryption adalah SSL-terenkripsi, unggah sertifikat CA untuk memverifikasi koneksi. |
Database tujuan
Parameter | Deskripsi |
Select Existing Connection | Jika instans telah terdaftar di DTS, pilih dari daftar drop-down. Jika tidak, konfigurasikan parameter di bawah ini. |
Database Type | Pilih MongoDB. |
Access Method | Pilih Alibaba Cloud Instance. |
Instance Region | Wilayah tempat instans ApsaraDB for MongoDB tujuan berada. |
Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk menggunakan instans di akun saat ini. |
Architecture | Arsitektur instans tujuan. |
Instance ID | ID instans ApsaraDB for MongoDB tujuan. |
Authentication Database | Database otentikasi untuk tujuan. Default: admin. |
Database Name | Nama database tujuan yang menerima objek yang dimigrasikan. |
Database Account | Akun database untuk instans tujuan. |
Database Password | Kata sandi untuk akun database tujuan. |
Encryption | Metode enkripsi koneksi. Opsi yang tersedia bergantung pada pengaturan Access Method dan Architecture. Jika tujuan adalah instans ApsaraDB for MongoDB dengan arsitektur Sharded Cluster, SSL-terenkripsi tidak tersedia. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Untuk informasi selengkapnya, lihat Menambahkan blok CIDR server DTS. Jika sumber atau tujuan merupakan database yang dikelola sendiri dan tidak terhubung sebagai Alibaba Cloud Instance, klik Test Connectivity pada kotak dialog CIDR Blocks of DTS Servers.
Langkah 5: Konfigurasi objek migrasi
Di halaman Configure Objects, konfigurasikan parameter berikut:
Parameter | Deskripsi |
Migration Types | Pilih jenis migrasi berdasarkan kebutuhan Anda. Untuk hanya melakukan migrasi data penuh, pilih Schema Migration dan Full Data Migration. Untuk menjaga layanan tetap berjalan selama migrasi, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration. Jika Schema Migration tidak dipilih, buat database dan koleksi di tujuan sebelum memulai tugas, dan aktifkan fitur pemetaan nama objek di Selected Objects. Jika Incremental Data Migration tidak dipilih, jangan menulis data ke sumber selama migrasi. |
Processing Mode of Conflicting Tables | Periksa Awal dan Laporkan Error: memeriksa apakah tujuan memiliki koleksi dengan nama yang sama dengan sumber. Pemeriksaan awal gagal jika terdapat duplikat. Untuk menyelesaikan konflik penamaan tanpa menghapus atau mengganti nama koleksi tujuan, gunakan fitur pemetaan nama objek. Lihat Pemetaan nama objek. Abaikan Error dan Lanjutkan: melewati pemeriksaan awal untuk nama koleksi duplikat. Selama migrasi data penuh, jika suatu catatan memiliki kunci primary yang sama dengan catatan yang ada di tujuan, catatan yang ada dipertahankan. Selama migrasi data inkremental, catatan yang ada ditimpa. Jika skema sumber dan tujuan berbeda, kolom tertentu mungkin gagal dimigrasikan. |
Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database dan koleksi di tujuan. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
Source Objects | Pilih satu atau beberapa objek (koleksi atau database), lalu klik ikon |
Selected Objects | Klik kanan objek untuk mengganti namanya di tujuan atau memetakannya ke objek tujuan yang berbeda. Lihat Pemetaan nama objek. Klik kanan objek untuk mengatur mode migrasi inkremental untuk database dan koleksi. Klik kanan koleksi untuk menentukan kondisi filter WHERE untuk migrasi penuh. Lihat Tentukan kondisi filter. Untuk menghapus objek, klik objek tersebut lalu klik ikon |
Klik Next: Advanced Settings untuk mengonfigurasi hal berikut:
Parameter | Deskripsi |
Dedicated Cluster for Task Scheduling | DTS menjadwalkan tugas ke kluster bersama secara default. Untuk stabilitas yang lebih tinggi, beli kluster khusus. Lihat Apa itu kluster khusus DTS. |
Retry Time for Failed Connections | Jendela coba ulang untuk kegagalan koneksi setelah tugas dimulai. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan. Jika tidak, tugas gagal. Saat beberapa tugas berbagi database yang sama, waktu coba ulang yang paling baru diatur berlaku. DTS mengenakan biaya untuk instans selama coba ulang. |
Retry Time for Other Issues | Jendela coba ulang untuk kegagalan operasi DDL atau DML. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Harus kurang dari Retry Time for Failed Connections. |
Enable Throttling for Full Data Migration | Membatasi penggunaan sumber daya DTS selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Kecepatan migrasi data untuk migrasi penuh (MB/s). Tersedia hanya saat Full Data Migration dipilih. |
Only one data type for primary key _id in a table of the data to be synchronized | Menentukan apakah kunci primary |
Enable Throttling for Incremental Data Migration | Membatasi penggunaan sumber daya DTS selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Kecepatan migrasi data untuk migrasi inkremental (MB/s). Tersedia hanya saat Incremental Data Migration dipilih. |
Environment Tag | Tag untuk mengidentifikasi instans DTS. Opsional. |
Configure ETL | Mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. Pilih No untuk melewati ETL. |
Monitoring and Alerting | Mengonfigurasi peringatan untuk tugas. Pilih Yes untuk mengatur ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS. |
Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data. Lihat Konfigurasi tugas verifikasi data.
Langkah 6: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum migrasi dimulai. Tugas tidak dapat dimulai hingga pemeriksaan awal berhasil.
Jika item pemeriksaan awal gagal, klik View Details di sebelahnya, selesaikan masalahnya, lalu jalankan pemeriksaan awal lagi.
Jika item pemeriksaan awal memicu peringatan:
Jika peringatan tidak dapat diabaikan, klik View Details, selesaikan masalahnya, lalu jalankan ulang pemeriksaan awal.
Jika peringatan dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore di kotak dialog, dan klik OK. Klik Precheck Again untuk melanjutkan. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 7: Beli instans
Tunggu hingga Tingkat Keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan hal berikut:
Bagian
Parameter
Deskripsi
New Instance Class
Resource Group
Kelompok sumber daya untuk instans migrasi. Default: kelompok sumber daya default. Lihat Apa itu Manajemen Sumber Daya?
Instance Class
Kelas instans menentukan kecepatan migrasi. Pilih berdasarkan kebutuhan Anda. Lihat Kelas instans untuk instans migrasi data.
Baca dan setujui Ketentuan Layanan Data Transmission Service (Bayar Sesuai Pemakaian) dengan mencentang kotak centang tersebut.
Klik Buy and Start, lalu klik OK di dialog konfirmasi.
Tugas muncul di halaman Data Migration.
Hanya migrasi data penuh: tugas berhenti secara otomatis. Status menunjukkan Selesai.
Migrasi data inkremental: tugas berjalan terus-menerus dan tidak berhenti secara otomatis. Status menunjukkan Berjalan.
Langkah 8: Buat tugas untuk shard yang tersisa (jika berlaku)
Jika Access Method untuk sumber adalah Self-managed Database on ECS atau Database Gateway, ulangi Langkah 1–7 untuk setiap shard yang tersisa.
Langkah 9: Hentikan tugas migrasi
Full data migration
Jangan menghentikan tugas migrasi data penuh secara manual — data yang dimigrasikan mungkin tidak lengkap. Tunggu hingga tugas berhenti secara otomatis.
Incremental data migration
Migrasi data inkremental tidak berhenti secara otomatis. Hentikan secara manual pada waktu yang tepat, seperti selama jam sepi atau sebelum beralih beban kerja ke instans tujuan.
Tunggu hingga Incremental Data Migration muncul di bilah kemajuan Berjalan dan Tidak Tertunda muncul di Info Operasi. Lalu hentikan penulisan data ke database sumber selama beberapa menit.
Setelah status Incremental Data Migration kembali ke Tidak Tertunda, hentikan secara manual tugas migrasi untuk semua shard.
Langkah 10: Alihkan beban kerja ke instans tujuan
Setelah migrasi selesai dan Anda telah memverifikasi datanya, alihkan beban kerja Anda ke instans ApsaraDB for MongoDB tujuan.