Menggunakan MongoDB sebagai sumber untuk AWS DMS - AWS Layanan Migrasi Database

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan MongoDB sebagai sumber untuk AWS DMS

Untuk informasi tentang versi MongoDB AWS DMS yang mendukung sebagai sumber, lihat. Sumber untuk AWS DMS

Perhatikan hal berikut tentang dukungan versi MongoDB:

  • Versi AWS DMS 3.4.5 dan yang lebih baru mendukung MongoDB versi 4.2 dan 4.4.

  • Versi AWS DMS 3.4.5 dan yang lebih baru dan versi MongoDB 4.2 dan yang lebih baru mendukung transaksi terdistribusi. Untuk informasi selengkapnya tentang transaksi terdistribusi MongoDB, lihat Transaksi dalam dokumentasi MongoDB.

  • Versi AWS DMS 3.5.0 dan yang lebih baru tidak mendukung versi MongoDB sebelum 3.6.

  • Versi AWS DMS 3.5.1 dan yang lebih baru mendukung MongoDB versi 5.0.

  • Versi AWS DMS 3.5.2 dan yang lebih baru mendukung MongoDB versi 6.0.

Jika Anda baru menggunakan MongoDB, ketahuilah konsep basis data MongoDB penting berikut:

  • Catatan di MongoDB adalah dokumen, yang merupakan struktur data terdiri dari pasangan bidang dan nilai. Nilai bidang dapat mencakup dokumen, rangkaian, dan rangkaian dokumen lain. Dokumen kurang lebih setara dengan baris dalam tabel basis data relasional.

  • Koleksi di MongoDB adalah sekelompok dokumen, dan kurang lebih setara dengan tabel basis data relasional.

  • Database di MongoDB adalah sekumpulan koleksi, dan kira-kira setara dengan skema dalam database relasional.

  • Secara internal, dokumen MongoDB disimpan sebagai file biner JSON (BSON) dalam format terkompresi yang mencakup jenis untuk setiap bidang dalam dokumen. Setiap dokumen mempunyai ID yang unik.

AWS DMS mendukung dua mode migrasi saat menggunakan MongoDB sebagai sumber, Mode dokumen atau Mode tabel. Anda menentukan mode migrasi mana yang digunakan ketika Anda membuat titik akhir MongoDB atau dengan menetapkan parameter Mode metadata dari konsol AWS DMS Secara fakultatif, Anda dapat membuat kolom kedua bernama_id yang bertindak sebagai kunci utama dengan memilih tombol tanda centang untuk _id sebagai kolom terpisah di panel konfigurasi titik akhir.

Pilihan mode migrasi Anda memengaruhi format yang dihasilkan dari data target, seperti yang dijelaskan berikut.

Mode dokumen

Dalam mode dokumen, dokumen MongoDB bermigrasi dengan apa adanya, artinya bahwa data dokumen dikonsolidasikan ke dalam satu kolom bernama _doc dalam tabel target. Mode dokumen adalah pengaturan default ketika Anda menggunakan MongoDB sebagai titik akhir sumber.

Misalnya, pertimbangkan dokumen-dokumen berikut dalam koleksi MongoDB yang disebut MyCollection.

> db.myCollection.find() { "_id" : ObjectId("5a94815f40bd44d1b02bdfe0"), "a" : 1, "b" : 2, "c" : 3 } { "_id" : ObjectId("5a94815f40bd44d1b02bdfe1"), "a" : 4, "b" : 5, "c" : 6 }

Setelah memigrasikan data ke tabel basis data relasional menggunakan mode dokumen, data terstruktur sebagai berikut. Bidang data dalam dokumen MongoDB dikonsolidasikan ke dalam kolom _doc.

oid_id _doc
5a94815f40bd44d1b02bdfe0 { "a" : 1, "b" : 2, "c" : 3 }
5a94815f40bd44d1b02bdfe1 { "a" : 4, "b" : 5, "c" : 6 }

Anda dapat mengatur atribut sambungan tambahan secara fakultatif extractDocID menjadi benar untuk membuat kolom kedua bernama "_id" yang bertindak sebagai kunci utama. Jika Anda akan menggunakan CDC, atur parameter ini ke true.

Dalam mode dokumen, AWS DMS mengelola pembuatan dan penggantian nama koleksi seperti ini:

  • Jika Anda menambahkan koleksi baru ke basis data sumber,AWS DMS menciptakan tabel target baru untuk koleksi dan mereplikasi dokumen.

  • Jika Anda mengubah nama koleksi yang ada pada basis data sumber,AWS DMS tidak mengubah nama tabel target.

