All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data ApsaraDB for MongoDB ke Lindorm

Last Updated:Jul 21, 2026

Layanan Transmisi Data (DTS) menyinkronkan data dari ApsaraDB for MongoDB (replica set atau kluster sharded) ke Lindorm (mesin wide-column). Layanan ini stabil, hemat biaya, dan mudah digunakan, serta menawarkan konkurensi tinggi dan latensi rendah, sehingga ideal untuk berbagai kasus penggunaan seperti metadata, pesanan, tagihan, profil, dan jejaring sosial.

Prasyarat

  • Instans ApsaraDB for MongoDB sumber harus berada di wilayah Jerman (Frankfurt).

  • Instans ApsaraDB for MongoDB sumber harus memiliki arsitektur replica set atau kluster sharded.

    Penting

    Jika instans ApsaraDB for MongoDB sumber memiliki arsitektur kluster sharded, Anda harus memperoleh titik akhir untuk setiap node shard dan memverifikasi bahwa semua node shard menggunakan akun dan kata sandi yang sama. Untuk informasi lebih lanjut, lihat Ajukan titik akhir shard.

  • Buat instans Lindorm target yang menggunakan mesin tabel lebar dan memiliki kapasitas penyimpanan lebih besar daripada instans ApsaraDB for MongoDB sumber. Untuk informasi lebih lanjut, lihat Buat instans.

    Catatan

    Kapasitas penyimpanan instans target harus setidaknya 10% lebih besar daripada ruang penyimpanan yang digunakan oleh database sumber.

  • Buat tabel lebar di instans Lindorm sesuai kebutuhan bisnis. Untuk petunjuknya, lihat Hubungkan ke dan gunakan LindormTable dengan Lindorm-cli atau Hubungkan ke LindormTable dengan Lindorm Shell.

    Catatan

Peringatan

Jenis

Deskripsi

