全部产品
Search
文档中心

Data Transmission Service:Migrasi data dari instans ApsaraDB untuk MongoDB ke instans ApsaraDB RDS untuk MySQL

更新时间:Jul 06, 2025

Topik ini menjelaskan cara memigrasikan data dari replika set ApsaraDB untuk MongoDB ke instans ApsaraDB RDS untuk MySQL menggunakan Data Transmission Service (DTS).

Prasyarat

  • Jika database sumber adalah klaster sharded ApsaraDB untuk MongoDB, Anda harus mengajukan titik akhir untuk semua node shard. Node shard dalam instans klaster sharded harus berbagi kata sandi akun dan titik akhir yang sama. Untuk informasi lebih lanjut tentang cara mengajukan titik akhir, lihat Ajukan Titik Akhir untuk Shard.

  • Instans tujuan ApsaraDB RDS untuk MySQL telah dibuat. Ruang penyimpanan yang tersedia pada instans ini lebih besar daripada total ukuran data di database sumber. Untuk informasi lebih lanjut, lihat Buat Instans ApsaraDB RDS untuk MySQL.

    Catatan

    Ruang penyimpanan yang tersedia di database tujuan direkomendasikan 10% lebih besar daripada total ukuran data di database sumber.

  • Sebuah database dan tabel dengan kolom kunci utama telah dibuat di instans tujuan ApsaraDB RDS untuk MySQL untuk menerima data. Untuk informasi lebih lanjut, lihat Kelola Database.

    Penting
    • Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instans ApsaraDB untuk MongoDB. Sebagai contoh, jika bidang _id dari instans ApsaraDB untuk MongoDB adalah tipe ObjectId, tipe data instans ApsaraDB RDS untuk MySQL harus varchar.

    • Hindari menamai kolom tabel tujuan di instans ApsaraDB RDS untuk MySQL sebagai _id atau _value.

Catatan penggunaan

Tipe

Deskripsi

Batasan pada database sumber

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

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

  • Hanya migrasi data penuh yang didukung ketika database sumber adalah instans ApsaraDB untuk MongoDB mandiri, klaster Azure Cosmos DB untuk MongoDB, atau klaster elastis Amazon DocumentDB.

  • Untuk melakukan migrasi data inkremental, Anda harus memastikan bahwa persyaratan berikut terpenuhi:

    Fitur oplog diaktifkan untuk database sumber dan log operasi database sumber disimpan selama minimal tujuh hari. Atau, aliran perubahan diaktifkan untuk database sumber dan DTS dapat menggunakan aliran perubahan untuk berlangganan perubahan data di database sumber dalam tujuh hari terakhir. Jika tidak, DTS mungkin gagal mendapatkan log operasi dan tugas migrasi data mungkin gagal. Dalam keadaan luar biasa, ketidaksesuaian data atau kehilangan data mungkin terjadi. Perjanjian tingkat layanan (SLA) DTS tidak mencakup masalah ini.

    Penting
    • Kami sarankan Anda menggunakan fitur oplog untuk mendapatkan perubahan data di database sumber.

    • Anda hanya dapat menggunakan aliran perubahan untuk mendapatkan perubahan data di database sumber jika database sumber menjalankan MongoDB V4.0 atau lebih baru.

    • Jika database sumber adalah klaster inelastis Amazon DocumentDB, Anda harus mengaktifkan aliran perubahan untuk database dan mengatur parameter Migration Method ke ChangeStream dan parameter Architecture ke Sharded Cluster saat Anda mengonfigurasi tugas migrasi data.

  • Jika database sumber adalah instans klaster sharded ApsaraDB untuk MongoDB, bidang _id dalam koleksi yang akan dimigrasikan harus unik. Jika tidak, ketidaksesuaian data mungkin terjadi.

  • Jika database sumber adalah instans klaster sharded ApsaraDB untuk MongoDB, jumlah node Mongos di instans tidak boleh melebihi 10. Anda juga harus memastikan bahwa instans klaster sharded ApsaraDB untuk MongoDB sumber tidak mengandung dokumen yatim piatu. Jika tidak, ketidaksesuaian data mungkin terjadi dan tugas mungkin gagal. Untuk informasi lebih lanjut, lihat dokumentasi MongoDB dan bagian Bagaimana cara saya menghapus dokumen yatim piatu dari database MongoDB yang diterapkan dalam arsitektur klaster sharded? dari topik FAQ.

  • Batasan pada operasi yang akan dilakukan pada database sumber:

    • Selama migrasi data penuh, jangan mengubah skema database atau koleksi atau data tipe ARRAY. Jika tidak, tugas migrasi data gagal, atau ketidaksesuaian data terjadi antara database sumber dan tujuan.

    • Jika Anda hanya melakukan migrasi data penuh, jangan menulis data ke database sumber selama migrasi data. Jika tidak, ketidaksesuaian data terjadi antara database sumber dan tujuan.

  • Jika database sumber adalah instans klaster sharded ApsaraDB untuk MongoDB, dan balancer ApsaraDB untuk MongoDB diaktifkan, instans mungkin tertunda.

