全部产品
Search
文档中心

Data Transmission Service:Migrasikan data dari database MongoDB yang dikelola sendiri yang menggunakan arsitektur sharded cluster ke instance replika set atau sharded cluster ApsaraDB for MongoDB

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari database MongoDB yang dikelola sendiri dengan arsitektur sharded cluster ke instance replika set atau sharded cluster ApsaraDB for MongoDB. DTS memungkinkan Anda memigrasikan data eksisting dan inkremental dari database lokal ke Alibaba Cloud tanpa gangguan layanan.

Prasyarat

  • Instance ApsaraDB for MongoDB replika set atau sharded cluster tujuan telah dibuat. Untuk informasi lebih lanjut, lihat Buat Instance Replika Set atau Buat Instance Sharded Cluster.

    Penting
    • Ruang penyimpanan yang tersedia di instance ApsaraDB for MongoDB sharded cluster tujuan harus 10% lebih besar daripada total ukuran data di database MongoDB yang dikelola sendiri sumber. Ini adalah prasyarat yang direkomendasikan.

    • Untuk informasi lebih lanjut tentang versi database yang didukung, lihat Gambaran Umum Skenario Migrasi Data.

  • Akun yang digunakan untuk mengakses shard di database MongoDB yang dikelola sendiri sumber telah dibuat, dan semua shard berbagi akun dan kata sandi yang sama.

  • Jika instance ApsaraDB for MongoDB tujuan adalah instance sharded cluster:

    • Setiap shard di instance sharded cluster tujuan memiliki ruang penyimpanan yang cukup.

      Catatan

      Sebagai contoh, jika database MongoDB yang dikelola sendiri memiliki tiga shard dan salah satu shard tersebut menggunakan ruang penyimpanan maksimum sebesar 500 GB, maka ruang penyimpanan setiap shard di instance tujuan harus lebih besar dari 500 GB.

    • Operasi berikut dilakukan berdasarkan metode migrasi skema:

      Catatan

      Setelah Anda mengonfigurasi sharding untuk instance sharded cluster, data yang dimigrasikan akan didistribusikan di antara shard yang berbeda. Ini memaksimalkan kinerja sharded cluster. Anda dapat mengaktifkan balancer dan melakukan pre-sharding untuk mencegah masalah skew data.

Catatan penggunaan

Kategori

Deskripsi