Jika titik akhir target adalah Amazon DocumentDB, jalankan migrasi dalam Mode dokumen.

Mode tabel

Dalam mode tabel, AWS DMS mengubah setiap bidang tingkat atas dalam dokumen MongoDB menjadi kolom dalam tabel target. Jika bidang bersarang, AWS DMS meratakan nilai-nilai bersarang ke dalam satu kolom. AWS DMS kemudian menambahkan bidang kunci dan jenis data untuk tabel target rangkaian kolom.

Untuk setiap dokumen MongoDB, AWS DMS menambahkan setiap kunci dan jenis pada tabel target rangkaian kolom. Misalnya, dengan menggunakan mode tabel,AWS DMS memigrasikan contoh sebelumnya ke dalam tabel berikut.

oid_id a b c
5a94815f40bd44d1b02bdfe0 1 2 3
5a94815f40bd44d1b02bdfe1 4 5 6

Nilai-nilai bersarang diratakan menjadi sebuah kolom yang berisi nama-nama kunci yang dipisahkan oleh titik. Kolom dinamakan penggabungan nama bidang yang diratakan yang dipisahkan oleh titik. Misalnya,AWS DMS memigrasi dokumen JSON dengan bidang nilai-nilai bersarang seperti {"a" : {"b" : {"c": 1}}} ke dalam sebuah kolom bernama a.b.c.

Untuk membuat kolom target, AWS DMS memindai sejumlah dokumen MongoDB tertentu dan menciptakan rangkaian semua bidang dan jenis mereka. AWS DMS kemudian menggunakan rangkaian ini untuk membuat kolom dari tabel target. Jika Anda membuat atau memodifikasi titik akhir sumber MongoDB Anda menggunakan konsol, Anda dapat menentukan jumlah dokumen yang dipindai. Nilai default adalah 1000 dokumen. Jika Anda menggunakan AWS CLI, Anda dapat menggunakan atribut sambungan tambahan docsToInvestigate.

Dalam mode tabel, AWS DMS mengelola dokumen dan koleksi seperti ini:

  • Ketika Anda menambahkan dokumen ke koleksi yang ada, dokumen itu direplikasi. Jika ada bidang yang tidak ada dalam target, bidang tersebut tidak direplikasi.

  • Ketika Anda memperbarui dokumen, dokumen yang diperbarui tersebut direplikasi. Jika ada bidang yang tidak ada dalam target, bidang tersebut tidak direplikasi.

  • Menghapus dokumen sepenuhnya didukung.

  • Menambahkan koleksi baru tidak menghasilkan tabel baru pada target ketika dilakukan selama tugas CDC.

  • Pada fase Change Data Capture (CDC), AWS DMS tidak mendukung penggantian nama koleksi.

Izin yang dibutuhkan saat menggunakan MongoDB sebagai sumber untuk AWS DMS

Untuk migrasi AWS DMS dengan sumber MongoDB, Anda dapat membuat baik akun pengguna dengan hak istimewa root, atau pengguna dengan izin hanya pada basis data untuk bermigrasi.

Kode berikut membuat pengguna menjadi akun root.

use admin db.createUser( { user: "root", pwd: "password", roles: [ { role: "root", db: "admin" } ] } )

Untuk sumber MongoDB 3.x, kode berikut menciptakan pengguna dengan hak izin minimal pada basis data yang akan bermigrasi.

use database_to_migrate db.createUser( { user: "dms-user", pwd: "password", roles: [ { role: "read", db: "local" }, "read"] })

Untuk sumber 4.x MongoDB, kode berikut membuat pengguna dengan hak izin minimal.

{ resource: { db: "", collection: "" }, actions: [ "find", "changeStream" ] }

Sebagai contoh, buatlah peran berikut dalam basis data “admin”.

use admin db.createRole( { role: "changestreamrole", privileges: [ { resource: { db: "", collection: "" }, actions: [ "find","changeStream" ] } ], roles: [] } )

Dan setelah peran itu dibuat, buatlah pengguna dalam basis data yang akan bermigrasi.

> use test > db.createUser( { user: "dms-user12345", pwd: "password", roles: [ { role: "changestreamrole", db: "admin" }, "read"] })

Mengonfigurasi rangkaian replika MongoDB yang untuk CDC

