Data Transmission Service (DTS) dapat memigrasikan data ke instans kluster sharded MongoDB dan menetapkan nilai default untuk kunci sharding ketika nilai tersebut tidak tersedia di sumber. Contoh ini menggunakan instans replika ApsaraDB for MongoDB sebagai sumber dan instans kluster sharded ApsaraDB for MongoDB sebagai tujuan.
Prasyarat
-
Buat instans kluster sharded ApsaraDB for MongoDB sebagai tujuan. Buat instans kluster sharded.
Catatan-
Jika instans ApsaraDB for MongoDB sumber menggunakan arsitektur kluster sharded, pastikan setiap shard memiliki endpoint dan semua shard menggunakan akun serta kata sandi yang sama. Ajukan endpoint shard.
-
Versi database yang didukung: Skenario migrasi.
-
-
Kapasitas penyimpanan instans ApsaraDB for MongoDB tujuan harus minimal 10% lebih besar daripada kapasitas penyimpanan yang digunakan oleh instans ApsaraDB for MongoDB sumber.
-
Buat database dan koleksi yang memerlukan sharding pada instans ApsaraDB for MongoDB tujuan, konfigurasikan sharding, aktifkan balancer, dan lakukan pre-split pada koleksi. Konfigurasikan sharding untuk memaksimalkan kinerja shard. Cara menangani distribusi data tidak merata dalam kluster sharded MongoDB.
CatatanSharding mencegah akumulasi data pada satu shard dan memaksimalkan kinerja kluster. Mengaktifkan balancer serta melakukan pre-split membantu mencegah kesenjangan data (data skew).
Batasan
|
Type |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
Jika database sumber adalah database MongoDB yang dikelola sendiri:
Catatan
Jika Anda memigrasikan seluruh database, Anda juga dapat membuat heartbeat dengan memperbarui atau menulis data setiap detik. |
Penagihan
|
Tipe migrasi |
Biaya konfigurasi instans |
Biaya trafik Internet |
|
Migrasi skema dan migrasi data penuh |
Gratis. |
Ketika parameter Access Method database tujuan diatur ke Public IP Address, Anda dikenai biaya untuk trafik Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
|
Migrasi data inkremental |
Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Tipe migrasi
Tipe | Deskripsi |
migrasi skema | Migrasikan skema objek migrasi dari ApsaraDB for MongoDB sumber ke ApsaraDB for MongoDB tujuan. Catatan Migrasi skema didukung untuk database, koleksi, dan indeks. |
migrasi data penuh | Migrasikan semua data yang ada dari objek migrasi dari ApsaraDB for MongoDB sumber ke ApsaraDB for MongoDB tujuan. Catatan Migrasi data penuh didukung untuk data dalam database dan koleksi. |
migrasi data inkremental | Selain migrasi penuh, Anda dapat memigrasikan pembaruan inkremental dari ApsaraDB for MongoDB sumber ke ApsaraDB for MongoDB tujuan. OplogMigrasi inkremental tidak mendukung database yang dibuat setelah tugas dimulai. Pembaruan inkremental berikut didukung:
Change streamPembaruan inkremental berikut didukung:
|
Izin akun database
|
Database |
Migrasi skema |
Migrasi data penuh |
Migrasi data inkremental |
|
instans ApsaraDB for MongoDB sumber |
Izin baca pada database yang akan dimigrasikan dan database |
Izin baca pada database yang akan dimigrasikan, serta database |
|
|
instans ApsaraDB for MongoDB tujuan |
Izin |
||
Berikan izin yang diperlukan pada instans ApsaraDB for MongoDB sumber dan tujuan. Kelola izin pengguna database MongoDB.
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.
Dari Konsol DTS
-
Login ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Migration.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Konsol mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
-
Login ke Konsol Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan menentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans terdaftar, konfigurasikan informasi database secara manual di bawah.
Database Type
Pilih MongoDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans ApsaraDB for MongoDB sumber.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, instans database di bawah Akun Alibaba Cloud saat ini digunakan. Pilih No.
Architecture
Dalam contoh ini, pilih Replica Set.
-
Replica Set: Ketersediaan tinggi dan pemisahan baca/tulis dengan berbagai jenis node. Instans set replika.
-
Sharded Cluster: Terdiri dari komponen Mongos, Shard, dan ConfigServer dengan jumlah dan konfigurasi node yang dapat disesuaikan. Instans kluster sharded.
CatatanJika Anda mengatur Architecture ke Sharded Cluster, Anda juga harus menentukan Shard account dan Shard password.
Migration Method
Pilih metode untuk migrasi data inkremental berdasarkan kebutuhan Anda.
Oplog (Direkomendasikan):
Opsi ini tersedia jika oplog diaktifkan untuk database sumber.
CatatanOplog diaktifkan secara default baik untuk database MongoDB yang dikelola sendiri maupun instans ApsaraDB for MongoDB. Metode ini menawarkan latensi lebih rendah untuk migrasi data inkremental karena penarikan log lebih cepat. Oleh karena itu, kami merekomendasikan memilih Oplog.
ChangeStream: Opsi ini tersedia jika Change Streams diaktifkan untuk database sumber.
CatatanJika database sumber adalah instans Amazon DocumentDB (kluster non-elastis), Anda hanya dapat memilih ChangeStream.
Jika Anda mengatur Architecture ke Sharded Cluster untuk database sumber, Anda tidak perlu memasukkan Shard account atau Shard password.
Instance ID
Pilih ID instans ApsaraDB for MongoDB sumber.
Authentication Database
Database autentikasi instans ApsaraDB for MongoDB sumber. Default: admin.
Database Account
Masukkan akun database instans ApsaraDB for MongoDB sumber. Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
DTS mendukung tiga metode koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi untuk Encryption bervariasi berdasarkan Access Method dan Architecture yang dipilih. Opsi yang ditampilkan di konsol berlaku.
Catatan-
Database MongoDB dengan Architecture Sharded Cluster dan Migration Method Oplog tidak mendukung SSL-encrypted.
-
Jika sumber adalah database MongoDB yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance) dengan arsitektur Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans terdaftar, konfigurasikan informasi database secara manual di bawah.
Database Type
Pilih MongoDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans ApsaraDB for MongoDB tujuan.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, instans database di bawah Akun Alibaba Cloud saat ini digunakan. Pilih No.
Architecture
Dalam contoh ini, pilih Sharded Cluster.
Instance ID
Pilih ID instans ApsaraDB for MongoDB tujuan.
Authentication Database
Database autentikasi instans ApsaraDB for MongoDB tujuan. Default: admin.
Database Account
Masukkan akun database instans ApsaraDB for MongoDB tujuan. Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
DTS mendukung tiga metode koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi untuk Encryption bervariasi berdasarkan Access Method dan Architecture yang dipilih. Opsi yang ditampilkan di konsol berlaku.
Catatan-
Database MongoDB dengan Architecture Sharded Cluster tidak mendukung SSL-encrypted.
-
Jika tujuan adalah database MongoDB yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance) dengan Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.
-
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang ingin dimigrasikan.
Parameter
Deskripsi
Migration Types
-
Jika Anda hanya perlu melakukan migrasi penuh, pilih Schema Migration dan Full Data Migration.
-
Untuk melakukan migrasi tanpa downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Catatan-
Jika Anda tidak memilih Schema Migration, Anda harus memastikan bahwa database dan tabel untuk menerima data sudah ada di database tujuan. Anda juga dapat menggunakan fitur pemetaan nama objek di kotak Selected Objects sesuai kebutuhan.
-
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah koleksi dengan nama yang sama ada di database tujuan. Jika tidak ada koleksi dengan nama yang sama, pemeriksaan awal lolos. Jika ada koleksi dengan nama yang sama, kesalahan dilaporkan selama pemeriksaan awal, dan tugas migrasi data tidak dimulai.
CatatanJika koleksi di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama koleksi di database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewati pemeriksaan koleksi dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan risiko bisnis. Misalnya:
-
Jika catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber, catatan di database tujuan dipertahankan. Catatan dari database sumber tidak dimigrasikan ke database tujuan.
-
Inisialisasi data dapat gagal, hanya sebagian data yang dimigrasikan, atau migrasi gagal.
-
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek yang dimigrasikan, seperti database, tabel, dan kolom, di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menjaga case sensitivity konsisten dengan kebijakan default database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Case sensitivity nama objek di database tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanPilih database atau koleksi sebagai objek migrasi.
Selected Objects
-
Untuk mengganti nama database tujuan:
Klik kanan database tujuan di bawah Selected Objects. Di kotak dialog Edit Schema, masukkan nama baru di field Schema Name. Petakan nama objek individual.
-
Untuk mengganti nama koleksi tujuan:
Klik kanan koleksi tujuan di bawah Selected Objects. Di kotak dialog Edit Table, masukkan nama baru di field Table Name.
PentingHanya tersedia saat koleksi dipilih sebagai objek migrasi.
Catatan-
Untuk memfilter data, klik kanan koleksi di panel Selected Objects dan konfigurasikan kondisi filter. Pemfilteran data hanya didukung untuk migrasi data penuh. Atur kondisi filter.
-
Pemetaan nama objek dapat menyebabkan migrasi objek dependen gagal.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilih satu. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas migrasi DTS.
Retry Time for Failed Connections
Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1.440 menit. Kami merekomendasikan mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.
-
Karena Anda dikenai biaya untuk tugas selama periode percobaan ulang koneksi, kami merekomendasikan menyesuaikan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda, atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas—seperti pengecualian eksekusi DDL atau DML—di database sumber atau tujuan, DTS melaporkan kesalahan dan segera mulai mencoba mengulang operasi tersebut. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1.440 menit. Kami merekomendasikan mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini hanya tersedia jika Anda memilih Full Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi berjalan.
Only one data type for primary key _id in a table of the data to be synchronized
Dalam data yang akan dimigrasikan, apakah tipe data primary key
_idseragam dalam satu koleksi?PentingPilih opsi berdasarkan kebutuhan Anda. Jika tidak, kehilangan data dapat terjadi.
Parameter ini hanya tersedia jika Anda memilih Full Data Migration untuk Migration Types.
Yes: Tipe data unik. Selama migrasi data penuh, DTS tidak memindai tipe data primary key dalam data sumber. Untuk satu koleksi, DTS hanya memigrasikan data yang sesuai dengan satu tipe data primary key.
No: Tipe data tidak unik. Selama migrasi data penuh, DTS memindai tipe data primary key dalam data sumber dan memigrasikan semua data.
Enable Throttling for Incremental Data Migration
Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini hanya tersedia jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi berjalan.
Environment Tag
Opsional. Pilih tag lingkungan untuk mengidentifikasi instans.
Configure ETL
Berdasarkan kebutuhan bisnis Anda, pilih apakah akan mengonfigurasi fitur ETL untuk memproses data.
-
Yes: Mengonfigurasi fitur ETL. Anda juga harus memasukkan pernyataan pemrosesan data di kotak teks.
-
No: Tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem mengirim pemberitahuan peringatan.
-
-
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Untuk informasi lebih lanjut tentang fitur validasi data, lihat Konfigurasikan validasi data.
-
Klik Next: Configure Database and Table Fields untuk menetapkan nilai default untuk ShardKey.
-
Di baris koleksi tujuan, klik Set Default Value.
CatatanJika Number of Shard Keys untuk Table Name (koleksi) adalah 0, koleksi tidak memiliki kunci shard dan tidak memerlukan nilai default.
-
Pilih Shard key default value type.
CatatanShard key default value type hanya mendukung string dan int.
-
Tetapkan Default Value untuk ShardKey.
Penting-
Nilai default hanya berlaku untuk instans tujuan versi sebelum 4.4.
-
Tetapkan nilai default untuk semua ShardKeys objek migrasi. Jika tidak, peringatan akan muncul selama fase Precheck dan tugas mungkin gagal.
-
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instans ini saat memanggil Operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
-
Jika Anda tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lolos pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika peringatan dilaporkan selama pemeriksaan awal:
-
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih spesifikasi tautan untuk instans migrasi data. Untuk informasi lebih lanjut, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih kelompok sumber daya tempat instans berada. Nilai default adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan spesifikasi migrasi dengan berbagai tingkat kinerja. Spesifikasi tautan memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi tautan migrasi data.
-
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.
Catatan-
Jika tugas migrasi tidak mencakup migrasi inkremental, tugas akan berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-