Batasan pada database sumber

  • Persyaratan bandwidth: Server tempat database sumber berada harus memiliki bandwidth keluar yang cukup. Jika tidak, kecepatan migrasi data akan menurun.

  • Koleksi yang akan dimigrasikan harus memiliki PRIMARY KEY atau batasan UNIQUE dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

  • DTS menggunakan sumber daya database sumber dan tujuan selama migrasi data penuh. Ini dapat meningkatkan beban pada server database. Jika Anda memigrasikan sejumlah besar data atau jika spesifikasi server tidak memenuhi persyaratan bisnis Anda, layanan database mungkin tidak tersedia. Sebelum Anda memigrasikan data, evaluasi dampak migrasi data terhadap kinerja database sumber dan tujuan. Kami merekomendasikan Anda memigrasikan data selama jam non-puncak.

  • Jika database MongoDB sumber dan tujuan menjalankan versi MongoDB yang berbeda atau menggunakan mesin penyimpanan yang berbeda, pastikan bahwa versi MongoDB atau mesin penyimpanannya kompatibel. Untuk informasi lebih lanjut, lihat Versi MongoDB dan mesin penyimpanan.

  • Jika Anda ingin memigrasikan data inkremental, Anda harus mengaktifkan pencatatan operasi. Jika tidak, pesan kesalahan akan dikembalikan selama pra-pemeriksaan dan tugas migrasi data tidak dapat dimulai.

    Log operasi database sumber harus disimpan setidaknya selama tujuh hari. Jika tidak, DTS mungkin gagal mendapatkan log operasi dan tugas mungkin gagal. Dalam keadaan luar biasa, ketidaksesuaian data atau bahkan kehilangan data dapat terjadi. Pastikan Anda menetapkan periode retensi log operasi berdasarkan persyaratan yang disebutkan sebelumnya. Jika tidak, perjanjian tingkat layanan (SLA) DTS tidak menjamin keandalan atau kinerja layanan.

  • Jika Anda memilih koleksi sebagai objek yang akan dimigrasikan dan Anda ingin mengedit koleksi di database tujuan, seperti mengubah nama koleksi, hingga 1.000 koleksi dapat dimigrasikan dalam satu tugas migrasi data. Jika Anda menjalankan tugas untuk memigrasikan lebih dari 1.000 koleksi, kesalahan permintaan terjadi. Dalam hal ini, kami merekomendasikan Anda mengonfigurasi beberapa tugas untuk memigrasikan koleksi atau mengonfigurasi tugas untuk memigrasikan seluruh database.

  • Database admin atau local tidak dapat digunakan sebagai database sumber atau tujuan.

  • Jumlah node mongos di database MongoDB yang dikelola sendiri sumber tidak boleh melebihi 10.

  • Anda tidak dapat memigrasikan koleksi yang berisi indeks time to live (TTL). Jika database sumber berisi indeks TTL, ketidaksesuaian data mungkin terjadi antara database sumber dan tujuan setelah migrasi.

  • Pastikan tidak ada dokumen yatim piatu di database MongoDB yang dikelola sendiri sumber atau instance sharded cluster ApsaraDB for MongoDB tujuan. Jika tidak, ketidaksesuaian data atau bahkan kegagalan tugas mungkin terjadi. Untuk informasi lebih lanjut, lihat dokumentasi MongoDB dan bagian Bagaimana cara saya menghapus dokumen yatim piatu dari database MongoDB yang diterapkan dalam arsitektur sharded cluster? dari topik FAQ.

  • Batasan operasi yang harus dilakukan pada database sumber:

    • Jangan jalankan perintah yang mengubah distribusi data objek yang akan dimigrasikan selama tugas migrasi. Perintah ini termasuk shardCollection, reshardCollection, unshardCollection, moveCollection, dan movePrimary. Jika tidak, ketidaksesuaian data mungkin terjadi.

    • Selama migrasi skema dan migrasi data penuh, jangan lakukan perubahan skema pada database atau koleksi, termasuk pembaruan tipe array. Jika tidak, tugas migrasi data gagal, atau ketidaksesuaian data antara database sumber dan tujuan mungkin terjadi.

    • Jika Anda hanya melakukan migrasi data penuh, jangan tulis data ke database sumber selama migrasi data. Jika tidak, ketidaksesuaian data antara database sumber dan tujuan terjadi. Untuk memastikan konsistensi data, kami merekomendasikan Anda memilih Migrasi Skema, Migrasi Data Penuh, dan Migrasi Data Inkremental sebagai jenis migrasi.

  • Jika balancer database sumber menyeimbangkan data, latensi mungkin terjadi di instance.