Untuk menggunakan replikasi yang sedang berlangsung atau CDC dengan MongoDB, AWS DMS membutuhkan akses ke operations log (oplog) MongoDB. Untuk membuat oplog, Anda perlu men-deploy rangkaian replika jika salah satu tidak ada. Untuk informasi selengkapnya tentang penggunaan, lihat dokumentasi MongoDB .

Anda dapat menggunakan CDC dengan node primer atau node sekunder dari rangkaian replika MongoDB sebagai titik akhir sumber.

Mengonversi instans mandiri menjadi rangkaian replika
  1. Menggunakan baris perintah, hubungkan ke mongo.

    mongo localhost
  2. Hentikan layanan mongod.

    service mongod stop
  3. Mulai ulang mongod menggunakan perintah berikut ini:

    mongod --replSet "rs0" --auth -port port_number
  4. Uji sambungan ke rangkaian replika menggunakan perintah berikut:

    mongo -u root -p password --host rs0/localhost:port_number --authenticationDatabase "admin"

Jika Anda berencana untuk melakukan migrasi mode dokumen, pilih opsi _id as a separate column ketika Anda membuat titik akhir MongoDB. Memilih opsi ini membuat kolom kedua bernama _id yang bertindak sebagai kunci utama. Kolom kedua ini diperlukan oleh AWS DMS untuk mendukung operasi data manipulation languange (DML).

catatan

AWS DMSmenggunakan log operasi (oplog) untuk menangkap perubahan selama replikasi yang sedang berlangsung. Jika MongoDB mengeluarkan catatan dari oplog AWS DMS sebelum membacanya, tugas Anda gagal. Kami merekomendasikan ukuran oplog untuk mempertahankan perubahan setidaknya selama 24 jam.

Persyaratan keamanan saat menggunakan MongoDB sebagai sumber untuk AWS DMS

AWS DMS mendukung dua metode autentikasi untuk MongoDB. Dua metode autentikasi digunakan untuk mengenkripsi kata sandi, sehingga mereka hanya digunakan ketika parameter authType diatur menjadi PASSWORD.

Metode autentikasi MongoDB adalah sebagai berikut:

  • MONGODB-CR - Untuk kompatibilitas mundur

  • SCRAM-SHA-1 - Default saat menggunakan MongoDB versi 3.x dan 4.0

Jika metode autentikasi tidak ditentukan, AWS DMS menggunakan metode default untuk versi sumber MongoDB.

Melakukan segmen koleksi MongoDB dan bermigrasi secara paralel

Untuk meningkatkan kinerja tugas migrasi, titik akhir sumber MongoDB mendukung dua opsi untuk beban penuh paralel dalam pemetaan tabel.

Dengan kata lain, Anda dapat memigrasikan koleksi secara paralel dengan menggunakan autosegmentasi atau segmentasi rentang dengan pemetaan tabel untuk beban penuh paralel dalam pengaturan JSON. Dengan autosegmentasi, Anda dapat menentukan kriteria AWS DMS untuk secara otomatis mengelompokkan sumber Anda untuk migrasi di setiap utas. Dengan segmentasi rentang, Anda dapat memberi tahu AWS DMS rentang spesifik setiap segmen untuk DMS untuk bermigrasi di setiap utas. Untuk informasi selengkapnya tentang pengaturan, lihat Tabel dan koleksi pengaturan aturan dan operasi.

Migrasi database MongoDB secara paralel menggunakan rentang autosegmentasi

Anda dapat memigrasikan dokumen secara paralel dengan menentukan kriteria untuk secara otomatis AWS DMS mempartisi (segmen) data Anda untuk setiap utas. Secara khusus, Anda menentukan jumlah dokumen yang akan dimigrasikan per utas. Dengan menggunakan pendekatan ini, AWS DMS upaya untuk mengoptimalkan batas segmen untuk kinerja maksimum per utas.

Anda dapat menentukan kriteria segmentasi menggunakan opsi pengaturan tabel berikut dalam pemetaan tabel.

Opsi tabel-pengaturan

Deskripsi

"type"

(Wajib) Setel ke "partitions-auto" untuk MongoDB sebagai sumber.

"number-of-partitions"

(Opsional) Jumlah total partisi (segmen) yang digunakan untuk migrasi. Defaultnya adalah 16.

"collection-count-from-metadata"