Batasan database sumber

  • Persyaratan bandwidth: Server tempat database sumber berada harus memiliki bandwidth keluar yang mencukupi. Jika tidak, kecepatan sinkronisasi dapat terpengaruh.

  • Koleksi yang akan disinkronkan harus memiliki kunci primer atau Kendala UNIK, dan nilai bidangnya harus unik. Jika tidak, data duplikat dapat muncul di database tujuan.

  • Jika MongoDB sumber Anda adalah instans kluster sharded, bidang _id dalam koleksi yang akan disinkronkan harus memiliki nilai unik. Jika tidak, ketidakkonsistenan data dapat terjadi.

  • Jika MongoDB sumber Anda adalah instans kluster sharded, jumlah node Mongos tidak boleh melebihi 10.

  • Jika instans sumber Anda adalah kluster sharded MongoDB yang dikelola sendiri:

    • Access Method hanya mendukung Express Connect, VPN Gateway, or Smart Access Gateway dan Cloud Enterprise Network (CEN).

    • Jika versi MongoDB Anda 8.0 atau lebih baru dan Migration Method adalah Oplog, pastikan akun Shard yang digunakan oleh tugas sinkronisasi memiliki izin directShardOperations. Tambahkan izin ini menggunakan perintah db.adminCommand({ grantRolesToUser: "username", roles: [{ role: "directShardOperations", db: "admin"}]}).

      Catatan

      Ganti username dalam perintah dengan akun Shard yang digunakan oleh tugas sinkronisasi.

    • Jika Migration Method adalah Oplog dan tugas mencakup sinkronisasi data penuh, pastikan akun Mongos untuk kluster sharded MongoDB sumber memiliki izin untuk menjalankan perintah db.runCommand({"balancerStatus":1}). DTS memeriksa apakah Balancer dinonaktifkan menggunakan perintah ini selama Pemeriksaan Awal.

  • Jika Anda melakukan sinkronisasi pada tingkat koleksi dan perlu mengedit objek (seperti mengganti nama koleksi), satu tugas sinkronisasi mendukung hingga 1.000 koleksi. Jika melebihi batas ini, tugas akan gagal dengan error setelah dikirim. Untuk mengatasinya, bagi koleksi menjadi beberapa batch dan konfigurasikan beberapa tugas. Atau konfigurasikan tugas sinkronisasi seluruh database.

  • Satu dokumen dalam database sumber Anda tidak boleh melebihi 16 MB. Jika tidak, tugas akan gagal.

  • Database sumber Anda tidak boleh berupa Azure Cosmos DB for MongoDB atau Amazon DocumentDB (klaster elastis).

  • Database sumber Anda harus mengaktifkan Oplog dan menyimpan Oplog setidaknya selama tujuh hari. Atau aktifkan Change Streams dan pastikan DTS dapat berlangganan perubahan data dalam tujuh hari terakhir melalui Change Streams. Jika tidak, DTS mungkin gagal menangkap perubahan data, menyebabkan kegagalan tugas. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidakkonsistenan atau kehilangan data. Masalah-masalah ini tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

    Penting
    • Kami menyarankan menggunakan Oplog untuk menangkap perubahan data.

    • Hanya MongoDB 4.0 dan versi lebih baru yang mendukung Change Streams. Change Streams tidak mendukung sinkronisasi dua arah.

    • Jika database sumber Anda adalah Amazon DocumentDB (klaster non-elastis), aktifkan Change Streams secara manual. Saat mengonfigurasi tugas, atur Migration Method ke ChangeStream dan atur Architecture ke Sharded Cluster.

  • Batasan operasi database sumber:

    • Selama sinkronisasi data penuh, jangan mengubah skema database atau koleksi (termasuk pembaruan data bertipe array). Jika tidak, tugas migrasi data dapat gagal atau menyebabkan ketidakkonsistenan data antara database sumber dan tujuan.

    • Jika Anda hanya melakukan sinkronisasi data penuh, jangan menulis data baru ke instans sumber. Jika tidak, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan.

    • Jika MongoDB sumber Anda adalah instans kluster sharded, saat instans sinkronisasi sedang berjalan, jangan jalankan perintah yang mengubah distribusi data pada objek yang akan disinkronkan di database sumber (misalnya, shardCollection, reshardCollection, unshardCollection, moveCollection, atau movePrimary). Jika tidak, ketidakkonsistenan data dapat terjadi.

  • Jika koleksi yang akan disinkronkan berisi indeks TTL, ketidakkonsistenan data atau latensi dapat terjadi.

  • Pastikan tidak ada dokumen yatim (orphaned documents) di instans kluster sharded MongoDB Anda. Jika tidak, ketidakkonsistenan data atau kegagalan tugas dapat terjadi. Untuk informasi lebih lanjut, lihat dokumen yatim dan Cara membersihkan dokumen yatim di MongoDB (arsitektur kluster sharded).

  • Jika MongoDB sumber Anda adalah kluster sharded dan Balancer melakukan penyeimbangan data, latensi dapat terjadi.

  • DTS tidak mendukung koneksi ke database MongoDB menggunakan alamat SRV.