Batasan lainnya

  • Jika Anda membeli instance DTS sebelum mengonfigurasi tugas DTS, Anda harus menentukan jumlah shard saat Anda membeli instance.

  • Jika database tujuan adalah instance replika set, perhatikan batasan berikut:

    • Jika database tujuan terhubung melalui Express Connect, VPN Gateway, or Smart Access Gateway, Public IP Address, atau Cloud Enterprise NetworkCEN, atur Domain Name or IP dan Port Number ke alamat IP dan nomor port node utama, atau konfigurasikan titik akhir high-availability. Untuk informasi lebih lanjut tentang titik akhir high-availability, lihat Buat tugas DTS di mana database sumber atau tujuan adalah database MongoDB high-availability.

    • Jika database tujuan terhubung melalui Self-managed Database di ECS, atur Port Number ke nomor port node utama.

  • DTS tidak dapat terhubung ke database MongoDB melalui endpoint SRV.

  • Jika sharding data dikonfigurasikan untuk instance ApsaraDB for MongoDB sharded cluster tujuan dan Anda tidak perlu menggunakan fitur migrasi skema DTS, jangan pilih Schema Migration sebagai salah satu Migration Types di langkah Configure Objects. Jika tidak, ketidaksesuaian data mungkin terjadi atau tugas mungkin gagal karena konflik shard.

  • Sebelum Anda memulai tugas migrasi data, Anda harus menambahkan kunci shard ke data yang akan dimigrasikan di database sumber. Selama migrasi data, jika Anda mengeksekusi pernyataan INSERT untuk menyisipkan data ke data yang akan dimigrasikan, data yang akan dimigrasikan harus berisi kunci shard. Jika Anda mengeksekusi pernyataan UPDATE untuk memodifikasi data yang akan dimigrasikan, Anda tidak dapat memodifikasi kunci shard.

  • Selama migrasi data penuh, pastikan balancer untuk database MongoDB sumber dinonaktifkan sampai setiap subtugas mencapai fase migrasi data inkremental. Jika tidak, ketidaksesuaian data mungkin terjadi. Untuk informasi lebih lanjut tentang balancer MongoDB, lihat Kelola balancer ApsaraDB for MongoDB.

  • Pastikan database MongoDB tujuan tidak memiliki primary key yang sama dengan database sumber. Primary key default adalah _id. Jika tidak, data mungkin hilang. Jika database sumber dan tujuan memiliki primary key yang sama, hapus dokumen yang sesuai di database tujuan tanpa mengganggu layanan bisnis Anda.

  • Informasi transaksi tidak dipertahankan. Saat transaksi dimigrasikan ke database tujuan, mereka dikonversi menjadi catatan tunggal.

  • Jika terjadi konflik primary key atau unique key saat DTS menulis data ke koleksi tujuan, DTS melewati pernyataan yang digunakan untuk menulis data dan mempertahankan data yang ada di koleksi tujuan.

  • Selama tugas migrasi data, instance sharded cluster ApsaraDB for MongoDB yang terlibat dalam tugas tidak dapat diskalakan. Jika tidak, tugas gagal.

  • Anda harus menggunakan sintaks db.$table_name.aggregate([{ $count:"myCount"}]) untuk meminta nilai balik operasi count pada database ApsaraDB for MongoDB tujuan.

  • Data ditulis secara bersamaan ke database tujuan. Oleh karena itu, ruang penyimpanan yang ditempati di database tujuan 5% hingga 10% lebih besar daripada ukuran data di database sumber.

  • Jika koleksi database tujuan memiliki indeks unik atau atribut capped dari koleksi database tujuan adalah true, koleksi tersebut hanya mendukung penulisan data single-thread dan tidak mendukung replay konkuren selama migrasi data inkremental. Ini dapat meningkatkan latensi migrasi.

  • Sebelum Anda memigrasikan data, evaluasi dampak migrasi data terhadap kinerja database sumber dan tujuan. Kami merekomendasikan Anda memigrasikan data selama jam non-puncak. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis database sumber dan tujuan. Ini dapat meningkatkan beban pada server database.

  • Selama migrasi data penuh, operasi INSERT konkuren menyebabkan fragmentasi di tabel database tujuan. Setelah migrasi data penuh selesai, tablespace database tujuan lebih besar daripada database sumber.

  • DTS mencoba melanjutkan tugas migrasi data yang gagal dalam tujuh hari terakhir. Sebelum Anda beralih beban kerja ke instance tujuan, hentikan atau lepaskan tugas yang gagal. Anda juga dapat mengeksekusi pernyataan REVOKE untuk mencabut izin tulis dari akun yang digunakan oleh DTS untuk mengakses instance tujuan. Jika tidak, data di database sumber menimpa data di database tujuan setelah tugas yang gagal dilanjutkan.

  • Jika instance gagal berjalan, staf dukungan teknis DTS akan mencoba memulihkan instance dalam waktu 8 jam. Selama proses pemulihan, instance mungkin di-restart atau parameter mungkin disesuaikan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instance DTS yang dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada parameter dalam Ubah parameter instance.

  • Jika Anda memigrasikan data ke database MongoDB lain (arsitektur sharded cluster), pastikan perilaku bisnis Anda memenuhi persyaratan sharded cluster ApsaraDB for MongoDB.

Penagihan

Tipe migrasi

Biaya konfigurasi tugas

Biaya transfer data

Migrasi skema dan migrasi data penuh

Gratis

Gratis

Migrasi data inkremental

Dikenakan biaya. Untuk informasi lebih lanjut, lihat Gambaran umum penagihan.

Jenis migrasi

Jenis migrasi

Deskripsi

Migrasi skema

DTS memigrasikan skema objek yang akan dimigrasikan dari instance database MongoDB yang dikelola sendiri sumber ke instance ApsaraDB for MongoDB tujuan.

Migrasi data penuh

DTS memigrasikan data eksisting objek yang akan dimigrasikan dari instance database MongoDB yang dikelola sendiri sumber ke instance ApsaraDB for MongoDB tujuan.

Catatan

DTS mendukung migrasi data penuh untuk database dan koleksi.

Migrasi data inkremental

Setelah migrasi data penuh selesai, DTS memigrasikan data inkremental dari instance database MongoDB yang dikelola sendiri sumber ke instance ApsaraDB for MongoDB tujuan.

Catatan