(Opsional) Jika opsi ini diatur ketrue, AWS DMS menggunakan perkiraan jumlah koleksi untuk menentukan jumlah partisi. Jika opsi ini disetel kefalse, AWS DMS gunakan jumlah koleksi yang sebenarnya. Default-nya adalah true.

"max-records-skip-per-page"

(Opsional) Jumlah catatan yang harus dilewati sekaligus saat menentukan batas untuk setiap partisi. AWS DMSmenggunakan pendekatan skip paginated untuk menentukan batas minimum untuk partisi. Default adalah 10.000.

Menyetel nilai yang relatif besar dapat mengakibatkan batas waktu kursor dan kegagalan tugas. Menetapkan nilai yang relatif rendah menghasilkan lebih banyak operasi per halaman dan beban penuh yang lebih lambat.

"batch-size"

(Opsional) Membatasi jumlah dokumen yang dikembalikan dalam satu batch. Setiap batch membutuhkan perjalanan pulang pergi ke server. Jika ukuran batch nol (0), kursor menggunakan ukuran batch maksimum yang ditentukan server. Default-nya adalah 0.

Contoh berikut menunjukkan pemetaan tabel untuk autosegmentasi.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "rule-action": "include", "filters": [] }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "parallel-load": { "type": "partitions-auto", "number-of-partitions": 5, "collection-count-from-metadata": "true", "max-records-skip-per-page": 1000000, "batch-size": 50000 } } ] }

Autosegmentasi memiliki batasan berikut. Migrasi untuk setiap segmen mengambil jumlah koleksi dan minimum _id untuk koleksi secara terpisah. Kemudian menggunakan lompatan paginasi untuk menghitung batas minimum untuk segmen itu.

Oleh karena itu, pastikan bahwa _id nilai minimum untuk setiap koleksi tetap konstan sampai semua batas segmen dalam koleksi dihitung. Jika Anda mengubah _id nilai minimum untuk koleksi selama perhitungan batas segmennya, itu dapat menyebabkan kehilangan data atau kesalahan baris duplikat.

Migrasi database MongoDB secara paralel menggunakan segmentasi rentang

Anda dapat memigrasikan dokumen secara paralel dengan menentukan rentang untuk setiap segmen dalam utas. Dengan menggunakan pendekatan ini, Anda memberi tahu AWS DMS dokumen tertentu untuk bermigrasi di setiap utas sesuai dengan pilihan rentang dokumen per utas.

Gambar berikut menunjukkan koleksi MongoDB yang memiliki tujuh item, _id dan sebagai kunci utama.

Koleksi MongoDB dengan tujuh item.

Untuk membagi koleksi menjadi tiga segmen tertentu AWS DMS untuk bermigrasi secara paralel, Anda dapat menambahkan aturan pemetaan tabel ke tugas migrasi Anda. Pendekatan ini ditunjukkan dalam contoh JSON berikut.