Batasan lainnya

  • Hanya tugas sinkronisasi dalam wilayah Jerman (Frankfurt) yang didukung.

  • DTS tidak mendukung sinkronisasi data dari database admin, config, dan local.

  • Koleksi Lindorm tujuan tidak boleh memiliki bidang bernama _id atau _value. Jika tidak, sinkronisasi akan gagal.

  • Jika Anda memerlukan sinkronisasi inkremental untuk operasi UPDATE atau DELETE, terapkan batasan berikut:

    • Jika tabel lebar dibuat menggunakan Lindorm SQL, tambahkan kolom non-kunci primer bernama _mongo_id_ saat membuat tabel. Tipe datanya harus sesuai dengan tipe bidang _id di MongoDB. Buat juga indeks sekunder pada kolom ini.

    • Jika tabel lebar dibuat menggunakan API HBase, tambahkan kolom non-kunci primer bernama _mongo_id_ di family kolom f saat membuat tabel. Tipe datanya harus sesuai dengan tipe bidang _id di MongoDB. Buat juga indeks sekunder pada kolom ini. Jika Anda menggunakan kolom baru ini bersama ETL, pastikan tidak ada data duplikat di Lindorm.

  • Informasi transaksi tidak dipertahankan. Transaksi di database sumber menjadi catatan individual di database tujuan.

  • Data yang akan disinkronkan di instans Lindorm harus memenuhi persyaratan yang ditentukan dalam Batasan permintaan. Jika tidak, tugas akan gagal.

  • Evaluasi kinerja database sumber dan tujuan sebelum sinkronisasi. Jalankan sinkronisasi selama jam sepi. Jika tidak, sinkronisasi data penuh akan mengonsumsi sumber daya baca dan tulis, sehingga meningkatkan beban database.

  • Sinkronisasi data penuh menjalankan operasi INSERT secara konkuren. Hal ini menyebabkan fragmentasi pada koleksi database tujuan. Setelah sinkronisasi penuh, ruang penyimpanan koleksi di database tujuan lebih besar daripada di instans sumber.

  • Konfirmasi bahwa presisi sinkronisasi DTS untuk kolom FLOAT atau DOUBLE memenuhi ekspektasi bisnis Anda. DTS membaca kolom-kolom ini menggunakan ROUND(COLUMN,PRECISION). Jika presisi tidak ditentukan, DTS menggunakan 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • DTS mencoba memulihkan tugas sinkronisasi yang gagal dalam waktu tujuh hari. Sebelum mengalihkan traffic ke instans tujuan, akhiri atau lepas tugas tersebut. Atau gunakan perintah revoke untuk mencabut izin tulis akun DTS pada instans tujuan. Hal ini mencegah pemulihan otomatis menimpa data tujuan dengan data sumber.

  • DTS menghitung latensi sinkronisasi inkremental dengan membandingkan stempel waktu dokumen terakhir yang disinkronkan dengan stempel waktu saat ini. Jika database sumber tidak memiliki pembaruan dalam waktu lama, informasi latensi mungkin tidak akurat. Jika latensi tampak terlalu tinggi, jalankan operasi pembaruan di database sumber untuk memperbarui informasi latensi.

  • DTS tidak mendukung sinkronisasi koleksi time-series yang diperkenalkan di MongoDB 5.0 dan versi lebih baru.

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Modifikasi parameter instans.

Penagihan

Jenis sinkronisasi

Biaya konfigurasi tugas

Sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenakan biaya. Untuk informasi lebih lanjut, lihat ikhtisar penagihan.

Jenis sinkronisasi

Jenis

Deskripsi

Sinkronisasi data penuh

Memindahkan semua data yang ada di objek yang dipilih dari instans ApsaraDB for MongoDB sumber ke instans Lindorm tujuan.

Catatan

Sinkronisasi data penuh didukung untuk database dan koleksi.

Sinkronisasi data inkremental

Menyinkronkan perubahan data berkelanjutan dari instans ApsaraDB for MongoDB sumber ke instans Lindorm tujuan setelah sinkronisasi data penuh awal.

Catatan
  • Hanya operasi insert, update, dan delete pada dokumen dalam koleksi yang didukung.

  • Untuk pembaruan dokumen, hanya mereplikasi operasi yang menggunakan perintah $set.

Izin akun database

Database

Izin

Aksi

Sumber ApsaraDB for MongoDB

Izin baca pada database sumber, admin, dan local.

Manajemen izin untuk pengguna database MongoDB

Target Lindorm

Izin baca dan tulis pada namespace tujuan.

Mengelola kontrol akses

Catatan

Jika Anda menggunakan ChangeStream sebagai metode sinkronisasi inkremental, akun database sumber memerlukan izin baca Change Streams tingkat instans (seperti readAnyDatabase). Jika sumbernya adalah instans ApsaraDB for MongoDB dengan akun kustom, Anda juga harus memberikan izin baca akun tersebut pada database admin. Untuk detailnya, lihat Izin akun root yang ditentukan saat pembuatan instans.

