Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kompatibilitas Amazon DocumentDB dengan MongoDB
Amazon DocumentDB mendukung kompatibilitas MongoDB termasuk MongoDB 4.0, MongoDB 5.0, dan MongoDB 8.0. Kompatibilitas MongoDB berarti bahwa sebagian besar aplikasi, driver, dan alat yang sudah Anda gunakan hari ini dengan database MongoDB Anda dapat digunakan dengan Amazon DocumentDB dengan sedikit atau tanpa perubahan. Bagian ini menjelaskan semua yang perlu Anda ketahui tentang kompatibilitas Amazon DocumentDB dengan MongoDB termasuk kemampuan dan fitur baru, memulai, jalur migrasi, dan perbedaan fungsional.
Topik
Kompatibilitas MongoDB 8.0
Topik
Apa yang baru di Amazon DocumentDB 8.0
Amazon DocumentDB 8.0 meningkatkan kinerja kueri hingga 7x, dan meningkatkan rasio kompresi hingga 5x, memungkinkan Anda membuat aplikasi berkinerja tinggi dengan biaya lebih rendah. Amazon DocumentDB 8.0 memiliki kompatibilitas protokol kawat penuh dengan MongoDB 8.0. Ringkasan di bawah ini memperkenalkan beberapa fitur utama yang diperkenalkan di Amazon DocumentDB 8.0. Untuk melihat daftar lengkap kemampuan baru, lihat Catatan rilis.
Menyediakan kompatibilitas dengan MongoDB 8.0 dengan menambahkan dukungan untuk driver API MongoDB 8.0. Juga mendukung aplikasi yang dibangun menggunakan MongoDB API versi 6.0 dan 7.0.
Perencana kueri baru di Amazon DocumentDB 8.0 memperluas peningkatan kinerja ke operator tahap agregasi, bersama dengan mendukung optimasi pipeline agregasi dan perintah yang berbeda.
Amazon DocumentDB 8.0 mendukung kolasi dan tampilan.
Menawarkan 6 tahap agregasi baru: $replaceWith, $vectorSearch, $merge, $set, $unset, $bucket, dan 3 operator agregasi baru $pow, $rand, $dateTrunc.
Versi baru indeks teks: Indeks teks v2 di Amazon DocumentDB 8.0 memperkenalkan token tambahan, meningkatkan kemampuan pencarian teks.
Melalui pembuatan indeks vektor paralel, Amazon DocumentDB 8.0 mengurangi waktu pembuatan indeks hingga 30x.
Peningkatan batas penyimpanan menjadi 256 TiB.
Memulai dengan Amazon DocumentDB 8.0
Untuk memulai dengan Amazon DocumentDB 8.0, lihat. Memulai dengan Amazon DocumentDB Anda dapat membuat cluster Amazon DocumentDB 8.0 baru menggunakan Konsol Manajemen AWS atau AWS SDK, AWS CLI, atau CloudFormation. Saat menghubungkan ke Amazon DocumentDB, Anda harus menggunakan driver atau utilitas MongoDB yang kompatibel dengan MongoDB 5.0 atau lebih tinggi.
catatan
Saat menggunakan AWS SDK, AWS CLI, atau CloudFormation, versi mesin akan default ke 5.0.0. Anda harus secara eksplisit menentukan parameter engineVersion = 8.0.0 untuk membuat cluster Amazon DocumentDB 8.0 baru atau engineVersion = 4.0.0 untuk membuat cluster Amazon DocumentDB 4.0 baru atau engineVersion = 3.6.0 untuk membuat cluster Amazon DocumentDB 3.6 baru. Untuk cluster Amazon DocumentDB tertentu, Anda dapat menentukan versi cluster menggunakan AWS CLI untuk memanggil describe-db-clusters atau menggunakan konsol manajemen Amazon DocumentDB untuk melihat nomor versi mesin untuk cluster tertentu.
Amazon DocumentDB 5.0 dan 8.0 mendukung prosesor Amazon EC2 r8g Graviton4 dan prosesor Graviton2 seperti r6g dan tipe t4.medium instance untuk cluster Anda dan tersedia di semua yang didukung (lihat). Wilayah AWS Contoh Untuk informasi selengkapnya tentang harga, lihat Harga Amazon DocumentDB (dengan kompatibilitas MongoDB)
Tingkatkan atau migrasi ke Amazon DocumentDB 5.0 atau 8.0
Anda dapat bermigrasi dari MongoDB 3.6 atau MongoDB 4.0 ke Amazon DocumentDB 5.0 atau Amazon DocumentDB 8.0 menggunakan utilitas AWS DMS
Perbedaan fungsional
Perbedaan fungsional antara Amazon DocumentDB 5.0 dan 8.0
Dengan rilis Amazon DocumentDB 8.0, ada perbedaan fungsional antara Amazon DocumentDB 5.0 dan Amazon DocumentDB 8.0:
-
Planner v1 adalah perencana kueri default di Amazon DocumentDB 5.0, sedangkan Planner v3 yang lebih berkinerja adalah default di Amazon DocumentDB 8.0.
-
Fitur-fitur baru di Amazon DocumentDB 8.0 termasuk Views, Collation, dan operator seperti $merge hanya kompatibel dengan Planner v3.
-
Kompresi dinyalakan secara default di Amazon DocumentDB 8.0 dan diatur untuk menggunakan algoritma Zstandard. Selain itu, di Amazon DocumentDB 8.0 'diaktifkan' tidak lagi merupakan pilihan yang valid; Anda dapat memilih dari Zstd, LZ4, dan tidak ada.
-
Amazon DocumentDB 8.0 hanya mendukung TLS 1.2 dan yang lebih tinggi untuk koneksi database.
penting
Amazon DocumentDB 8.0 memerlukan TLS 1.2 atau lebih tinggi. TLS 1.0 dan TLS 1.1 tidak lagi didukung.
Kompatibilitas MongoDB 5.0
Topik
Apa yang baru di Amazon DocumentDB 5.0
Amazon DocumentDB 5.0 memperkenalkan fitur dan kemampuan baru yang mencakup batas penyimpanan dan enkripsi tingkat bidang sisi klien. Ringkasan di bawah ini memperkenalkan beberapa fitur utama yang diperkenalkan di Amazon DocumentDB 5.0. Untuk melihat daftar lengkap kemampuan baru, lihat Catatan rilis.
Peningkatan batas penyimpanan menjadi 128 TiB untuk semua cluster Amazon DocumentDB berbasis instance dan cluster elastis berbasis shard.
Memperkenalkan Amazon DocumentDB 5.0 Engine Versi 3.0.775)
Dukungan untuk driver API MongoDB 5.0
Dukungan untuk Enkripsi Tingkat Client-side Lapangan (FLE). Anda sekarang dapat mengenkripsi bidang di sisi klien sebelum menulis data ke cluster Amazon DocumentDB. Untuk informasi selengkapnya, lihat Client-side enkripsi tingkat lapangan.
Operator agregasi baru:
$dateAdd,$dateSubtractMendukung indeks dengan
$elemMatchoperator. Akibatnya, kueri yang memiliki$elemMatchakan menghasilkan pemindaian indeks.
Amazon DocumentDB tidak mendukung setiap fitur MongoDB 5.0. Ketika kami membuat Amazon DocumentDB 5.0, kami bekerja mundur dari fitur dan kemampuan yang paling diminta pelanggan kami untuk kami buat. Kami akan terus menambahkan kemampuan MongoDB 5.0 tambahan berdasarkan apa yang diminta pelanggan untuk kami bangun. Untuk daftar terbaru API yang didukung, lihatAPI, operasi, dan tipe data MongoDB yang didukung di Amazon DocumentDB.
Apa yang baru di Amazon DocumentDB 5.0.1
Amazon DocumentDB 5.0.1 adalah rilis versi minor pertama untuk versi utama Amazon DocumentDB 5.0. Versi minor mencakup peningkatan seperti fitur baru, perbaikan keamanan, dan perbaikan bug. Anda dapat memutakhirkan ke 5.0.1 dari 5.0.0 menggunakan upgrade versi minor. Untuk informasi selengkapnya, lihat Peningkatan versi minor Amazon DocumentDB.
Kemampuan agregasi yang ditingkatkan dengan operator baru (
$rand$pow,$dateToParts,,$dateFromParts).Metrik koneksi aktif untuk memantau instance. Untuk informasi selengkapnya, lihat Kuota instans.
Metrik kinerja tingkat perintah terperinci CloudWatch untuk operasi CRUD (
find,,,,,insert,findAndModify,update,commitTransaction)deleteaggregate, ekspocountsurdistinct,getMore,abortTransactionP100Duration, danMaxConcurrentdimensi untuk pemAvgDurationantauan operasional yang lebih baik.Amazon DocumentDB 5.0.1 hanya mendukung TLS 1.2 dan yang lebih tinggi untuk koneksi database.
Ditambahkan
gcRuntimeStats,documentFragmentStats, dan memecah metrik tingkat pengumpulan kestorageSegmentExtendeddalamstorageSegmentBasedancollstatsmasuk untuk memunculkan lebih banyak informasi ke dalam kesehatan keseluruhan proses pengumpulan sampah.
Memulai dengan Amazon DocumentDB 5.0
Untuk memulai dengan Amazon DocumentDB 5.0, lihat. Memulai dengan Amazon DocumentDB Anda dapat membuat cluster Amazon DocumentDB 5.0 baru menggunakan Konsol Manajemen AWS atau AWS SDK, AWS CLI, atau CloudFormation. Saat menghubungkan ke Amazon DocumentDB, Anda harus menggunakan driver atau utilitas MongoDB yang kompatibel dengan MongoDB 5.0 atau lebih tinggi.
catatan
Saat menggunakan AWS SDK, AWS CLI, atau CloudFormation, versi mesin akan default ke 5.0.0. Anda harus secara eksplisit menentukan parameter engineVersion = 4.0.0 untuk membuat cluster Amazon DocumentDB 4.0 baru atau engineVersion = 3.6.0 untuk membuat cluster Amazon DocumentDB 3.6 baru. Untuk cluster Amazon DocumentDB tertentu, Anda dapat menentukan versi cluster menggunakan AWS CLI untuk memanggil describe-db-clusters atau menggunakan konsol manajemen Amazon DocumentDB untuk melihat nomor versi mesin untuk cluster tertentu.
Amazon DocumentDB 5.0 dan 8.0 mendukung prosesor Amazon EC2 r8g Graviton4 dan prosesor Graviton2 seperti r6g dan tipe t4.medium instance untuk cluster Anda dan tersedia di semua yang didukung (lihat). Wilayah AWS Contoh Untuk informasi selengkapnya tentang harga, lihat Harga Amazon DocumentDB (dengan kompatibilitas MongoDB)
Tingkatkan atau migrasi ke Amazon DocumentDB 5.0
Anda dapat bermigrasi dari MongoDB 3.6 atau MongoDB 4.0 ke Amazon DocumentDB 5.0 menggunakan utilitas AWS DMS
Perbedaan fungsional
Perbedaan fungsional antara Amazon DocumentDB 4.0 dan 5.0
Dengan rilis Amazon DocumentDB 5.0, ada perbedaan fungsional antara Amazon DocumentDB 4.0 dan Amazon DocumentDB 5.0:
-
Peran bawaan cadangan sekarang mendukung
serverStatus. Tindakan - Pengembang dan aplikasi dengan peran cadangan dapat mengumpulkan statistik tentang status cluster Amazon DocumentDB. -
SecondaryDelaySecsBidang menggantikanslaveDelayreplSetGetConfigoutput. -
Per hello intah menggantikan
isMaster- hello mengembalikan dokumen yang menjelaskan peran cluster Amazon DocumentDB. Amazon DocumentDB 5.0 sekarang mendukung pemindaian indeks dengan
$elemMatchoperator di tingkat sarang pertama. Pemindaian indeks didukung ketika filter hanya kueri memiliki satu tingkat$elemMatchfilter tetapi tidak didukung jika kueri bersarang$elemMatchdisertakan.Misalnya, di Amazon DocumentDB 5.0, jika Anda menyertakan
$elemMatchoperator di tingkat bersarang, ia tidak akan mengembalikan nilai seperti yang terjadi di Amazon DocumentDB 4.0:db.foo.insert( [ {a: {b: 5}}, {a: {b: [5]}}, {a: {b: [3, 7]}}, {a: [{b: 5}]}, {a: [{b: 3}, {b: 7}]}, {a: [{b: [5]}]}, {a: [{b: [3, 7]}]}, {a: [[{b: 5}]]}, {a: [[{b: 3}, {b: 7}]]}, {a: [[{b: [5]}]]}, {a: [[{b: [3, 7]}]]} ]); // DocumentDB 5.0 > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } // DocumentDB 4.0 > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } { "a" : [ [ { "b" : [ 5 ] } ] ] }-
Proyeksi “$” di Amazon DocumentDB 4.0 mengembalikan semua dokumen dengan semua bidang. Dengan Amazon DocumentDB 5.0, find perintah dengan proyeksi “$” mengembalikan dokumen yang cocok dengan parameter kueri yang hanya berisi bidang yang cocok dengan proyeksi “$”.
Di Amazon DocumentDB 5.0, find perintah dengan
$regexdan parameter$optionskueri mengembalikan kesalahan: “Tidak dapat mengatur opsi di keduanya$regexdan$options”.Dengan Amazon DocumentDB 5.0,
$indexOfCPsekarang mengembalikan “-1" ketika:substring tidak ditemukan dalam ekspresi string, atau
awal adalah angka yang lebih besar dari akhir, atau
start adalah angka yang lebih besar dari panjang byte string.
Di Amazon DocumentDB 4.0,
$indexOfCPmengembalikan “0" ketika posisi awal adalah angka yang lebih besar dari akhir atau panjang byte string.Dengan Amazon DocumentDB 5.0, operasi proyeksi di
_id fields, misalnya{"_id.nestedField" : 1}, mengembalikan dokumen yang hanya menyertakan bidang yang diproyeksikan. Sedangkan di Amazon DocumentDB 4.0, perintah proyeksi bidang bersarang tidak menyaring dokumen apa pun.
Kompatibilitas MongoDB 4.0
Topik
Fitur Amazon DocumentDB 4.0
Amazon DocumentDB 4.0 memperkenalkan banyak fitur dan kemampuan baru yang mencakup transaksi ACID dan peningkatan untuk mengubah aliran. Ringkasan di bawah ini menunjukkan beberapa fitur utama yang diperkenalkan di Amazon DocumentDB 4.0. Untuk melihat daftar lengkap kemampuan, lihatCatatan rilis.
-
Transaksi ACID: Amazon DocumentDB sekarang mendukung kemampuan untuk melakukan transaksi di beberapa dokumen, pernyataan, koleksi, dan basis data. Transaksi menyederhanakan pengembangan aplikasi dengan memungkinkan Anda untuk melakukan operasi atomik, konsisten, terisolasi, dan tahan lama (ACID) di satu atau lebih dokumen dalam klaster Amazon DocumentDB. Untuk informasi selengkapnya, lihat Transaksi di Amazon DocumentDB.
-
Aliran perubahan: Anda sekarang memiliki kemampuan untuk membuka aliran perubahan di tingkat klaster (
client.watch()ataumongo.watch()) dan basis data (db.watch()), Anda dapat menentukanstartAtOperationTimeuntuk membuka kursor aliran perubahan, dan terakhir Anda sekarang dapat memperpanjang periode retensi aliran perubahan menjadi 7 hari (sebelumnya 24 jam). Untuk informasi selengkapnya, lihat Menggunakan aliran perubahan dengan Amazon DocumentDB. -
AWS Database Migration Service(AWS DMS): Sekarang Anda dapat menggunakan AWS DMS untuk memigrasikan beban kerja MongoDB 4.0 Anda ke Amazon DocumentDB. AWS DMS sekarang mendukung sumber MongoDB 4.0, target Amazon DocumentDB 4.0, dan sumber Amazon DocumentDB 3.6 untuk melakukan peningkatan antara Amazon DocumentDB 3.6 dan 4.0. Untuk informasi selengkapnya, lihat Dokumentasi AWS DMS .
-
Performa dan pengindeksan: Anda sekarang dapat memanfaatkan indeks dengan
$lookup, menemukan kueri dengan proyeksi yang berisi satu bidang atau satu bidang dan bidang_iddapat dilayani langsung dari indeks dan tanpa perlu membaca dari koleksi (kueri tercakup), kemampuan untukhint()denganfindAndModify, optimasi performa untuk$addToSet, dan peningkatan untuk mengurangi ukuran indeks secara keseluruhan. Untuk informasi selengkapnya, lihat Catatan rilis. -
Operator: Amazon DocumentDB 4.0 sekarang mendukung sejumlah operator agregasi baru:
$ifNull,$replaceRoot,$setIsSubset,$setIntersection,$setUnion,$setEquals. Anda dapat melihat semua API, Operasi, dan Tipe Data MongoDB yang kami dukung di API, operasi, dan tipe data MongoDB yang didukung di Amazon DocumentDB. -
Kontrol akses berbasis peran (RBAC): Dengan perintah
ListCollectiondanListDatabaseAnda sekarang dapat secara opsional menggunakan parameterauthorizedCollectionsdanauthorizedDatabasesuntuk memungkinkan pengguna membuat daftar koleksi dan basis data yang memiliki izin untuk mereka akses tanpa memerlukan peranlistCollectionsdanlistDatabase, masing-masing. Anda juga memiliki kemampuan untuk menghilangkan kursor Anda sendiri tanpa memerlukan peranKillCursor.
Amazon DocumentDB tidak mendukung setiap fitur MongoDB 4.0. Ketika kami membangun Amazon DocumentDB 4.0, kami bekerja ke belakang dari fitur dan kemampuan yang paling banyak diminta pelanggan kami untuk kami bangun. Kami akan terus menambahkan kemampuan MongoDB 4.0 tambahan berdasarkan apa yang diminta pelanggan untuk kami bangun. Misalnya, Amazon DocumentDB 4.0 saat ini tidak mendukung operator konversi tipe atau operator string yang diperkenalkan di MongoDB 4.0. Untuk daftar terbaru API yang didukung, lihatAPI, operasi, dan tipe data MongoDB yang didukung di Amazon DocumentDB.
Memulai dengan Amazon DocumentDB 4.0
Untuk memulai dengan Amazon DocumentDB 4.0, lihat. Memulai dengan Amazon DocumentDB Anda dapat membuat cluster Amazon DocumentDB 4.0 baru menggunakan Konsol Manajemen AWS atau AWS SDK, AWS CLI, atau CloudFormation. Saat menghubungkan ke Amazon DocumentDB, Anda harus menggunakan driver atau utilitas MongoDB yang kompatibel dengan MongoDB 4.0 atau yang lebih tinggi.
catatan
Saat menggunakan AWS SDK, AWS CLI, atau CloudFormation, versi mesin akan default ke 5.0.0. Anda harus secara eksplisit menentukan parameter engineVersion = 4.0.0 untuk membuat cluster Amazon DocumentDB 4.0 baru atau engineVersion = 3.6.0 untuk membuat cluster Amazon DocumentDB 3.6 baru. Untuk cluster Amazon DocumentDB tertentu, Anda dapat menentukan versi cluster menggunakan AWS CLI untuk memanggil describe-db-clusters atau menggunakan konsol manajemen Amazon DocumentDB untuk melihat nomor versi mesin untuk cluster tertentu.
Amazon DocumentDB 4.0 mendukungr5,r6g,t3.medium, dan jenis t4g.medium instans untuk cluster Anda dan tersedia di semua yang didukung Wilayah AWS. Tidak ada biaya tambahan untuk menggunakan Amazon DocumentDB 4.0. Untuk informasi selengkapnya tentang harga, lihat Harga Amazon DocumentDB (dengan kompatibilitas MongoDB)
Tingkatkan atau migrasi ke Amazon DocumentDB 4.0
Anda dapat bermigrasi dari MongoDB 3.6 atau MongoDB 4.0 ke Amazon DocumentDB 4.0 menggunakan utilitas AWS DMS
Perbedaan fungsional
Perbedaan fungsional antara Amazon DocumentDB 3.6 dan 4.0
Dengan dirilisnya Amazon DocumentDB 4.0, ada perbedaan fungsional antara Amazon DocumentDB 3.6 dan Amazon DocumentDB 4.0:
-
Proyeksi untuk dokumen bersarang: Amazon DocumentDB 3.6 menganggap bidang pertama dalam dokumen bersarang ketika menerapkan proyeksi. Namun, Amazon DocumentDB 4.0 akan mengurai sub dokumen dan juga menerapkan proyeksi untuk setiap sub dokumen. Misalnya: jika proyeksinya adalah
"a.b.c": 1, maka perilaku di kedua versi itu identik. Namun, jika proyeksinya adalah{a:{b:{c:1}}}maka Amazon DocumentDB 3.6 hanya akan menerapkan proyeksi ke 'a' dan bukan 'b' atau 'c'. -
Perilaku untuk
minKey,maxKey: Di Amazon DocumentDB 4.0, perilaku untuk{x:{$gt:MaxKey}}tidak mengembalikan apa-apa, dan untuk{x:{$lt:MaxKey}}mengembalikan segalanya. -
Perbedaan perbandingan dokumen: Membandingkan nilai-nilai numerik dari berbagai jenis (ganda, int, panjang) di sub dokumen (misalnya,
bdalam{"_id" :1, "a" :{"b":1}}) sekarang menyediakan output yang konsisten di seluruh tipe data numerik dan untuk setiap tingkat dokumen.
Perbedaan fungsional antara Amazon DocumentDB 4.0 dan MongoDB 4.0
Di bawah ini adalah perbedaan fungsional antara Amazon DocumentDB 4.0 dan MongoDB 4.0.
-
Pencarian dengan kunci kosong di jalur: Ketika koleksi berisi dokumen dengan kunci kosong di dalam array (misalnya
{"x" : [ { "" : 10 }, { "b" : 20 } ]}), dan ketika kunci yang digunakan dalam kueri berakhir dalam string kosong (misalnyax.), maka Amazon DocumentDB akan mengembalikan dokumen itu karena melintasi semua dokumen dalam array sedangkan MongoDB tidak akan mengembalikan dokumen itu. -
$setOnInsertbersama dengan$di jalur: Operator bidang$setOnInserttidak akan bekerja dalam kombinasi dengan$di jalur di Amazon DocumentDB, yang juga konsisten dengan MongoDB 4.0.