Batasan lainnya

  • Anda hanya dapat memilih koleksi sebagai objek yang akan dimigrasikan.

  • Tabel yang digunakan untuk menerima data di instans tujuan ApsaraDB RDS untuk MySQL harus memiliki kolom kunci utama unik, bukan kunci utama komposit. Selain itu, saat Anda mengonfigurasi bidang migrasi di bagian Selected Objects, Assign Value dari bson_value("_id") ke kunci utama unik.

  • Tabel yang digunakan untuk menerima data di instans tujuan ApsaraDB RDS untuk MySQL tidak boleh berisi bidang yang bernama _id atau _value. Jika tidak, tugas migrasi data gagal.

  • Jika tipe data instans tujuan ApsaraDB RDS untuk MySQL tidak kompatibel dengan data di instans sumber ApsaraDB untuk MongoDB, tugas migrasi data gagal.

  • DTS tidak dapat memigrasikan data dari database admin atau local.

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

  • Jika data yang akan dimigrasikan berisi informasi seperti karakter langka atau emoji yang memakan empat byte, database dan tabel tujuan untuk menerima data harus menggunakan set karakter UTF8mb4.

  • Catatan

    Jika Anda menggunakan fitur migrasi skema DTS, atur parameter instans character_set_server di database tujuan ke set karakter UTF8mb4.

  • Sebelum Anda memigrasikan data, evaluasi dampak migrasi data terhadap kinerja database sumber dan tujuan. Kami sarankan Anda memigrasikan data selama jam-jam sepi. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban server database.

  • Selama migrasi data penuh, operasi INSERT bersamaan menyebabkan fragmentasi dalam koleksi database tujuan. Setelah migrasi data penuh selesai, ruang penyimpanan untuk koleksi database tujuan lebih besar daripada database sumber.

  • Anda harus memastikan bahwa pengaturan presisi untuk kolom tipe FLOAT atau DOUBLE memenuhi kebutuhan bisnis Anda. DTS menggunakan fungsi ROUND(COLUMN,PRECISION) untuk mengambil nilai dari kolom tipe FLOAT atau DOUBLE. Jika Anda tidak menentukan presisi, DTS menetapkan presisi untuk tipe data FLOAT menjadi 38 digit dan presisi untuk tipe data DOUBLE menjadi 308 digit.

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

  • DTS menghitung latensi migrasi data inkremental berdasarkan timestamp data terbaru yang dimigrasikan di database tujuan dan timestamp saat ini di database sumber. Jika tidak ada operasi pembaruan yang dilakukan pada database sumber untuk periode waktu yang lama, latensi migrasi mungkin tidak akurat. Jika latensi tugas migrasi terlalu tinggi, Anda dapat melakukan operasi pembaruan pada database sumber untuk memperbarui latensi.

  • Jika tugas DTS gagal dijalankan, dukungan teknis DTS akan mencoba memulihkan tugas dalam 8 jam. Selama pemulihan, tugas mungkin dimulai ulang, dan parameter tugas mungkin dimodifikasi.

  • Catatan

    Hanya parameter tugas yang mungkin dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada parameter dalam bagian "Ubah parameter instans" dari topik Ubah parameter instans DTS.

Penagihan

Tipe migrasi

Biaya konfigurasi tugas

Biaya transfer data

Migrasi Data Penuh

Gratis.