DTS memigrasikan data inkremental yang dihasilkan oleh operasi berikut:

  • Operasi delete pada database

  • Operasi create, delete, dan rename pada koleksi

  • Operasi create, delete, dan update pada dokumen

  • Operasi create dan delete pada indeks

  • Operasi insert, update, dan delete dokumen pada koleksi

Izin yang diperlukan untuk akun database

Tipe database

Migrasi skema

Migrasi data penuh

Migrasi data inkremental

Database MongoDB yang dikelola sendiri

Hak baca pada database yang akan dimigrasikan dan database config.

Hak baca pada database sumber.

Hak baca pada database sumber, database admin, dan database local.

ApsaraDB for MongoDB instance

Hak dbAdminAnyDatabase, hak baca dan tulis pada database tujuan, dan hak baca pada database local.

Untuk informasi tentang cara membuat dan memberi otorisasi akun database, lihat topik berikut:

Persiapan

  1. Wajib: Nonaktifkan balancer dari database MongoDB yang dikelola sendiri. Ini mencegah dampak migrasi chunk terhadap konsistensi data. Untuk informasi lebih lanjut, lihat Kelola Balancer ApsaraDB for MongoDB.

    Peringatan

    Jika balancer tidak dinonaktifkan, migrasi chunk memengaruhi konsistensi data yang dibaca oleh DTS.

  2. Hapus dokumen yatim piatu yang dihasilkan karena kegagalan migrasi chunk dari database MongoDB yang dikelola sendiri.

    Catatan

    Jika Anda tidak menghapus dokumen yatim piatu, kinerja migrasi akan terganggu. Selain itu, beberapa dokumen mungkin memiliki nilai _id duplikat dan data yang tidak ingin Anda migrasikan mungkin ikut dimigrasikan.

    1. Unduh file cleanupOrphaned.js.

      wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"
    2. Ganti test di file cleanupOrphaned.js dengan nama database tempat Anda ingin menghapus dokumen yatim piatu.

      Catatan

      Jika Anda ingin menghapus dokumen yatim piatu dari beberapa database, ulangi Sublangkah b dan Sublangkah c di Langkah 2.

    3. Jalankan perintah berikut pada shard untuk menghapus dokumen yatim piatu dari semua koleksi di database yang ditentukan:

      Catatan

      Anda harus mengulangi langkah ini pada setiap shard.

      mongo --host <Shardhost> --port <Primaryport>  --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js
      Catatan
      • <Shardhost>: alamat IP dari shard.

      • <Primaryport>: port layanan node utama di shard.

      • <database>: nama database tempat akun database berada.

      • <username>: akun yang digunakan untuk masuk ke database MongoDB yang dikelola sendiri.

      • <password>: kata sandi yang digunakan untuk masuk ke database MongoDB yang dikelola sendiri.

      Contoh:

      Dalam contoh ini, database MongoDB yang dikelola sendiri memiliki tiga shard, dan Anda harus menghapus dokumen yatim piatu pada setiap 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
  3. Buat database dan koleksi yang akan di-shard di instance ApsaraDB for MongoDB tujuan, serta konfigurasikan sharding data sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan Sharding untuk Memaksimalkan Kinerja Shard.

    Catatan

    Jika Anda mengonfigurasi sharding data sebelum memulai migrasi data, data di database MongoDB yang dikelola sendiri didistribusikan secara merata ke shard di instance sharded cluster tujuan. Ini mencegah pembebanan berlebih pada satu shard.