Prosedur

  1. Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:

    Dari Konsol DTS

    1. Masuk ke Konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari Konsol DMS

    Catatan

    Operasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    1. Masuk ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Kategori

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama ini 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.

      Catatan

      Di 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 tempat instans ApsaraDB for MongoDB sumber berada.

    Replicate Data Across Alibaba Cloud Accounts

    Contoh ini menunjukkan cara menyinkronkan data dalam satu Akun Alibaba Cloud. Pilih No.

    Architecture

    Dalam contoh ini, pilih Replica Set.

    Catatan

    Jika instans ApsaraDB for MongoDB sumber adalah Sharded Cluster, Anda juga harus menentukan Shard account dan Shard password.

    Migration Method

    Pilih metode untuk sinkronisasi data inkremental berdasarkan kebutuhan Anda.

    • Oplog (Direkomendasikan):

      Opsi ini tersedia jika Oplog diaktifkan untuk database sumber.

      Catatan

      Oplog 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 menyarankan memilih Oplog.

    • ChangeStream:

      Opsi ini tersedia jika Change Streams diaktifkan untuk database sumber.

      Catatan
      • Jika 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 ApsaraDB for MongoDB sumber.

    Authentication Database

    Masukkan nama database autentikasi untuk instans ApsaraDB for MongoDB sumber. Nilai default-nya adalah admin.

    Database Account

    Masukkan akun database untuk instans ApsaraDB for MongoDB sumber Anda. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Masukkan kata sandi 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 sumbernya 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.

      Catatan

      Di 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 Lindorm.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans Lindorm tujuan berada.

    Instance ID

    Pilih ID instans Lindorm tujuan.

    Database Account

    Masukkan akun database untuk instans Lindorm tujuan. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

  4. 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 lebih lanjut, 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.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Incremental Data Synchronization dipilih. Anda hanya dapat memilih Full Data Synchronization. Schema Synchronization tidak didukung. Setelah Pemeriksaan Awal selesai, DTS menyinkronkan data 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

      Tidak perlu konfigurasi. Anda dapat mempertahankan pengaturan default.

      Capitalization of Object Names in Destination Instance

      Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database dan koleksi dalam bahasa Inggris yang disinkronkan ke instans tujuan. Anda dapat memilih DTS default policy, yang merupakan opsi default, atau menggunakan kebijakan default database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan

      Anda dapat memilih objek pada tingkat koleksi.

      Selected Objects

      Jika Anda menggunakan Lindorm SQL untuk membuat tabel lebar di database tujuan, Anda harus mengonfigurasi kolom tambahan untuk sinkronisasi. Kolom yang tidak dikonfigurasi tidak akan disinkronkan.

      1. Edit pemetaan nama database.

        1. Di kotak Selected Objects, klik kanan database yang berisi koleksi yang ingin disinkronkan.

        2. Ubah Schema Name menjadi nama database tujuan di Lindorm.

          Di kotak dialog yang muncul, pilih operasi DML yang akan disinkronkan (insert, update, dan delete). Di bagian Additional Columns, klik + New Column untuk menambahkan kolom. Lalu, klik OK.

        3. Opsional: Di bagian Select DML Operations to Be Synchronized, pilih operasi inkremental yang ingin disinkronkan.

        4. Klik OK.

      2. Edit pemetaan nama tabel.

        1. Di kotak Selected Objects, klik kanan koleksi yang ingin disinkronkan.

        2. Ubah Table Name menjadi nama tabel tujuan di Lindorm.

          Di kotak dialog Edit Table, Anda juga dapat mengatur Filter Conditions. Sintaks kondisi filter ApsaraDB for MongoDB berbeda dari klausa WHERE SQL standar. Di bagian Select DML Operations to Be Synchronized, pilih insert, update, dan delete. Di bagian Additional Columns, klik + New Column untuk menambahkan kolom ke tabel tujuan untuk tujuan seperti manajemen metadata, pengurutan, atau deduplikasi. Setelah menyelesaikan pengaturan, klik OK.

        3. Opsional: Atur kondisi filter. Untuk informasi lebih lanjut, lihat Atur kondisi filter.

        4. Opsional: Di bagian Select DML Operations to Be Synchronized, pilih operasi inkremental yang ingin disinkronkan.

      3. Konfigurasikan bidang MongoDB yang akan disinkronkan.

        Secara default, DTS memetakan data koleksi yang akan disinkronkan dan mengonfigurasi ekspresi di kolom Parameter Value. Anda harus memeriksa apakah ekspresi tersebut memenuhi kebutuhan Anda dan menentukan informasi seperti Column Name, Type, Length, dan Precision.

        1. Di kolom Parameter Value, lihat nama bidang di MongoDB dalam ekspresi bson_value().

          Konten yang diapit oleh "" adalah nama bidang di MongoDB. Misalnya, jika ekspresinya adalah bson_value("age"), baris ini sesuai dengan bidang age di MongoDB.

        2. Opsional: Hapus bidang yang tidak ingin disinkronkan.

          Catatan

          Untuk menghapus bidang yang tidak ingin disinkronkan, klik ikon image di baris yang sesuai.

        3. Konfigurasikan bidang yang akan disinkronkan.

          Lakukan langkah-langkah berikut berdasarkan apakah ekspresi bson_value() memenuhi kebutuhan Anda.

          Ekspresi yang cocok

          1. Masukkan Column Name.

            Catatan

            Ini adalah nama kolom tujuan di tabel Lindorm.

            • Jika tabel tujuan dibuat menggunakan SQL, masukkan nama kolom di tabel Lindorm untuk parameter Column Name.

            • Jika tabel tujuan dibuat menggunakan HBase dan Anda perlu menggunakan fitur tambah kolom, Anda harus menambahkan pemetaan kolom sebelum mengubah nama kolom. Untuk informasi lebih lanjut, lihat Contoh penambahan pemetaan kolom untuk tabel HBase. Konfigurasikan Column Name sebagai berikut:

              • Jika kolom adalah kunci primer, masukkan ROW.

              • Jika kolom bukan kunci primer, gunakan format column_family:column_name, seperti person:name.

          2. Pilih Type data untuk kolom tersebut.

            Penting

            Pastikan tipe data tabel tujuan kompatibel dengan data di database MongoDB sumber.

          3. Opsional: Konfigurasikan Length dan Precision untuk data kolom.

          4. Ulangi langkah-langkah ini untuk memetakan semua bidang yang relevan.

          Ekspresi yang tidak cocok

          Catatan

          Misalnya, bidang yang memiliki struktur hierarkis (parent-child).

          1. Di kolom Actions, klik ikon image di baris yang sesuai.

          2. Klik + New Column. Di bagian Additional Columns, klik tombol + New Column di pojok kanan atas.

          3. Konfigurasikan Column Name, Type, Length, dan Precision.

          4. Di kotak teks di bawah Parameter Value, masukkan ekspresi bson_value(). Untuk informasi lebih lanjut, lihat Contoh penugasan nilai.

            Penting
            • Nilai bson_value("_id") harus ditugaskan ke kolom kunci primer tabel tujuan.

            • Saat mengonfigurasi ekspresi bson_value(), Anda harus menentukan jalur hingga subfield tingkat terendah dalam hierarki. Jika tidak, kehilangan data dapat terjadi atau tugas mungkin gagal.

          5. Ulangi langkah-langkah ini untuk memetakan semua bidang yang relevan.

      4. Klik OK.

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

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, 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 mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan Anda 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 akan 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 mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi 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 sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi percobaan ulang terus-menerus. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.

      Penting

      Nilai 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 dan 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 ketika Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi sedang berjalan.

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

      Tentukan apakah tipe data kunci primer _id unik dalam setiap koleksi yang akan disinkronkan.

      Penting
      • Pilih 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 unik. Selama fase sinkronisasi penuh, DTS tidak memindai tipe data kunci primer di data sumber. Untuk setiap koleksi, DTS hanya menyinkronkan data yang sesuai dengan satu tipe data kunci primer.

      • No: Tipe data tidak unik. Selama fase sinkronisasi penuh, DTS memindai tipe data kunci primer di 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 Anda. Dalam contoh ini, tidak perlu pemilihan.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:

      Catatan

      Jika tabel tujuan dibuat menggunakan HBase, perhatikan hal berikut:

      • Sintaks ETL mencakup kolom yang akan dikonfigurasi dan kolom yang akan dikecualikan. Selama sinkronisasi, semua bidang tingkat atas dokumen MongoDB yang dikonfigurasi ETL-nya disimpan di family kolom default f tabel HBase. Contoh berikut menunjukkan cara menulis semua elemen kecuali dua elemen tingkat atas _id dan name sebagai kolom dinamis ke tabel tujuan. Untuk informasi lebih lanjut, lihat Contoh sinkronisasi tabel HBase (ETL).

        script:e_expand_bson_value("*", "_id,name")
      • Jika Anda perlu menggunakan fitur kolom baru dan fitur ETL secara bersamaan, pastikan data di Lindorm tidak duplikat.

      • Kolom yang tidak dikonfigurasi baik dengan fitur kolom baru maupun fitur ETL tidak akan disinkronkan ke database tujuan.

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

  6. 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 ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

    1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara rinci.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya daripada bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Bayar sesuai penggunaan: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

      Konfigurasi Kelompok Sumber Daya

      Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Manajemen Sumber Daya?.

      Spesifikasi Link

      DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi link sinkronisasi data.

      Durasi Langganan

      Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.

      Catatan

      Opsi ini hanya tersedia ketika metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK, klik OK.

      Anda dapat melihat progres tugas di halaman Data Synchronization.

