Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Amazon DocumentDB (dengan kompatibilitas MongoDB) sebagai sumber untuk AWS DMS
Untuk informasi tentang versi Amazon DocumentDB (dengan kompatibilitas MongoDB) AWS DMS yang mendukung sebagai sumber, lihat. Sumber untuk AWS DMS
Dengan menggunakan Amazon DocumentDB sebagai sumber, Anda dapat memigrasikan data dari satu klaster Amazon DocumentDB ke klaster Amazon DocumentDB lain. Anda juga dapat memigrasikan data dari klaster Amazon DocumentDB ke salah satu titik akhir target lain yang didukung oleh. AWS DMS
Jika Anda baru mengenal Amazon DocumentDB, perhatikan konsep penting berikut untuk database Amazon DocumentDB:
-
Catatan di Amazon DocumentDB adalah dokumen, struktur data yang 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 Amazon DocumentDB adalah sekelompok dokumen, dan kira-kira setara dengan tabel database relasional.
-
Database di Amazon DocumentDB adalah sekumpulan koleksi, dan kira-kira setara dengan skema dalam database relasional.
AWS DMS mendukung dua mode migrasi saat menggunakan Amazon DocumentDB sebagai sumber, mode dokumen, dan mode tabel. Anda menentukan mode migrasi saat membuat titik akhir sumber Amazon DocumentDB di konsol, menggunakan AWS DMS opsi mode Metadata atau atribut koneksi tambahan. nestingLevel
Berikut, Anda dapat menemukan penjelasan bagaimana pilihan mode migrasi memengaruhi format yang dihasilkan dari data target.
- Mode dokumen
-
Pada mode dokumen, dokumen JSON dimigrasi apa adanya. Itu artinya data dokumen dikonsolidasikan menjadi salah satu dari dua item. Saat Anda menggunakan basis data relasional sebagai target, data merupakan satu kolom bernama
_doc
dalam tabel target. Ketika Anda menggunakan basis data nonrelasional sebagai target, data merupakan dokumen JSON tunggal. Mode dokumen adalah mode default, yang kami sarankan ketika bermigrasi ke target Amazon DocumentDB.Misalnya, pertimbangkan dokumen-dokumen berikut dalam koleksi Amazon DocumentDB 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 dikonsolidasikan ke 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
extractDocID
secara fakultatif ketrue
untuk membuat kolom kedua bernama"_id"
yang bertindak sebagai kunci utama. Jika Anda akan menggunakan change data capture (CDC), atur parameter ini menjaditrue
kecuali saat menggunakan Amazon DocumentDB sebagai target.catatan
Jika Anda menambahkan koleksi baru ke database sumber, AWS DMS buat tabel target baru untuk koleksi dan mereplikasi dokumen apa pun.
- Mode tabel
-
Dalam mode tabel,AWS DMS mengubah setiap bidang tingkat atas dalam dokumen Amazon DocumentDB 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 Amazon DocumentDB 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 menggunakan gabungan 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 bernamaa.b.c.
Untuk membuat kolom target, AWS DMS memindai sejumlah dokumen Amazon DocumentDB 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 Amazon DocumentDB menggunakan konsol, Anda dapat menentukan jumlah dokumen yang akan dipindai. Nilai default adalah 1.000 dokumen. Jika Anda menggunakan AWS CLI, Anda dapat menggunakan atribut koneksi 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.
-
Topik
- Menetapkan izin untuk menggunakan Amazon DocumentDB sebagai sumber
- Mengonfigurasi CDC untuk klaster Amazon DocumentDB
- Menghubungkan ke Amazon DocumentDB menggunakan TLS
- Membuat titik akhir sumber Amazon DocumentDB
- Melakukan segmentasi koleksi Amazon DocumentDB dan migrasi secara paralel
- Migrasi beberapa database saat menggunakan Amazon DocumentDB sebagai sumber untuk AWS DMS
- Keterbatasan saat menggunakan Amazon DocumentDB sebagai sumber untuk AWS DMS
- Menggunakan pengaturan titik akhir dengan Amazon DocumentDB sebagai sumber
- Tipe data sumber untuk Amazon DocumentDB
Menetapkan izin untuk menggunakan Amazon DocumentDB sebagai sumber
Saat menggunakan sumber Amazon DocumentDB untuk AWS DMS migrasi, Anda dapat membuat akun pengguna dengan hak akses root. Atau Anda dapat membuat pengguna dengan izin hanya untuk basis data yang akan dimigrasi.
Kode berikut membuat pengguna sebagai akun root.
use admin db.createUser( { user: "root", pwd: "
password
", roles: [ { role: "root", db: "admin" } ] })
Untuk Amazon DocumentDB 3.6, kode berikut membuat pengguna dengan hak istimewa minimal pada database yang akan dimigrasi.
use
database_to_migrate
db.createUser( { user: "dms-user
", pwd: "password
", roles: [ { role: "read", db: "db_name" }, "read"] })
Untuk Amazon DocumentDB 4.0 dan yang lebih tinggi AWS DMS , menggunakan aliran perubahan di seluruh penerapan. Di sini, kode berikut membuat pengguna dengan hak istimewa minimal.
db.createUser( { user: "dms-user", pwd: "password", roles: [ { role: "readAnyDatabase", db: "admin" }] })
Mengonfigurasi CDC untuk klaster Amazon DocumentDB
Untuk menggunakan replikasi atau CDC yang sedang berlangsung dengan Amazon DocumentDB AWS DMS , memerlukan akses ke aliran perubahan klaster Amazon DocumentDB. Untuk deskripsi urutan yang diatur waktu dari peristiwa pembaruan di koleksi dan basis data klaster Anda, lihat Menggunakan aliran perubahan dalam Panduan Developer Amazon DocumentDB.
Lakukan autentikasi klaster Amazon DocumentDB Anda menggunakan shell MongoDB. Kemudian jalankan perintah berikut untuk mengaktifkan perubahan aliran.
db.adminCommand({modifyChangeStreams: 1, database: "DB_NAME", collection: "", enable: true});
Pendekatan ini memungkinkan aliran perubahan untuk semua koleksi dalam basis data Anda. Setelah aliran perubahan diaktifkan, Anda dapat membuat tugas migrasi yang memigrasi data yang ada dan sekaligus mereplikasi perubahan yang sedang berlangsung. AWS DMS terus menangkap dan menerapkan perubahan bahkan setelah data massal dimuat. Akhirnya, sumber dan target basis data menyinkronkan, meminimalkan downtime untuk migrasi.
catatan
AWS DMS menggunakan log operasi (oplog) untuk menangkap perubahan selama replikasi yang sedang berlangsung. Jika Amazon DocumentDB menghapus catatan dari oplog AWS DMS sebelum membacanya, tugas Anda akan gagal. Kami merekomendasikan ukuran oplog untuk mempertahankan perubahan setidaknya selama 24 jam.
Menghubungkan ke Amazon DocumentDB menggunakan TLS
Secara default, klaster Amazon DocumentDB baru dibuat menerima sambungan aman hanya menggunakan Keamanan Lapisan Pengangkutan (TLS). Ketika TLS diaktifkan, setiap sambungan ke Amazon DocumentDB memerlukan kunci publik.
Anda dapat mengambil kunci publik untuk Amazon DocumentDB dengan mengunduh file dari bucket Amazon rds-combined-ca-bundle.pem
S3 yang AWS di-host. Untuk informasi lebih lanjut tentang mengunduh file ini, lihat Mengenkripsi sambungan menggunakan TLS dalam Panduan Developer Amazon DocumentDB.
Setelah mengunduh rds-combined-ca-bundle.pem
file, Anda dapat mengimpor kunci publik yang dikandungnya AWS DMS. Langkah-langkah berikut menjelaskan cara melakukannya.
Untuk mengimpor kunci publik menggunakan AWS DMS konsol
-
Masuk ke AWS Management Console dan pilih AWS DMS.
-
Pilih Sertifikat di panel navigasi.
-
Pilih Impor sertifikat. Laman Impor sertifikat CA baru akan muncul.
-
Pada bagian Konfigurasi sertifikat, lakukan salah satu hal berikut:
-
Untuk Pengenal sertifikat, masukkan nama unik untuk sertifikat tersebut, seperti
docdb-cert
. -
Pilih Pilih berkas, navigasikan ke lokasi tempat Anda menyimpan
rds-combined-ca-bundle.pem
, dan pilih itu.
-
-
Pilih Tambahkan sertifikat CA baru.
Contoh AWS CLI berikut menggunakan AWS DMS import-certificate
perintah untuk mengimpor rds-combined-ca-bundle.pem
file kunci publik.
aws dms import-certificate \ --certificate-identifier docdb-cert \ --certificate-pem file://./rds-combined-ca-bundle.pem
Membuat titik akhir sumber Amazon DocumentDB
Anda dapat membuat titik akhir sumber Amazon DocumentDB menggunakan konsol atau AWS CLI. Gunakan prosedur berikut dengan konsol.
Untuk mengonfigurasi titik akhir sumber Amazon DocumentDB menggunakan konsol AWS DMS
-
Masuk ke AWS Management Console dan pilih AWS DMS.
-
Pilih Titik akhir dari panel navigasi, lalu pilih Buat titik akhir.
-
Untuk Pengidentifikasi titik akhir, berikan nama yang membantu Anda mengidentifikasinya dengan mudah, seperti
docdb-source
. -
Untuk Mesin sumber, pilih Amazon DocumentDB (dengan kompatibilitas MongoDB).
-
Untuk Nama server, masukkan nama server di lokasi titik akhir basis data Amazon DocumentDB Anda berada. Misalnya, Anda dapat memasukkan nama DNS publik dari instans Amazon EC2 Anda, seperti
democluster.cluster-cjf6q8nxfefi.us-east-2.docdb.amazonaws.com
. -
Untuk Port, masukkan 27017.
-
Untuk Mode SSL, pilih verifikasi penuh. Jika Anda telah menonaktifkan SSL pada kluster Amazon DocumentDB Anda, Anda dapat melewati langkah ini.
-
Untuk Sertifikat CA, pilih sertifikat Amazon DocumentDB,
rds-combined-ca-bundle.pem
. Untuk petunjuk tentang cara menambahkan sertifikat ini, lihat Menghubungkan ke Amazon DocumentDB menggunakan TLS. -
Untuk Nama basis data, masukkan nama dari basis data yang akan dimigrasi.
Gunakan prosedur berikut dengan CLI.
Untuk mengonfigurasi titik akhir sumber Amazon DocumentDB menggunakan AWS CLI
-
Jalankan AWS DMS
create-endpoint
perintah berikut untuk mengonfigurasi titik akhir sumber Amazon DocumentDB, mengganti placeholder dengan nilai Anda sendiri.aws dms create-endpoint \ --endpoint-identifier
a_memorable_name
\ --endpoint-type source \ --engine-name docdb \ --usernamevalue
\ --passwordvalue
\ --server-nameservername_where_database_endpoint_resides
\ --port 27017 \ --database-namename_of_endpoint_database
Melakukan segmentasi koleksi Amazon DocumentDB dan migrasi secara paralel
Untuk meningkatkan kinerja tugas migrasi, titik akhir sumber Amazon DocumentDB mendukung dua opsi fitur beban penuh paralel dalam pemetaan tabel. Dengan kata lain, Anda dapat memigrasikan koleksi secara paralel dengan menggunakan opsi autosegmentasi atau segmentasi rentang pemetaan tabel untuk beban penuh paralel dalam pengaturan JSON. Opsi segmentasi otomatis memungkinkan Anda menentukan kriteria untuk AWS DMS secara otomatis mengelompokkan sumber Anda untuk migrasi di setiap utas. Opsi segmentasi rentang memungkinkan Anda memberi tahu AWS DMS rentang spesifik setiap segmen agar DMS dapat bermigrasi di setiap utas. Untuk informasi selengkapnya tentang pengaturan, lihat Tabel dan koleksi pengaturan aturan dan operasi.
Migrasi database Amazon DocumentDB 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, terutama jumlah dokumen yang akan dimigrasi 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 |
---|---|
|
(Wajib) Setel ke |
|
(Opsional) Jumlah total partisi (segmen) yang digunakan untuk migrasi. Defaultnya adalah 16. |
|
(Opsional) Jika diatur ke |
|
(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. Defaultnya adalah 10000. Menyetel nilai yang relatif besar dapat mengakibatkan batas waktu kurser dan kegagalan tugas. Menetapkan nilai yang relatif rendah menghasilkan lebih banyak operasi per halaman dan beban penuh yang lebih lambat. |
|
(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 } } ] }
Segmentasi otomatis 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, ini dapat menyebabkan kehilangan data atau kesalahan baris duplikat.
Migrasi database Amazon DocumentDB secara paralel menggunakan rentang segmen tertentu
Contoh berikut menunjukkan koleksi Amazon DocumentDB yang memiliki tujuh item, _id
dan sebagai kunci utama.
Untuk membagi koleksi menjadi tiga segmen dan bermigrasi secara paralel, Anda dapat menambahkan aturan pemetaan tabel untuk tugas migrasi Anda seperti yang 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 less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 5 and not in (_id less-than-or-equal-to "5f805c97873173399a278d79" and num less-than-or-equal-to 2) (3 records) Data not in (_id less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 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 Amazon find
DocumentDB 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 Amazon DocumentDB berikut sebagai kolom kunci segmen:
-
Dua Kali
-
String
-
ObjectId
-
32 bit integer
-
64 bit integer
Migrasi beberapa database saat menggunakan Amazon DocumentDB sebagai sumber untuk AWS DMS
AWS DMS versi 3.4.5 dan yang lebih tinggi mendukung migrasi beberapa database dalam satu tugas hanya untuk Amazon DocumentDB versi 4.0 dan yang lebih tinggi. Jika Anda ingin memigrasi beberapa database, lakukan hal berikut:
-
Saat Anda membuat titik akhir sumber Amazon DocumentDB:
-
Dalam AWS Management Console for AWS DMS, biarkan nama Database kosong di bawah konfigurasi Endpoint pada halaman Create endpoint.
-
Di AWS Command Line Interface (AWS CLI), tetapkan nilai string kosong ke DatabaseNameparameter di DocumentDbSettings yang Anda tentukan untuk tindakan tersebut. CreateEndpoint
-
-
Untuk setiap database yang ingin Anda migrasi dari titik akhir sumber Amazon DocumentDB ini, tentukan nama setiap database sebagai nama skema dalam pemetaan tabel untuk tugas menggunakan input terpandu di konsol atau langsung di JSON. Untuk informasi lebih lanjut tentang input yang dipandu, lihat deskripsi 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 Amazon DocumentDB.
contoh Memigrasi semua tabel dalam skema
JSON berikut memigrasikan semua tabel dariCustomers
,Orders
, dan Suppliers
database di sumber Anda enpoint ke titik akhir target Anda.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Customers", "table-name": "%" }, "object-locator": { "schema-name": "Orders", "table-name": "%" }, "object-locator": { "schema-name": "Inventory", "table-name": "%" }, "rule-action": "include" } ] }
Keterbatasan saat menggunakan Amazon DocumentDB sebagai sumber untuk AWS DMS
Berikut ini adalah batasan saat menggunakan Amazon DocumentDB sebagai sumber untuk: AWS DMS
-
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
danarray
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. Sebagai contoh, tentukan
${oid__id}
dan bukan${_id}
, atau${array__addresses}
dan bukan${_addresses}
. -
Nama koleksi dan nama kunci tidak dapat menyertakan simbol dolar ($).
-
Mode tabel dan mode dokumen memiliki keterbatasan seperti yang dibahas sebelumnya.
-
Migrasi secara paralel menggunakan autosegmentasi memiliki keterbatasan yang dijelaskan sebelumnya.
-
Sumber Amazon DocumentDB (kompatibel dengan MongoDB) tidak mendukung penggunaan stempel waktu tertentu sebagai posisi awal untuk pengambilan data perubahan (CDC). Tugas replikasi yang sedang berlangsung mulai menangkap perubahan terlepas dari timestamp.
-
Saat menggunakan DocumentDB (kompatibel dengan MongoDB) sebagai sumber, DMS dapat menangani maksimum 250 catatan per detik.
-
AWS DMS tidak mendukung dokumen di mana tingkat bersarang lebih besar dari 97.
-
Filter sumber tidak didukung untuk DocumentDB.
-
AWS DMS tidak mendukung replikasi CDC (ubah pengambilan data) untuk DocumentDB sebagai sumber dalam mode cluster elastis.
Menggunakan pengaturan titik akhir dengan Amazon DocumentDB sebagai sumber
Anda dapat menggunakan pengaturan titik akhir untuk mengonfigurasi basis data sumber Amazon DocumentDB mirip dengan menggunakan atribut koneksi tambahan. Anda menentukan pengaturan saat Anda membuat titik akhir sumber menggunakan AWS DMS konsol, atau dengan menggunakan create-endpoint
perintah di AWS CLI, dengan sintaks --doc-db-settings '{"
JSON.EndpointSetting"
:
"value"
, ...
}'
Tabel berikut menunjukkan pengaturan titik akhir yang dapat Anda gunakan dengan Amazon DocumentDB sebagai sumber.
Nama atribut | Nilai valid | Nilai default dan deskripsi |
---|---|---|
|
|
|
|
boolean
|
Jika database target Anda adalah Amazon DocumentDB, atur. |
|
Sebuah integer positif lebih besar dari |
|
|
boolean
|
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:
|
Tipe data sumber untuk Amazon DocumentDB
Dalam tabel berikut, Anda dapat menemukan tipe data sumber Amazon DocumentDB yang didukung saat menggunakan. AWS DMS Anda juga dapat menemukan pemetaan default dari tipe AWS DMS data dalam tabel ini. Untuk informasi lebih lanjut tentang jenis data, lihat Jenis BSON
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 Amazon DocumentDB |
AWS DMS tipe data |
---|---|
Boolean |
Bool |
Binary |
BLOB |
Date |
Date |
Timestamp |
Date |
Int |
INT4 |
Long |
INT8 |
Double |
REAL8 |
String (UTF-8) |
CLOB |
Array |
CLOB |
OID |
String |