{ // Task table mappings: "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "rule-action": "include" }, // "selection" :"rule-type" { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "parallel-load": { "type": "ranges", "columns": [ "_id", "num" ], "boundaries": [ // First segment selects documents with _id less-than-or-equal-to 5f805c97873173399a278d79 // and num less-than-or-equal-to 2. [ "5f805c97873173399a278d79", "2" ], // Second segment selects documents with _id > 5f805c97873173399a278d79 and // _id less-than-or-equal-to 5f805cc5873173399a278d7c and // num > 2 and num less-than-or-equal-to 5. [ "5f805cc5873173399a278d7c", "5" ] // Third segment is implied and selects documents with _id > 5f805cc5873173399a278d7c. ] // :"boundaries" } // :"parallel-load" } // "table-settings" :"rule-type" ] // :"rules" } // :Task table mappings

Bahwa definisi pemetaan tabel membagi koleksi sumber menjadi tiga segmen dan bermigrasi secara paralel. Berikut ini adalah batas-batas segmentasi.

Data with _id less-than-or-equal-to "5f805c97873173399a278d79" and num less-than-or-equal-to 2 (2 records) Data with _id > "5f805c97873173399a278d79" and num > 2 and _id less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 5 (3 records) Data with _id > "5f805cc5873173399a278d7c" and num > 5 (2 records)

Setelah tugas migrasi selesai, Anda dapat melakukan verifikasi dari log tugas yang dimuat tabel secara paralel, seperti yang ditunjukkan dalam contoh berikut. Anda juga dapat memverifikasi klausa find MongoDB yang digunakan untuk membongkar setiap segmen dari tabel sumber.

[TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TARGET_LOAD ] I: Load finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 1 rows received. 0 rows skipped. Volume transfered 480. [TASK_MANAGER ] I: Load finished for segment #1 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. 2 records transferred.

Saat ini, AWS DMS mendukung tipe data MongoDB berikut sebagai kolom kunci segmen:

  • Dua Kali

  • String

  • ObjectId

  • 32 bit integer

  • 64 bit integer

Migrasi beberapa database saat menggunakan MongoDB sebagai sumber AWS DMS

AWS DMSversi 3.4.5 dan yang lebih tinggi mendukung migrasi beberapa database dalam satu tugas untuk semua versi MongoDB yang didukung. Jika Anda ingin memigrasi beberapa database, lakukan langkah-langkah berikut:

  1. Saat Anda membuat titik akhir sumber MongoDB, lakukan salah satu hal berikut:

    • Pada halaman Create endpoint konsol DMS, pastikan nama Database kosong di bawah konfigurasi Endpoint.

    • Dengan menggunakan AWS CLI CreateEndpoint perintah, tetapkan nilai string kosong ke DatabaseName parameter diMongoDBSettings.

  2. Untuk setiap database yang ingin Anda migrasi dari sumber MongoDB, tentukan nama database sebagai nama skema dalam pemetaan tabel untuk tugas tersebut. Anda dapat melakukan ini menggunakan input yang dipandu di konsol atau langsung di JSON. Untuk informasi lebih lanjut tentang input yang dipandu, lihat Menentukan pemilihan tabel dan transformasi aturan dari konsol. Untuk informasi lebih lanjut tentang JSON, lihatAturan seleksi dan tindakan.

Misalnya, Anda dapat menentukan JSON berikut untuk memigrasikan tiga database MongoDB.

contoh Memigrasi semua tabel dalam skema

JSON berikut memigrasikan semua tabel dariCustomers,Orders, dan Suppliers database di titik akhir sumber Anda ke titik akhir target Anda.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Customers", "table-name": "%" }, "rule-action": "include", "filters": [] }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Orders", "table-name": "%" }, "rule-action": "include", "filters": [] }, { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "Inventory", "table-name": "%" }, "rule-action": "include", "filters": [] } ] }

Keterbatasan saat menggunakan MongoDB sebagai sumber untuk AWS DMS

Berikut ini adalah keterbatasan ketika menggunakan MongoDB sebagai sumber untuk AWS DMS:

  • Dalam mode tabel, dokumen dalam koleksi harus konsisten dalam tipe data yang mereka gunakan untuk nilai di bidang yang sama. Misalnya, jika dokumen dalam koleksi termasuk'{ a:{ b:value ... }', semua dokumen dalam koleksi yang mereferensikan value a.b bidang harus menggunakan tipe data yang sama untukvalue, di mana pun itu muncul dalam koleksi.

  • Saat opsi _id diatur sebagai kolom terpisah, string ID tidak dapat melebihi 200 karakter.

  • ID objek dan kunci jenis rangkaian dikonversi ke kolom yang diawali dengan oid dan array dalam mode tabel.

    Secara internal, kolom ini diacu dengan nama prefiks. Jika Anda menggunakan aturan transformasi di AWS DMS yang mengacu kolom ini, pastikan untuk menentukan kolom prefiks. Misalnya, Anda menentukan ${oid__id} dan bukan ${_id}, atau ${array__addresses} dan bukan ${_addresses}.

  • Nama koleksi dan nama kunci tidak dapat menyertakan simbol dolar ($).

  • AWS DMStidak mendukung koleksi yang berisi bidang yang sama dengan kasus yang berbeda (atas, bawah) dalam mode tabel dengan target RDBMS. Misalnya, AWS DMS tidak mendukung memiliki dua koleksi bernama Field1 danfield1.

  • Mode tabel dan mode dokumen memiliki batasan yang dijelaskan sebelumnya.

  • Migrasi secara paralel menggunakan autosegmentasi memiliki keterbatasan yang dijelaskan sebelumnya.

  • Filter sumber tidak didukung untuk MongoDB.

  • AWS DMStidak mendukung dokumen di mana tingkat bersarang lebih besar dari 97.

  • AWS DMStidak mendukung fitur MongoDB versi 5.0 berikut:

    • Resharding langsung

    • Enkripsi Tingkat Bidang Sisi Klien (CSFLE)

    • Migrasi koleksi Timeseries

      catatan

      Koleksi rangkaian waktu yang dimigrasikan dalam fase pemuatan penuh akan dikonversi ke koleksi normal di Amazon DocumentDB, karena DocumentDB tidak mendukung koleksi rangkaian waktu.