Gratis dalam contoh ini. Ketika parameter Access Method dari database tujuan diatur ke Public IP Address, Anda akan dikenakan biaya untuk lalu lintas Internet. Untuk informasi lebih lanjut, lihat Item yang dapat ditagih.

Migrasi Data Inkremental

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

Tipe migrasi

Tipe migrasi

Deskripsi

Migrasi data penuh

DTS memigrasikan data historis objek dari instans sumber ApsaraDB untuk MongoDB ke instans tujuan ApsaraDB RDS untuk MySQL.

Migrasi data inkremental

Setelah migrasi data penuh selesai, DTS memigrasikan data inkremental dari instans sumber ApsaraDB untuk MongoDB ke instans tujuan ApsaraDB RDS untuk MySQL.

Catatan
  • Hanya operasi yang dilakukan untuk menyisipkan, memperbarui, atau menghapus dokumen dalam koleksi yang dapat dimigrasikan selama migrasi data inkremental.

  • Data inkremental dokumen yang diperbarui hanya dengan menggunakan perintah $set dapat dimigrasikan.

Izin yang diperlukan untuk akun database

Tipe database

Migrasi data penuh

Migrasi data inkremental

Referensi

Instans sumber ApsaraDB untuk MongoDB

Izin baca pada database sumber

Izin baca pada database sumber, database admin, dan database lokal

Manajemen akun

Instans tujuan ApsaraDB RDS untuk MySQL

Izin baca dan tulis pada database tujuan

Buat akun dan Ubah izin akun