Prosedur

  1. Gunakan salah satu metode berikut untuk pergi ke halaman Migrasi Data dan pilih wilayah tempat instance migrasi data berada.

    Konsol DTS

    1. Masuk ke Konsol DTS.

    2. Di bilah navigasi kiri, klik Data Migration.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instance migrasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual dapat bervariasi berdasarkan mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.

    1. Masuk ke Konsol DMS.

    2. Di bilah navigasi atas, arahkan pointer ke Data + AI > DTS (DTS) > Data Migration.

    3. Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instance sinkronisasi data berada.

  2. Klik Create Task untuk pergi ke halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.

    Peringatan

    Setelah Anda mengonfigurasi database sumber dan tujuan, kami merekomendasikan Anda membaca Limits yang ditampilkan di bagian atas halaman. Jika tidak, tugas mungkin gagal atau ketidaksesuaian data mungkin terjadi.

    Seksi

    Parameter

    Deskripsi

    Tidak Ada

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan Anda menentukan nama informatif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas unik.

    Source Database

    Select Existing Connection

    • Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Tipe database sumber. Pilih MongoDB.

    Access Method

    Metode akses database sumber. Dalam contoh ini, Public IP Address dipilih.

    Catatan

    Jika Anda memilih metode lain untuk mengakses database MongoDB yang dikelola sendiri sumber, Anda harus menyebarkan lingkungan jaringan untuk database tersebut. Untuk informasi lebih lanjut, lihat Gambaran umum persiapan.

    Instance Region

    Wilayah tempat database MongoDB yang dikelola sendiri sumber berada.

    Catatan

    Jika wilayah tempat database MongoDB yang dikelola sendiri berada tidak ditampilkan dalam daftar drop-down, pilih wilayah yang secara geografis paling dekat dengan database MongoDB yang dikelola sendiri.

    Architecture

    Arsitektur tempat database sumber diterapkan. Pilih Sharded Cluster.

    Catatan

    Opsi Sharded Cluster hanya muncul jika Anda mengatur parameter Metode Akses ke Express Connect, VPN Gateway, or Smart Access Gateway, Public IP Address, atau Cloud Enterprise Network (CEN).

    Migration Method

    Metode yang digunakan untuk memigrasikan data inkremental dari database sumber. Pilih metode berdasarkan kebutuhan bisnis Anda. Nilai valid:

    • Oplog (direkomendasikan):

      Opsi ini tersedia jika fitur oplog diaktifkan untuk database sumber.

      Catatan

      Secara default, fitur oplog diaktifkan untuk database MongoDB yang dikelola sendiri dan instance ApsaraDB for MongoDB. Fitur ini memungkinkan Anda memigrasikan data inkremental dengan latensi rendah karena kecepatan penarikan log yang cepat. Oleh karena itu, kami merekomendasikan Anda memilih Oplog untuk parameter Metode Migrasi.

    • ChangeStream: Opsi ini tersedia jika change stream diaktifkan untuk database sumber. Untuk informasi lebih lanjut, lihat Change Streams.

      Catatan
      • Jika database sumber adalah klaster Amazon DocumentDB inelastis, Anda hanya dapat mengatur parameter Metode Migrasi ke ChangeStream.

      • Jika Anda memilih Sharded Cluster untuk parameter Architecture, Anda tidak perlu mengonfigurasi parameter Shard account dan Shard password.

    Endpoint Type

    Pilih Standalone atau Multi-node berdasarkan kebutuhan bisnis Anda.

    Catatan

    Parameter ini hanya muncul jika Anda mengatur parameter Metode Akses ke Express Connect, VPN Gateway, or Smart Access Gateway, Public IP Address, atau Cloud Enterprise Network (CEN).

    Mongos Domain Name or IP Address

    Endpoint atau alamat IP dari node mongos di database MongoDB yang dikelola sendiri. Dalam contoh ini, alamat IP publik dari node mongos digunakan.

    Catatan
    • Parameter ini hanya muncul jika parameter Endpoint Type diatur ke Standalone.

    • Atur parameter Domain Name or IP ke nama domain atau alamat IP node mongos mana pun. Atur parameter Port Number ke port node mongos mana pun.

    Port Number

    Nomor port layanan database MongoDB yang dikelola sendiri.

    Catatan
    • Parameter ini hanya muncul jika parameter Endpoint Type diatur ke Standalone.

    • Port layanan node mongos harus dapat diakses melalui Internet.

    Mongos endpoint

    Endpoint dari database MongoDB yang dikelola sendiri.

    Catatan
    • Parameter ini hanya muncul jika parameter Endpoint Type diatur ke Multi-node.

    • Tentukan parameter dalam format <IP>:<Port>. Ganti <IP> dengan nama domain atau alamat IP. Kami merekomendasikan Anda menggunakan nama domain yang dapat diakses melalui Internet.

    • Pisahkan beberapa endpoint dengan baris baru.

    Authentication Database

    Nama database otentikasi yang menyimpan akun dan kata sandi database dari database MongoDB yang dikelola sendiri sumber. Jika Anda belum mengubah nama database otentikasi sebelumnya, nilai defaultnya adalah admin.

    Database Account

    Akun yang digunakan untuk mengakses node mongos di database MongoDB yang dikelola sendiri. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.

    Catatan

    Jika Anda mengatur parameter Access Method ke Self-managed Database on ECS atau Database Gateway, masukkan akun yang digunakan untuk mengakses shard di database MongoDB yang dikelola sendiri sumber.

    Database Password

    Kata sandi yang digunakan untuk mengakses instance database.

    Access to Multiple Shard Nodes

    Informasi yang digunakan untuk mengakses node shard dari database MongoDB yang dikelola sendiri sumber.

    Catatan

    Parameter ini hanya tersedia jika database MongoDB yang dikelola sendiri adalah database sumber, parameter Architecture diatur ke Sharded Cluster, parameter Migration Method diatur ke Oplog, dan parameter Endpoint Type diatur ke Multi-node.

    1. Klik Add di sebelah kanan Access to Multiple Shard Nodes.

    2. Di bidang Shard Node Endpoint, masukkan endpoint dari node shard database MongoDB yang dikelola sendiri.

      Catatan
      • Jika Anda mengatur parameter Architecture ke Replica Set, tentukan parameter Endpoint. Jika Anda mengatur parameter Architecture ke Sharded Cluster, tentukan parameter Mongos endpoint.

      • Sebuah endpoint berada dalam format <IP>:<Port>. Ganti <IP> dengan nama domain atau alamat IP. Kami merekomendasikan Anda menggunakan nama domain yang dapat diselesaikan secara publik.

      • Pisahkan beberapa endpoint dengan baris baru.

    3. Ulangi langkah-langkah sebelumnya untuk mengonfigurasi informasi akses untuk setiap node shard.

    Shard access information (IP:Port)

    Informasi akses tentang shard di database MongoDB yang dikelola sendiri, termasuk alamat IP dan nomor port dari shard. Formatnya adalah Alamat IP:Nomor Port.

    Catatan
    • Parameter ini hanya muncul jika parameter Endpoint Type diatur ke Standalone.

    • Pisahkan informasi akses dari beberapa shard dengan koma (,).

    Shard account

    Akun yang digunakan untuk mengakses shard di database MongoDB yang dikelola sendiri sumber.

    Shard password

    Kata sandi yang digunakan untuk mengakses shard di database MongoDB yang dikelola sendiri sumber.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat memilih Non-encrypted, SSL-encrypted, atau Mongo Atlas SSL berdasarkan kebutuhan bisnis Anda. Opsi yang tersedia untuk parameter Encryption ditentukan oleh nilai yang dipilih untuk parameter Access Method dan Architecture. Opsi yang ditampilkan di konsol DTS yang berlaku.

    Catatan
    • Jika parameter Architecture diatur ke Sharded Cluster, dan parameter Migration Method diatur ke Oplog untuk database ApsaraDB for MongoDB, parameter Enkripsi SSL-encrypted tidak tersedia.

    • Jika database sumber adalah database MongoDB yang dikelola sendiri yang menggunakan arsitektur Replica Set, parameter Access Method tidak diatur ke Alibaba Cloud Instance, dan parameter Enkripsi diatur ke SSL-encrypted, Anda dapat mengunggah sertifikat otoritas sertifikat (CA) untuk memverifikasi koneksi ke database sumber.

    Destination Database

    Select Existing Connection

    • Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Tipe database tujuan. Pilih MongoDB.

    Access Method

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instance ApsaraDB for MongoDB tujuan berada.

    Replicate Data Across Alibaba Cloud Accounts

    Dalam contoh ini, instance database dari akun Alibaba Cloud saat ini digunakan. Pilih No.

    Architecture

    Arsitektur tempat instance ApsaraDB for MongoDB tujuan diterapkan.

    Instance ID

    ID dari instance ApsaraDB for MongoDB tujuan.

    Authentication Database

    Nama database otentikasi yang menyimpan akun dan kata sandi database dari instance ApsaraDB for MongoDB tujuan. Jika Anda belum mengubah nama database otentikasi sebelumnya, nilai defaultnya adalah admin.

    Database Name

    Nama database tempat objek yang dimigrasikan di instance ApsaraDB for MongoDB tujuan berada.

    Database Account

    Akun database dari instance ApsaraDB for MongoDB tujuan. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses instance database.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke database tujuan. Anda dapat memilih Non-encrypted, SSL-encrypted, atau Mongo Atlas SSL berdasarkan kebutuhan bisnis Anda. Opsi yang tersedia untuk parameter Encryption ditentukan oleh nilai yang dipilih untuk parameter Access Method dan Architecture. Opsi yang ditampilkan di Konsol DTS berlaku.

    Catatan
    • Jika database tujuan adalah instance ApsaraDB for MongoDB dan parameter Architecture diatur ke Sharded Cluster, parameter Enkripsi SSL-encrypted tidak tersedia.

    • Jika database tujuan adalah database MongoDB yang dikelola sendiri yang menggunakan arsitektur Replica Set, parameter Access Method tidak diatur ke Alibaba Cloud Instance, dan parameter Enkripsi diatur ke SSL-encrypted, Anda dapat mengunggah sertifikat CA untuk memverifikasi koneksi ke database tujuan.

  4. Di bagian bawah halaman, klik Test Connectivity and Proceed.

    Catatan
    • Pastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.

    • Jika database sumber atau tujuan adalah database mandiri dan parameter Access Method tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek yang akan dimigrasikan.

    1. Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.

      Parameter

      Deskripsi

      Migration Types

      • 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.

      Catatan
      • Jika Anda tidak memilih Schema Migration, pastikan database dan tabel dibuat di database tujuan untuk menerima data dan fitur pemetaan nama objek diaktifkan di Selected Objects.

      • Jika Anda tidak memilih Incremental Data Migration, kami merekomendasikan Anda tidak menulis data ke database sumber selama migrasi data. Ini memastikan konsistensi data antara database sumber dan tujuan.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang menggunakan nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama identik, pemeriksaan awal berhasil dilewati. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dapat dimulai.

        Catatan

        Jika database sumber dan tujuan berisi tabel dengan nama identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan ke database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.

      • Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel identik di database sumber dan tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial berikut:

        • Jika database sumber dan tujuan memiliki skema yang sama, dan catatan data memiliki primary key yang sama dengan catatan data yang ada di database tujuan, skenario berikut mungkin terjadi:

          • Selama migrasi data penuh, DTS tidak memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

          • Selama migrasi data inkremental, DTS memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

        • Jika database sumber dan tujuan memiliki skema yang berbeda, hanya kolom tertentu yang dimigrasikan atau tugas migrasi data gagal. Lanjutkan dengan hati-hati.

      Capitalization of Object Names in Destination Instance

      Kapitalisasi nama database dan koleksi di instance tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan bahwa kapitalisasi nama objek sama dengan database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Tentukan kapitalisasi nama objek di instance tujuan.

      Source Objects

      Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon 向右小箭头 untuk menambahkan objek ke bagian Selected Objects.

      Catatan

      Anda dapat memilih koleksi atau database sebagai objek yang akan dimigrasikan.

      Selected Objects

      • Untuk menentukan nama objek yang akan dimigrasikan di instance tujuan atau menentukan objek untuk menerima data di instance tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.

      • Untuk menghapus satu atau beberapa objek yang dipilih untuk migrasi, klik objek di bagian Selected Objects lalu klik ikon image untuk memindahkan objek ke bagian Source Objects.

      Catatan
      • Untuk memilih mode migrasi inkremental untuk database dan koleksi, klik kanan objek yang akan dimigrasikan di bagian Selected Objects lalu pilih mode di kotak dialog yang muncul.

      • Untuk menentukan kondisi WHERE untuk menyaring data, klik kanan tabel di bagian Selected Objects. Di kotak dialog yang muncul, tentukan kondisi tersebut. Untuk informasi lebih lanjut, lihat Tentukan kondisi filter. Anda dapat menentukan kondisi WHERE selama migrasi penuh tetapi tidak selama migrasi inkremental.

      • Jika Anda menggunakan fitur pemetaan nama objek untuk menentukan database atau koleksi untuk menerima data, objek lain yang bergantung pada objek yang ditentukan mungkin gagal dimigrasikan.

    2. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas migrasi data ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, belilah klaster khusus. Untuk informasi lebih lanjut, lihat Apa Itu Klaster Khusus DTS?

      Retry Time for Failed Connections

      Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu ulang. Nilai valid: 10 hingga 1.440. Unit: menit. Nilai default: 720. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 30. Jika DTS tersambung kembali ke database sumber dan tujuan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas migrasi data yang berbagi database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan berlaku.

      • Saat DTS mencoba kembali koneksi, Anda dikenakan biaya untuk instance DTS. Kami merekomendasikan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah database sumber dan instance tujuan dilepaskan.

      Retry Time for Other Issues

      Rentang waktu ulang untuk masalah lainnya. Sebagai contoh, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba kembali operasi dalam rentang waktu ulang. Nilai valid: 1 hingga 1.440. Unit: menit. Nilai default: 10. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 10. Jika operasi gagal berhasil dilakukan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban pada server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh sesuai kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ini mengurangi beban pada server database tujuan.

      Catatan

      Anda dapat mengonfigurasi parameter ini hanya jika memilih Full Data Migration untuk parameter Migration Types.

      Only one data type for primary key _id in a table of the data to be synchronized

      Menentukan apakah tipe data primary key _id unik dalam koleksi yang akan dimigrasikan.

      Penting
      • Aktifkan parameter ini sesuai kebutuhan bisnis Anda. Jika tidak, kehilangan data mungkin terjadi.

      • Parameter ini hanya diperlukan jika Anda memilih Full Data Migration untuk parameter Migration Types.

      Nilai valid:

      • Yes: tipe data unik. Selama migrasi penuh, DTS tidak memindai tipe data primary key di database sumber. DTS hanya memigrasikan satu tipe data primary key dalam koleksi yang akan dimigrasikan.

      • No: tipe data tidak unik. Selama migrasi penuh, DTS memindai tipe data primary key di database sumber dan memigrasikan data dari semua tipe data.

      Enable Throttling for Incremental Data Migration

      Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ini mengurangi beban pada server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda memilih Incremental Data Migration untuk parameter Migration Types.

      Environment Tag

      Tag lingkungan yang digunakan untuk mengidentifikasi instance DTS. Anda dapat memilih tag lingkungan sesuai kebutuhan bisnis Anda. Dalam contoh ini, Anda tidak perlu mengonfigurasi parameter ini.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur extract, transform, dan load (ETL). Untuk informasi lebih lanjut, lihat Apa Itu ETL? Nilai valid:

      Monitoring and Alerting

      Menentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan menerima notifikasi. Nilai valid:

      • No: Tidak mengonfigurasi peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan Pemantauan dan Peringatan Saat Membuat Tugas DTS dari topik Konfigurasikan Pemantauan dan Peringatan.

    3. Klik Next Step: Data Verification untuk mengonfigurasi tugas verifikasi data.

      Untuk informasi lebih lanjut tentang cara menggunakan fitur verifikasi data, lihat Konfigurasikan Tugas Verifikasi Data.

  6. Simpan pengaturan tugas dan jalankan pra-pemeriksaan.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau telah melihat parameter, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum Anda dapat memulai tugas migrasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas migrasi data setelah tugas melewati pra-pemeriksaan.

    • Jika tugas gagal melewati pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan lagi.

    • Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pra-pemeriksaan lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  7. Beli instance.

    1. Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.

    2. Di halaman Purchase Instance, konfigurasikan parameter Kelas Instance untuk instance migrasi data. Tabel berikut menjelaskan parameter.

      Seksi

      Parameter

      Deskripsi

      New Instance Class

      Resource Group

      Grup sumber daya tempat instance migrasi data berada. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?

      Instance Class

      DTS menyediakan kelas instance yang bervariasi dalam kecepatan migrasi. Anda dapat memilih kelas instance berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instance tugas migrasi data.

    3. Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

    4. Klik Buy and Start. Di pesan yang muncul, klik OK.

      Anda dapat melihat kemajuan tugas di halaman Data Migration.

      Catatan
      • Jika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut secara otomatis berhenti. Completed ditampilkan di bagian Status .

      • Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak pernah berhenti atau selesai. Running ditampilkan di bagian Status.

  8. Opsional. Jika Anda mengatur parameter Access Method ke Self-managed Database on ECS atau Database Gateway untuk database MongoDB yang dikelola sendiri sumber, Anda perlu mengulangi Langkah 1 hingga 7 untuk membuat tugas migrasi data untuk shard yang tersisa.

  9. Hentikan tugas migrasi data.

    • Migrasi data penuh

      Kami merekomendasikan Anda tidak menghentikan tugas secara manual selama migrasi data penuh. Jika tidak, data yang dimigrasikan ke database 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.

      Catatan

      Kami merekomendasikan Anda memilih waktu yang tepat untuk menghentikan tugas migrasi data secara manual. Sebagai contoh, Anda dapat menghentikan tugas selama jam non-puncak atau sebelum Anda beralih beban kerja ke instance ApsaraDB for MongoDB.

      1. Tunggu hingga Incremental Data Migration ditampilkan di bilah kemajuan Running dari tugas migrasi data dan Undelayed ditampilkan di Operation Info. Lalu, hentikan penulisan data ke database sumber selama beberapa menit. Latensi migrasi data inkremental mungkin ditampilkan di bilah kemajuan.

      2. Setelah status Incremental Data Migration berubah menjadi Undelayed, hentikan tugas migrasi untuk semua shard secara manual.

  10. Beralih beban kerja Anda ke instance ApsaraDB for MongoDB tujuan.