Pengaturan konfigurasi titik akhir saat menggunakan MongoDB sebagai sumber untuk AWS DMS

Ketika Anda mengatur titik akhir sumber MongoDB Anda, Anda dapat menentukan beberapa pengaturan konfigurasi titik akhir menggunakan konsol AWS DMS.

Tabel berikut menjelaskan pengaturan konfigurasi yang tersedia ketika menggunakan basis data MongoDB sebagai sumber AWS DMS.

Pengaturan (atribut) Nilai valid Nilai default dan deskripsi

Modus otentikasi

"none"

"password"

Nilai "password" meminta nama pengguna dan kata sandi. Saat "none" ditentukan, parameter nama pengguna dan kata sandi tidak digunakan.

Sumber otentikasi

Sebuah nama basis data MongoDB yang valid.

Nama basis data MongoDB yang ingin Anda gunakan untuk melakukan validasi Anda untuk autentikasi. Nilai default-nya adalah "admin".

Mekanisme otentikasi

"default"

"mongodb_cr"

"scram_sha_1"

Mekanisme otentikasi. Nilai "default" adalah "scram_sha_1". Pengaturan ini tidak digunakan saat authType diatur menjadi "no".

Modus metadata

Dokumen dan tabel

Memilih mode dokumen atau mode tabel.

Jumlah dokumen yang akan dipindai (docsToInvestigate)

Sebuah integer positif lebih besar dari 0.

Gunakan opsi ini dalam mode tabel hanya untuk menentukan definisi tabel target.

_id sebagai kolom terpisah

Centang tanda di kotak

Kotak tanda centang opsional yang membuat kolom kedua bernama _id yang bertindak sebagai kunci utama.

socketTimeoutMS

ANGKA

Atribut Koneksi Ekstra (ECA) saja.

Pengaturan ini dalam satuan milidetik dan mengonfigurasi batas waktu koneksi untuk klien MongoDB. Jika nilainya kurang dari atau sama dengan nol, maka default klien MongoDB digunakan.

UseUpdateLookUp

boolean

true

false

Jika benar, selama peristiwa pembaruan CDCAWS DMS, salin seluruh dokumen yang diperbarui ke target. Saat disetel ke false, AWS DMS gunakan perintah pembaruan MongoDB untuk hanya memperbarui bidang yang dimodifikasi dalam dokumen pada target.

ReplicateShardCollections

boolean

true

false

Jika benar, AWS DMS mereplikasi data ke koleksi pecahan. AWS DMShanya menggunakan pengaturan ini jika titik akhir target adalah cluster elastis DocumentDB.

Jika pengaturan ini benar, perhatikan hal berikut:

  • Anda harus mengatur TargetTablePrepMode kenothing.

  • AWS DMSsecara otomatis disetel useUpdateLookup kefalse.

Jika Anda memilih Dokumen sebagai Mode metadata, opsi yang berbeda akan tersedia.

Jika titik akhir target adalah DocumentDB, pastikan untuk menjalankan migrasi dalam mode Dokumen Juga, ubah titik akhir sumber Anda dan pilih opsi _id sebagai kolom terpisah. Ini adalah prasyarat wajib jika beban kerja MongoDB sumber Anda melibatkan transaksi.

Jenis data sumber untuk MongoDB

Migrasi data yang menggunakan MongoDB sebagai sumber untuk AWS DMS mendukung sebagian besar jenis data MongoDB. Pada tabel berikut, Anda dapat menemukan jenis data sumber MongoDB yang didukung saat menggunakan AWS DMS dan pemetaan default dari jenis data AWS DMS. Untuk informasi lebih lanjut tentang jenis data MongoDB, lihatjenis BSON dalam dokumentasi MongoDB.

Untuk informasi tentang cara melihat jenis data yang dipetakan dalam target, lihat bagian titik akhir target yang Anda gunakan.

Untuk informasi tambahan tentang jenis data AWS DMS, lihat Tipe data untuk AWS Database Migration Service.

Jenis data MongoDB

Jenis data AWS DMS

Boolean

Bool

Binary

BLOB

Date

Date

Timestamp

Date

Int

INT4

Long

INT8

Double

REAL8

String (UTF-8)

CLOB

Array

CLOB

OID

String

REGEX

CLOB

CODE

CLOB