Prosedur

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

  2. Konsol DTS

    1. Masuk ke Konsol DTS.

    2. Di bilah navigasi di sebelah kiri, klik Data Migration.

    3. Di sudut kiri atas halaman, pilih wilayah tempat instans migrasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual mungkin 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, gerakkan penunjuk mouse ke Data Development > DTS (DTS) > Data Migration .

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

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

  4. Opsional. Klik New Configuration Page di sudut kanan atas halaman.

  5. Catatan
    • Lewati langkah ini jika tombol Back to Previous Version ditampilkan di sudut kanan atas halaman.

    • Parameter spesifik di versi baru dan sebelumnya dari halaman konfigurasi mungkin berbeda. Kami sarankan Anda menggunakan versi baru dari halaman konfigurasi.

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

    Kategori

    Konfigurasi

    Deskripsi

    N/A

    Task Name

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

    Source Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Tipe database sumber. Pilih MongoDB.

    Access Method

    Metode akses database sumber. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instans sumber ApsaraDB untuk MongoDB berada.

    Replicate Data Across Alibaba Cloud Accounts

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

    Architecture

    Arsitektur instans sumber ApsaraDB untuk MongoDB. Dalam contoh ini, Replica Set dipilih.

    Catatan

    Jika database sumber adalah instans klaster sharded ApsaraDB untuk MongoDB Sharded Cluster, Anda harus menentukan Shard account dan Shard password.

    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 instans ApsaraDB untuk 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 aliran perubahan diaktifkan untuk database sumber. Untuk informasi lebih lanjut, lihat Aliran Perubahan.

      Catatan
      • Jika database sumber adalah klaster inelastis Amazon DocumentDB, 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.

    Instance ID

    ID instans sumber ApsaraDB untuk MongoDB.

    Authentication Database

    Nama database otentikasi yang menyimpan akun dan kata sandi database dari instans sumber ApsaraDB untuk MongoDB. Jika Anda tidak mengubah nama sebelumnya, nilai default admin digunakan.

    Database Account

    Akun database dari instans sumber ApsaraDB untuk MongoDB. 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 database.

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

    Catatan
    • Jika parameter Architecture diatur ke Sharded Cluster, dan parameter Migration Method diatur ke Oplog untuk database ApsaraDB untuk 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 sertifikasi (CA) untuk memverifikasi koneksi ke database sumber.

    Destination Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Tipe database tujuan. Pilih MySQL.

    Access Method

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instans tujuan ApsaraDB RDS untuk MySQL berada.

    Replicate Data Across Alibaba Cloud Accounts

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

    RDS Instance ID

    ID instans tujuan ApsaraDB RDS untuk MySQL.

    Database Account

    Akun database dari instans tujuan ApsaraDB RDS untuk MySQL. Untuk informasi 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 instans database.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke instans database sumber. Pilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis Anda. Jika Anda ingin mengatur parameter ini ke SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans ApsaraDB RDS untuk MySQL sebelum mengonfigurasi tugas DTS. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.

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

    Catatan
    • Pastikan bahwa 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 yang dikelola sendiri dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  8. Konfigurasikan objek yang akan dimigrasikan.

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

      Konfigurasi

      Deskripsi

      Migration Types

      • Untuk melakukan hanya migrasi data penuh, pilih hanya Full Data Migration.

      • Untuk memastikan kontinuitas layanan selama migrasi data, pilih Full Data Migration dan Incremental Data Migration.

      Catatan

      Jika Anda tidak memilih Incremental Data Migration, kami sarankan Anda tidak menulis data ke database sumber selama migrasi data. Hal ini memastikan konsistensi data antara database sumber dan tujuan.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi koleksi yang memiliki nama yang sama dengan koleksi di database sumber. Jika database sumber dan tujuan tidak berisi koleksi dengan nama identik, pracheck dilewati. Jika tidak, kesalahan dikembalikan selama pracheck dan tugas migrasi data tidak dapat dimulai.

        Catatan

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

      • Ignore Errors and Proceed: melewati pracheck untuk nama koleksi identik di database sumber dan tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, konsistensi data tidak dijamin dan bisnis Anda mungkin terpapar risiko potensial.

        • DTS tidak memigrasikan catatan data yang memiliki kunci utama yang sama dengan catatan data di database tujuan.

        • Data mungkin gagal diinisialisasi, hanya kolom tertentu yang dimigrasikan, atau tugas migrasi data gagal.

      Capitalization of Object Names in Destination Instance

      Penulisan kapital nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan bahwa penulisan kapital nama objek konsisten dengan database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Tentukan penulisan kapital nama objek di instans tujuan.

      Source Objects

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

      Catatan

      Anda dapat memilih koleksi sebagai objek yang akan dimigrasikan.

      Selected Objects

      1. Ubah nama database.

        1. Di bagian Selected Objects, klik kanan database tempat koleksi yang akan dimigrasikan berada.

          image

        2. Ubah nilai Database Name menjadi nama skema yang digunakan untuk menerima data di instans tujuan ApsaraDB RDS untuk MySQL. image

        3. Klik OK.

      2. Ubah nama tabel.

        1. Di bagian Selected Objects, klik kanan koleksi tempat koleksi yang akan dimigrasikan berada.

          image

        2. Ubah nilai Table Name menjadi nama tabel yang digunakan untuk menerima data di instans tujuan ApsaraDB RDS untuk MySQL. image

        3. Opsional: Anda dapat menentukan kondisi untuk menyaring data. Untuk informasi lebih lanjut, lihat Tentukan kondisi filter. image

        4. Opsional: Di bagian Select DDL and DML Operations to Be Synchronized, Anda dapat memilih operasi yang ingin dimigrasikan selama migrasi data inkremental. image

      3. Tentukan bidang yang akan dimigrasikan dari instans sumber ApsaraDB untuk MongoDB.

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

        Penting
        • Anda harus menetapkan bson_value("_id") ke kolom kunci utama tabel tujuan.

        • Anda harus menentukan bidang dan subbidang setiap kolom dalam ekspresi bson_value() yang sesuai berdasarkan hubungan hierarki. Jika tidak, kehilangan data mungkin terjadi atau tugas mungkin gagal.

        1. Dalam ekspresi bson_value() pada kolom Assign Value, lihat nama bidang baris data di instans ApsaraDB untuk MongoDB.

          Bidang dalam "" adalah nama bidang di instans ApsaraDB untuk MongoDB. Sebagai contoh, jika ekspresinya adalah bson_value("age"), age adalah nama baris data di instans ApsaraDB untuk MongoDB.

        2. Opsional: Anda dapat menghapus bidang yang tidak perlu dimigrasikan.

          Catatan

          Klik ikon image setelah baris data untuk menghapus bidang yang tidak perlu dimigrasikan.

        3. Tentukan bidang yang akan dimigrasikan.

          Lakukan salah satu prosedur berikut berdasarkan apakah ekspresi bson_value() memenuhi kebutuhan Anda.

        4. Ekspresi memenuhi persyaratan bidang

          1. Konfigurasikan parameter Column Name.

            Catatan

            Masukkan nama kolom dalam tabel yang digunakan untuk menerima data di instans tujuan ApsaraDB RDS untuk MySQL.

          2. Pilih tipe data Type untuk setiap kolom.

            Penting

            Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instans sumber ApsaraDB untuk MongoDB. Untuk informasi lebih lanjut tentang pemetaan tipe data, lihat bagian Pemetaan Tipe Data dari topik ini.

          3. Opsional: Tentukan panjang data length dan precision untuk setiap kolom.

          4. Ulangi langkah-langkah sebelumnya untuk memetakan kolom tabel sumber ke kolom tabel tujuan.

          Ekspresi tidak memenuhi persyaratan bidang

          Catatan

          Sebagai contoh, bidang dengan hubungan hierarki seperti struktur induk-anak.

          1. Di kolom Actions, klik ikon image setelah baris data tersebut.

          2. Klik + Add Column.image

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

          4. Masukkan ekspresi bson_value() di bidang Assign Value. Untuk informasi lebih lanjut, lihat bagian Contoh Penetapan Nilai dari topik ini.

          5. Ulangi langkah-langkah sebelumnya untuk memetakan kolom tabel sumber ke kolom tabel tujuan.

      4. Klik OK.

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

      Konfigurasi

      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 sarankan 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 akan dikenakan biaya untuk instans DTS. Kami sarankan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS secepat mungkin setelah database sumber dan instans 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 1440. Unit: menit. Nilai default: 10. Kami sarankan 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 dari 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. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan 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 server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda 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

      Apakah tipe data kunci utama _id unik dalam koleksi yang sama dari data yang akan dimigrasikan.

      Catatan

      Ini hanya dapat dikonfigurasi ketika Migration Types diatur ke Full Data Migration.

      • Yes: Unik. Selama fase migrasi penuh, DTS tidak akan memindai tipe data kunci utama dalam data yang akan dimigrasikan dari database sumber.

      • No: Tidak unik. Selama fase migrasi penuh, DTS akan memindai tipe data kunci utama dari data yang dimigrasikan pada database sumber.

      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 server database tujuan.

      Catatan

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

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan situasi aktual Anda. Dalam contoh ini, tidak ada tag lingkungan yang dipilih.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (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.

  9. Simpan pengaturan tugas dan jalankan pracheck.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan penunjuk mouse 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 pracheck. Anda hanya dapat memulai tugas migrasi data setelah tugas lulus pracheck.

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

    • Jika peringatan dipicu untuk suatu item selama pracheck:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pracheck 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 pracheck lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  10. Beli instans.

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

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

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Resource Group

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

      Instance Class

      DTS menyediakan kelas instans yang bervariasi dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instans 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.

    5. Anda dapat melihat kemajuan tugas di halaman Migrasi Data.

Pemetaan Tipe Data

Tipe data MongoDB

Tipe data MySQL

ObjectId

VARCHAR

String

VARCHAR

Document

VARCHAR

DbPointer

VARCHAR

Array

VARCHAR

Date

DATETIME

TimeStamp

DATETIME

Double

DOUBLE

Bilangan bulat 32-bit (BsonInt32)

INTEGER

Bilangan bulat 64-bit (BsonInt64)

BIGINT

Decimal128

DECIMAL

Boolean

BOOLEAN

Null

VARCHAR

Contoh Penetapan Nilai

Struktur data dari instans sumber ApsaraDB untuk MongoDB

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

Skema tabel tujuan MySQL

Nama kolom

Tipe

mongo_id

varchar

Catatan

Kolom kunci utama.

person_name

varchar

person_age

decimal

Konfigurasi kolom baru

Penting

Anda harus menentukan bidang dan subbidang setiap kolom dalam ekspresi bson_value() yang sesuai berdasarkan hubungan hierarki. Jika tidak, kehilangan data mungkin terjadi atau tugas mungkin gagal. Sebagai contoh, jika Anda hanya menentukan bidang person dari kolom sumber menggunakan ekspresi bson_value("person"), DTS tidak dapat menulis data inkremental dalam subbidang bidang person, seperti name, age, dan sex, ke kolom tujuan.

Nama kolom

Tipe

Penetapan

mongo_id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

DECIMAL

bson_value("person","age")