Tambahkan pemetaan kolom ke tabel HBase

Contoh ini menunjukkan perintah yang dijalankan di SQL Shell.

Catatan

Fitur ini memerlukan Lindorm 2.4.0 atau lebih baru.

  1. Tambahkan pemetaan kolom ke tabel HBase.

    ALTER TABLE test MAP DYNAMIC COLUMN f:_mongo_id_ HSTRING/HINT/..., person:name HSTRING, person:age HINT;
  2. Buat indeks sekunder pada tabel HBase.

    CREATE INDEX idx ON test(f:_mongo_id_);

Contoh: ETL untuk tabel HBase

Dokumen MongoDB

{
  "_id" : 0,
  "person" : {
    "name" : "cindy0",
    "age" : 0,
    "student" : true
  }
}

Pernyataan pemrosesan ETL

script:e_expand_bson_value("*", "_id")

Hasil sinkronisasi

0: jdbc:lindorm:xxx> select * from mongo_test_dynamic_column limit 3;
+------+------+-------------+----------------------------------------------------------+
| ROW  | COL  | _mongo_id_  |                         person                           |
+------+------+-------------+----------------------------------------------------------+
|      | 0    |             | { "name" : "cindy0", "age" : 0, "student" : true }      |
|      | 1    |             | { "name" : "cindy1", "age" : 1, "student" : false }     |
|      | 2    |             | { "name" : "cindy2", "age" : 2, "student" : true }      |
+------+------+-------------+----------------------------------------------------------+
3 rows selected (0.009 seconds)

Contoh penugasan nilai

Struktur data ApsaraDB for MongoDB sumber

{
  "_id":"62cd344c85c1ea6a2a9f****",
  "person":{
    "name":"neo",
    "age":"26",
    "sex":"male"
  }
}

Skema tabel Lindorm tujuan

Parameter

Tipe

id

STRING

person_name

STRING

person_age

BIGINT

Konfigurasi penugasan nilai

Penting

Anda harus menentukan jalur hierarkis lengkap dalam ekspresi bson_value() untuk mencegah kehilangan data atau kegagalan tugas. Misalnya, jika Anda mengatur ekspresi menjadi bson_value("person"), DTS tidak dapat menyinkronkan data inkremental dari subfield objek person (seperti name, age, dan sex) ke tujuan.

Parameter

Tipe

Nilai

id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

BIGINT

bson_value("person","age")