Menggunakan MongoDB sebagai sumber 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 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.

  • Versi AWS DMS 3.5.4 dan yang lebih baru mendukung MongoDB versi 7.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 database sumber, AWS DMS buat tabel target baru untuk koleksi dan mereplikasi dokumen apa pun.

  • 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 di tabel target. Jika bidang bersarang, AWS DMS ratakan nilai bersarang menjadi satu kolom. AWS DMS kemudian menambahkan bidang kunci dan tipe data ke set kolom tabel target.

Untuk setiap dokumen MongoDB AWS DMS , tambahkan setiap kunci dan ketik ke set kolom tabel target. Misalnya, 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 memigrasikan dokumen JSON dengan bidang nilai bersarang seperti {"a" : {"b" : {"c": 1}}} ke dalam kolom bernama a.b.c.

Untuk membuat kolom target, AWS DMS memindai sejumlah dokumen MongoDB tertentu dan membuat satu set semua bidang dan jenisnya. AWS DMS kemudian menggunakan set 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 koneksi tambahandocsToInvestigate.

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 diperlukan saat menggunakan MongoDB sebagai sumber AWS DMS

Untuk AWS DMS migrasi dengan sumber MongoDB, Anda dapat membuat akun pengguna dengan hak akses root, atau pengguna dengan izin hanya pada database 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 berkelanjutan atau CDC dengan MongoDB, memerlukan AWS DMS akses ke log operasi MongoDB (oplog). 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 bahasa manipulasi data (DHTML).

catatan

AWS DMS menggunakan 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 AWS DMS

AWS DMS mendukung dua metode otentikasi 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 otentikasi 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. Nilai default-nya true.

"max-records-skip-per-page"

(Opsional) Jumlah catatan yang harus dilewati sekaligus saat menentukan batas untuk setiap partisi. AWS DMS menggunakan 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 DMS versi 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.

    • 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 AWS DMS

Berikut ini adalah batasan saat 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 direferensikan dengan nama prefiks. Jika Anda menggunakan aturan transformasi dalam AWS DMS referensi kolom ini, pastikan untuk menentukan kolom awalan. 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 DMS tidak 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 DMS tidak mendukung dokumen di mana tingkat bersarang lebih besar dari 97.

  • AWS DMS tidak mendukung fitur MongoDB versi 5.0 berikut:

    • Resharding langsung

    • Enkripsi Tingkat Bidang Sisi Klien (CSFLE)

    • Migrasi koleksi Timeseries

      catatan

      Koleksi rangkaian waktu yang dimigrasi 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 AWS DMS

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

Tabel berikut menjelaskan pengaturan konfigurasi yang tersedia saat menggunakan database 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 CDC AWS 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 DMS hanya menggunakan pengaturan ini jika titik akhir target adalah cluster elastis DocumentDB.

Jika pengaturan ini benar, perhatikan hal berikut:

  • Anda harus mengatur TargetTablePrepMode kenothing.

  • AWS DMS secara otomatis disetel useUpdateLookup kefalse.

useTransactionVerification

true

false

Kapanfalse, menonaktifkan verifikasi antara aliran perubahan dan oplog.

catatan

Anda dapat melewatkan operasi jika terjadi perbedaan antara aliran perubahan dan entri oplog, karena perilaku DMS default adalah gagal dalam skenario tersebut. Default: true.

useOplog

true

false

Kapantrue, aktifkan tugas DMS untuk membaca langsung dari 'oplog' daripada menggunakan aliran perubahan. Default: false.

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 tipe data MongoDB. Dalam tabel berikut, Anda dapat menemukan tipe data sumber MongoDB yang didukung saat AWS DMS menggunakan dan pemetaan AWS DMS default dari tipe data. 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 tipe AWS DMS data, lihatTipe data untuk AWS Database Migration Service.

Jenis data MongoDB

AWS DMS tipe data

Boolean

Bool

Binary

BLOB

Date

Date

Timestamp

Date

Int

INT4

Panjang

INT8

Ganda

REAL8

String (UTF-8)

CLOB

Array

CLOB

OID

String

REGEX

CLOB

CODE

CLOB