Layanan Transmisi Data (DTS) memungkinkan Anda menyinkronkan data ke kluster sharded MongoDB dan menentukan nilai default untuk kunci sharding, meskipun bidang kunci sharding tidak tersedia dalam data sumber. Topik ini menjelaskan cara menyinkronkan data dari instans ApsaraDB for MongoDB tipe replica set ke instans ApsaraDB for MongoDB tipe kluster sharded.
Prasyarat
-
Buat instans tujuan ApsaraDB for MongoDB tipe kluster sharded. Untuk informasi selengkapnya, lihat Buat instans kluster sharded.
Catatan-
Jika sumber berupa instans ApsaraDB for MongoDB tipe kluster sharded, titik akhir untuk setiap shard harus tersedia, dan semua shard harus menggunakan akun serta kata sandi yang sama. Untuk petunjuknya, lihat Ajukan titik akhir shard.
-
Untuk daftar versi yang didukung, lihat Ikhtisar skenario sinkronisasi.
-
-
Instans tujuan ApsaraDB for MongoDB harus memiliki ruang penyimpanan lebih besar daripada instans sumber ApsaraDB for MongoDB, dengan minimal 10% lebih besar.
-
Buat database dan koleksi yang diperlukan, konfigurasikan sharding, aktifkan balancer, dan lakukan pre-sharding pada instans tujuan ApsaraDB for MongoDB. Untuk informasi selengkapnya, lihat Konfigurasi sharding untuk memaksimalkan kinerja shard dan Cara menyeimbangkan distribusi data pada instans kluster sharded MongoDB.
CatatanKonfigurasi sharding mendistribusikan data ke beberapa shard guna memaksimalkan kinerja kluster. Mengaktifkan balancer dan melakukan pre-sharding membantu mencegah kesenjangan data.
Batasan
|
Tipe |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
Jika database sumber Anda adalah MongoDB yang dikelola sendiri:
Catatan
Jika Anda memilih sinkronisasi seluruh database, buat tabel heartbeat. Perbarui atau tulis ke tabel ini setiap detik. |
Penagihan
|
Tipe sinkronisasi |
Harga |
|
Sinkronisasi skema dan sinkronisasi data penuh |
Gratis. |
|
Sinkronisasi data inkremental |
Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Tipe sinkronisasi
Tipe | Deskripsi |
Sinkronisasi skema | Mereplikasi skema objek yang dipilih dari instans sumber ApsaraDB for MongoDB ke instans tujuan ApsaraDB for MongoDB. |
Sinkronisasi data penuh | Mereplikasi semua data historis untuk objek yang dipilih dari instans sumber ApsaraDB for MongoDB ke instans tujuan ApsaraDB for MongoDB. Catatan Sinkronisasi data penuh didukung pada tingkat database dan koleksi. |
Sinkronisasi data inkremental | Mereplikasi perubahan berkelanjutan dari instans sumber ApsaraDB for MongoDB ke instans tujuan ApsaraDB for MongoDB setelah sinkronisasi data penuh selesai. OplogSinkronisasi data inkremental tidak mereplikasi database yang dibuat setelah tugas dimulai. Perubahan berikut direplikasi:
Change streamPerubahan berikut direplikasi:
|
Izin akun database
|
Database |
Izin yang diperlukan |
Metode otorisasi |
|
Instans sumber ApsaraDB for MongoDB |
Izin |
|
|
Instans tujuan ApsaraDB for MongoDB |
Izin |
Prosedur
-
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari konsol DTS
-
Masuk ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Synchronization.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari konsol DMS
CatatanOperasi aktual dapat berbeda tergantung mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.
-
Masuk ke Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Bagian
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan memberikan nama deskriptif agar mudah diidentifikasi. Nama tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.
Database Type
Pilih MongoDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans sumber ApsaraDB for MongoDB.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, sinkronisasi dilakukan dalam satu Akun Alibaba Cloud. Pilih No.
Architecture
Dalam contoh ini, pilih Replica Set.
-
Replica Set: Arsitektur ini menggunakan beberapa node untuk menyediakan ketersediaan tinggi dan pemisahan baca/tulis. Untuk informasi selengkapnya, lihat arsitektur replica set.
-
Sharded Cluster: Arsitektur ini menyediakan komponen Mongos, Shard, dan ConfigServer. Anda dapat menyesuaikan jumlah dan konfigurasi node Mongos dan Shard. Untuk informasi selengkapnya, lihat arsitektur kluster sharded.
Migration Method
Pilih metode untuk sinkronisasi data inkremental sesuai kebutuhan Anda.
Oplog (Direkomendasikan):
Opsi ini tersedia jika Oplog diaktifkan untuk database sumber.
CatatanOplog diaktifkan secara default untuk database MongoDB yang dikelola sendiri dan instans ApsaraDB for MongoDB. Metode ini menawarkan latensi lebih rendah untuk tugas sinkronisasi inkremental karena log diambil lebih cepat. Kami merekomendasikan memilih Oplog.
ChangeStream:
Opsi ini tersedia jika Change Streams diaktifkan untuk database sumber.
CatatanJika database sumber adalah instans Amazon DocumentDB (klaster non-elastis), Anda hanya dapat memilih ChangeStream.
Jika Anda mengatur Architecture database sumber ke Sharded Cluster, Anda tidak perlu menentukan Shard account dan Shard password.
Instance ID
Pilih ID instans sumber ApsaraDB for MongoDB.
Authentication Database
Masukkan nama database untuk akun database instans sumber ApsaraDB for MongoDB. Default-nya adalah admin.
Database Account
Masukkan akun database untuk instans sumber ApsaraDB for MongoDB. Untuk informasi tentang izin yang diperlukan, lihat 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.
CatatanDatabase 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 (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.
Database Type
Pilih MongoDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans tujuan ApsaraDB for MongoDB.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang termasuk dalam Akun Alibaba Cloud saat ini. Pilih No.
Architecture
Dalam contoh ini, pilih Sharded Cluster.
Instance ID
Pilih ID instans tujuan ApsaraDB for MongoDB.
Authentication Database
Masukkan nama database untuk akun database pada instans tujuan ApsaraDB for MongoDB. Default-nya adalah admin.
Database Account
Masukkan akun database untuk instans tujuan ApsaraDB for MongoDB. Untuk informasi tentang izin yang diperlukan, lihat 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.
CatatanDatabase 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 blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah Pemeriksaan Awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa koleksi dengan nama yang sama di database tujuan. Jika ditemukan koleksi dengan nama yang sama, error dilaporkan dan tugas sinkronisasi data tidak dimulai. Jika tidak, Pemeriksaan Awal berhasil.
CatatanJika Anda tidak dapat menghapus atau mengganti nama koleksi dengan nama yang sama di database tujuan, Anda dapat mengubah nama koleksi di database tujuan. Untuk informasi selengkapnya, lihat Atur nama objek sinkronisasi di instans tujuan.
-
Ignore Errors and Proceed: Melewati pemeriksaan koleksi dengan nama yang sama di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan membahayakan bisnis Anda. Misalnya:
-
Jika catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber, catatan di database tujuan dipertahankan. Catatan dari database sumber tidak disinkronkan ke database tujuan.
-
Hal ini dapat menyebabkan inisialisasi data gagal, hanya sebagian data yang disinkronkan, atau seluruh sinkronisasi gagal.
-
Synchronization Topology
Pilih One-way Synchronization.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan case sensitivity untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat menyinkronkan database atau koleksi.
Selected Objects
-
Untuk menentukan nama database tujuan di kluster sharded ApsaraDB for MongoDB:
Klik kanan database di bawah Selected Objects. Pada kotak dialog Edit Schema, ubah Schema Name menjadi nama database yang diinginkan di kluster sharded ApsaraDB for MongoDB tujuan. Untuk informasi selengkapnya, lihat Memetakan nama objek.
-
Untuk menentukan nama koleksi tujuan di kluster sharded ApsaraDB for MongoDB:
Klik kanan koleksi di bawah Selected Objects. Di kotak dialog Edit Table, ubah Table Name menjadi nama koleksi yang diinginkan di kluster sharded ApsaraDB for MongoDB tujuan.
PentingAnda hanya dapat menentukan koleksi tujuan saat memilih koleksi sebagai objek sinkronisasi.
Catatan-
Untuk mengatur kondisi filter (didukung untuk sinkronisasi penuh tetapi tidak untuk sinkronisasi inkremental), klik kanan tabel di bawah Selected Objects dan tentukan kondisinya. Untuk informasi selengkapnya, lihat Atur kondisi filter.
-
Jika Anda menggunakan fitur pemetaan nama objek untuk menentukan database atau koleksi tujuan, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronkan.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, sehingga Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom antara 10 hingga 1.440 menit. Kami merekomendasikan mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek, yaitu 30 menit, akan digunakan untuk keduanya.
-
Karena DTS menagih berdasarkan waktu proses tugas selama periode percobaan ulang koneksi, kami merekomendasikan menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis Anda atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera melakukan operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca/tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
Catatan-
Item konfigurasi ini hanya tersedia saat Synchronization Types diatur ke Full Data Synchronization.
-
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Only one data type for primary key _id in a table of the data to be synchronized
Tentukan apakah tipe data primary key
_idbersifat unik dalam setiap koleksi yang akan disinkronkan.PentingPilih opsi berdasarkan data aktual Anda. Pemilihan yang salah dapat menyebabkan kehilangan data.
Parameter ini hanya tersedia jika Synchronization Types mencakup Full Data Synchronization.
Yes: Tipe data bersifat unik. Selama fase sinkronisasi penuh, DTS tidak memindai tipe data primary key dalam data sumber. Untuk setiap koleksi, DTS hanya menyinkronkan data yang sesuai dengan satu tipe data primary key.
No: Tipe data tidak unik. Selama fase sinkronisasi penuh, DTS memindai tipe data primary key dalam data sumber dan menyinkronkan semua data.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, tidak ada tag yang dipilih.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL?. Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasi peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
-
-
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasi validasi data untuk instruksi konfigurasi.
-
Klik Next: Configure Database and Table Fields.
-
Di baris koleksi tujuan, klik Set Default Value.
CatatanJika Number of Shard Keys untuk Table Name (koleksi) adalah 0, artinya koleksi tujuan tidak memiliki kunci sharding, dan Anda tidak perlu menetapkan nilai default.
-
Pilih Shard key default value type.
CatatanSaat ini, hanya string dan int yang didukung untuk Shard key default value type.
-
Tetapkan Default Value untuk ShardKey.
Penting-
Nilai default kunci shard yang Anda tetapkan hanya berlaku jika versi kluster sharded ApsaraDB for MongoDB tujuan lebih awal dari 4.4.
-
Anda harus menetapkan nilai default untuk semua kunci shard objek yang akan disinkronkan. Jika tidak, peringatan akan muncul selama fase Precheck, yang bahkan dapat menyebabkan tugas gagal.
-
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
-
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan membahayakan bisnis Anda.
-
-
-
Beli instans.
-
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara detail.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
-
Langganan: Anda membayar saat membuat instans. Cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Bayar sesuai penggunaan: Anda ditagih per jam. Cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.
Subscription Duration
Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia saat metode penagihan adalah Subscription.
-
-
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Data Synchronization.
-