Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Compatibilità di Amazon DocumentDB con MongoDB
Amazon DocumentDB supporta la compatibilità con MongoDB, tra cui MongoDB 4.0, MongoDB 5.0 e MongoDB 8.0. La compatibilità con MongoDB significa che la maggior parte delle applicazioni, dei driver e degli strumenti che già utilizzi oggi con i tuoi database MongoDB possono essere utilizzati con Amazon DocumentDB con modifiche minime o nulle. Questa sezione descrive tutto ciò che devi sapere sulla compatibilità di Amazon DocumentDB con MongoDB, incluse nuove funzionalità e caratteristiche, guida introduttiva, percorsi di migrazione e differenze funzionali.
Argomenti
Compatibilità con MongoDB 8.0
Argomenti
Cosa c'è di nuovo in Amazon DocumentDB 8.0
Amazon DocumentDB 8.0 migliora le prestazioni delle query fino a 7 volte e migliora il rapporto di compressione fino a 5 volte, consentendoti di creare applicazioni ad alte prestazioni a un costo inferiore. Amazon DocumentDB 8.0 è completamente compatibile con il protocollo cablato con MongoDB 8.0. Il riepilogo riportato di seguito presenta alcune delle principali funzionalità introdotte in Amazon DocumentDB 8.0. Per un elenco completo delle nuove funzionalità, consulta. Note di rilascio
Fornisce la compatibilità con MongoDB 8.0 aggiungendo il supporto per i driver API MongoDB 8.0. Supporta anche le applicazioni create utilizzando le versioni dell'API MongoDB 6.0 e 7.0.
Il nuovo pianificatore di query in Amazon DocumentDB 8.0 estende i miglioramenti delle prestazioni agli operatori della fase di aggregazione, oltre a supportare l'ottimizzazione della pipeline di aggregazione e comandi distinti.
Amazon DocumentDB 8.0 supporta la raccolta e le visualizzazioni.
Offre 6 nuove fasi di aggregazione: $replaceWith, $vectorSearch, $merge, $set, $unset, $bucket e 3 nuovi operatori di aggregazione $pow, $rand, $DateTrunc.
Una nuova versione di text index: Text index v2 in Amazon DocumentDB 8.0 introduce token aggiuntivi, migliorando le funzionalità di ricerca testuale.
Grazie alla creazione parallela di indici vettoriali, Amazon DocumentDB 8.0 riduce il tempo di creazione dell'indice fino a 30 volte.
Limite di archiviazione aumentato a 256 TiB.
Inizia a usare Amazon DocumentDB 8.0
Per iniziare a usare Amazon DocumentDB 8.0, consulta il. Inizia a usare Amazon DocumentDB Puoi creare un nuovo cluster Amazon DocumentDB 8.0 utilizzando Console di gestione AWS o l' AWS SDK,, o. AWS CLI CloudFormation Quando ci si connette ad Amazon DocumentDB, è necessario utilizzare un driver o un'utilità MongoDB compatibile con MongoDB 5.0 o versioni successive.
Nota
Quando si utilizza l' AWS SDK, o AWS CLI, la versione del motore sarà predefinita CloudFormation la 5.0.0. È necessario specificare esplicitamente il parametro engineVersion = 8.0.0 per creare un nuovo cluster Amazon DocumentDB 8.0 o per creare un nuovo cluster Amazon DocumentDB 4.0 o engineVersion = 4.0.0 per creare un nuovo cluster Amazon DocumentDB engineVersion = 3.6.0 3.6. Per un determinato cluster Amazon DocumentDB, puoi determinare la versione del cluster utilizzando la chiamata describe-db-clusters o la console di gestione Amazon DocumentDB AWS CLI per visualizzare il numero di versione del motore per un determinato cluster.
Amazon DocumentDB 5.0 e 8.0 supportano i processori Amazon EC2 r8g Graviton4 e Graviton2 come i tipi di t4.medium istanza per i cluster r6g ed è disponibile in tutti i modelli supportati (vedi). Regioni AWS Istanze Per ulteriori informazioni sui prezzi, consulta la sezione Prezzi di Amazon DocumentDB (con compatibilità MongoDB). https://aws.amazon.com/documentdb/pricing/
Aggiornamento o migrazione ad Amazon DocumentDB 5.0 o 8.0
Puoi migrare da MongoDB 3.6 o MongoDB 4.0 ad Amazon DocumentDB 5.0 o Amazon DocumentDB 8.0 utilizzando le utilità or come mongodump, mongorestore, mongoimport e mongoexport. AWS DMS
Differenze funzionali
Differenze funzionali tra Amazon DocumentDB 5.0 e 8.0
Con il rilascio di Amazon DocumentDB 8.0, ci sono differenze funzionali tra Amazon DocumentDB 5.0 e Amazon DocumentDB 8.0:
-
Planner v1 è il pianificatore di query predefinito in Amazon DocumentDB 5.0, mentre il Planner v3, più performante, è l'impostazione predefinita in Amazon DocumentDB 8.0.
-
Le nuove funzionalità di Amazon DocumentDB 8.0, tra cui Views, Collation e operatori come $merge, sono compatibili solo con Planner v3.
-
La compressione è attivata per impostazione predefinita in Amazon DocumentDB 8.0 ed è impostata per utilizzare l'algoritmo Zstandard. Inoltre, in Amazon DocumentDB 8.0 «abilitato» non è più una scelta valida; puoi scegliere tra Zstd, LZ4 e nessuna.
-
Amazon DocumentDB 8.0 supporta solo TLS 1.2 e versioni successive per le connessioni al database.
Importante
Amazon DocumentDB 8.0 richiede TLS 1.2 o versioni successive. TLS 1.0 e TLS 1.1 non sono più supportati.
Compatibilità con MongoDB 5.0
Argomenti
Cosa c'è di nuovo in Amazon DocumentDB 5.0
Amazon DocumentDB 5.0 introduce nuove caratteristiche e funzionalità che includono limiti di archiviazione e crittografia a livello di campo sul lato client. Il riepilogo riportato di seguito presenta alcune delle principali funzionalità introdotte in Amazon DocumentDB 5.0. Per un elenco completo delle nuove funzionalità, consulta. Note di rilascio
Limite di archiviazione aumentato a 128 TiB per tutti i cluster Amazon DocumentDB basati su istanze e i cluster elastici basati su shard.
Presentazione del motore Amazon DocumentDB 5.0 (versione 3.0.775)
Supporto per i driver API MongoDB 5.0
Supporto per la crittografia a livello di Client-side campo (FLE). Ora puoi crittografare i campi sul lato client prima di scrivere i dati nel cluster Amazon DocumentDB. Per ulteriori informazioni, consulta Client-side crittografia a livello di campo.
Nuovi operatori di aggregazione:,
$dateAdd$dateSubtractSupporti per indici con operatore.
$elemMatchDi conseguenza, le interrogazioni$elemMatchcomporteranno scansioni degli indici.
Amazon DocumentDB non supporta tutte le funzionalità di MongoDB 5.0. Quando abbiamo creato Amazon DocumentDB 5.0, abbiamo lavorato a ritroso sulla base delle funzionalità e delle funzionalità che i nostri clienti ci chiedevano di sviluppare maggiormente. Continueremo ad aggiungere ulteriori funzionalità di MongoDB 5.0 in base a ciò che i clienti ci chiedono di creare. Per l'elenco più recente delle API supportate, consulta. API, operazioni e tipi di dati MongoDB supportati in Amazon DocumentDB
Cosa c'è di nuovo in Amazon DocumentDB 5.0.1
Amazon DocumentDB 5.0.1 è la prima versione secondaria della versione principale di Amazon DocumentDB 5.0. Le versioni minori includono miglioramenti come nuove funzionalità, correzioni di sicurezza e correzioni di bug. È possibile eseguire l'aggiornamento alla versione 5.0.1 dalla versione 5.0.0 utilizzando un aggiornamento della versione secondaria. Per ulteriori informazioni, consulta Aggiornamento della versione secondaria di Amazon DocumentDB.
Funzionalità di aggregazione migliorate con nuovi operatori (
$rand,,,$pow).$dateToParts$dateFromPartsMetrica delle connessioni attive per monitorare le istanze. Per ulteriori informazioni, consulta Quote delle istanze.
Metriche granulari delle prestazioni a livello di comando CloudWatch per le operazioni CRUD (
find,,,insert,,findAndModify,update,delete,aggregate,commitTransaction)countdistinctgetMoreabortTransaction, l'esposizione e le dimensioni per un migliore monitoraggioAvgDurationoperativo.P100DurationMaxConcurrentAmazon DocumentDB 5.0.1 supporta solo TLS 1.2 e versioni successive per le connessioni al database.
Sono state aggiunte
gcRuntimeStatse suddivise le metriche relative al livello di raccoltacollstatsper fornire maggiori informazioni sullo stato generale del processo di raccolta dei rifiuti.documentFragmentStatsstorageSegmentBasestorageSegmentExtended
Inizia a usare Amazon DocumentDB 5.0
Per iniziare a usare Amazon DocumentDB 5.0, consulta. Inizia a usare Amazon DocumentDB Puoi creare un nuovo cluster Amazon DocumentDB 5.0 utilizzando Console di gestione AWS o l' AWS SDK,, AWS CLI o. CloudFormation Quando ci si connette ad Amazon DocumentDB, è necessario utilizzare un driver o un'utilità MongoDB compatibile con MongoDB 5.0 o versioni successive.
Nota
Quando si utilizza l' AWS SDK, o AWS CLI, la versione del motore sarà predefinita CloudFormation la 5.0.0. È necessario specificare esplicitamente il parametro engineVersion = 4.0.0 per creare un nuovo cluster Amazon DocumentDB 4.0 o engineVersion = 3.6.0 per creare un nuovo cluster Amazon DocumentDB 3.6. Per un determinato cluster Amazon DocumentDB, puoi determinare la versione del cluster utilizzando la chiamata describe-db-clusters o la console AWS CLI di gestione Amazon DocumentDB per visualizzare il numero di versione del motore per un determinato cluster.
Amazon DocumentDB 5.0 e 8.0 supportano i processori Amazon EC2 r8g Graviton4 e Graviton2 come i tipi di t4.medium istanza per i cluster r6g ed è disponibile in tutti i modelli supportati (vedi). Regioni AWS Istanze Per ulteriori informazioni sui prezzi, consulta la sezione Prezzi di Amazon DocumentDB (con compatibilità MongoDB). https://aws.amazon.com/documentdb/pricing/
Aggiornamento o migrazione ad Amazon DocumentDB 5.0
Puoi migrare da MongoDB 3.6 o MongoDB 4.0 ad Amazon DocumentDB 5.0 utilizzando le utilità or come mongodump, AWS DMS
Differenze funzionali
Differenze funzionali tra Amazon DocumentDB 4.0 e 5.0
Con il rilascio di Amazon DocumentDB 5.0, ci sono differenze funzionali tra Amazon DocumentDB 4.0 e Amazon DocumentDB 5.0:
-
Il ruolo integrato di backup ora supporta.
serverStatusAzione: gli sviluppatori e le applicazioni con ruolo di backup possono raccogliere statistiche sullo stato del cluster Amazon DocumentDB. -
Il
SecondaryDelaySecscampo si sostituisceslaveDelaynell'replSetGetConfigoutput. -
Il hello comando replaces
isMaster: hello restituisce un documento che descrive il ruolo di un cluster Amazon DocumentDB. Amazon DocumentDB 5.0 ora supporta le scansioni degli indici con l'
$elemMatchoperatore nel primo livello di nidificazione. Le scansioni degli indici sono supportate quando il solo filtro di interrogazione ha un livello di$elemMatchfiltro, ma non sono supportate se è inclusa una query$elemMatchannidata.Ad esempio, in Amazon DocumentDB 5.0, se includi l'
$elemMatchoperatore nel livello annidato, non restituirà un valore come in 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 ] } ] ] }-
La proiezione «$» in Amazon DocumentDB 4.0 restituisce tutti i documenti con tutti i campi. Con Amazon DocumentDB 5.0, il find comando con proiezione «$» restituisce i documenti che corrispondono al parametro di query contenenti solo il campo corrispondente alla proiezione «$».
In Amazon DocumentDB 5.0, i find comandi con
$regexe i parametri di$optionsquery restituiscono un errore: «Impossibile impostare le opzioni in entrambi e».$regex$optionsCon Amazon DocumentDB 5.0,
$indexOfCPora restituisce «-1" quando:la sottostringa non si trova nell'espressione della stringa, oppure
start è un numero maggiore di end, o
start è un numero maggiore della lunghezza in byte della stringa.
In Amazon DocumentDB 4.0,
$indexOfCPrestituisce «0" quando la posizione iniziale è un numero maggiore di end o della lunghezza in byte della stringa.Con Amazon DocumentDB 5.0, le operazioni di proiezione, ad esempio
_id fields{"_id.nestedField" : 1}, restituiscono documenti che includono solo il campo proiettato. Mentre in Amazon DocumentDB 4.0, i comandi di proiezione di campo annidati non filtrano alcun documento.
Compatibilità con MongoDB 4.0
Argomenti
Caratteristiche di Amazon DocumentDB 4.0
Amazon DocumentDB 4.0 ha introdotto molte nuove caratteristiche e funzionalità che includono transazioni ACID e miglioramenti ai flussi di modifiche. Il riepilogo seguente mostra alcune delle principali funzionalità introdotte in Amazon DocumentDB 4.0. Per visualizzare un elenco completo delle funzionalità, consultaNote di rilascio.
-
Transazioni ACID: Amazon DocumentDB ora supporta la capacità di eseguire transazioni su più documenti, rendiconti, raccolte e database. Le transazioni semplificano lo sviluppo di applicazioni consentendo di eseguire operazioni atomiche, coerenti, isolate e durevoli (ACID) su uno o più documenti all'interno di un cluster Amazon DocumentDB. Per ulteriori informazioni, consulta Transazioni in Amazon DocumentDB.
-
Flussi di modifica: ora puoi aprire un flusso di modifiche a livello di cluster (
client.watch()omongo.watch()) e di database (db.watch()), puoi specificare unstartAtOperationTimeper aprire un cursore del flusso di modifiche e infine puoi estendere il periodo di conservazione del flusso di modifiche a 7 giorni (prima 24 ore). Per ulteriori informazioni, consulta Utilizzo dei flussi di modifiche con Amazon DocumentDB. -
AWS Database Migration Service(AWS DMS): Ora puoi utilizzarlo AWS DMS per migrare i tuoi carichi di lavoro MongoDB 4.0 su Amazon DocumentDB. AWS DMS ora supporta una fonte MongoDB 4.0, una destinazione Amazon DocumentDB 4.0 e una fonte Amazon DocumentDB 3.6 per eseguire aggiornamenti tra Amazon DocumentDB 3.6 e 4.0. Per ulteriori informazioni, consulta la documentazione di AWS DMS.
-
Prestazioni e indicizzazione: ora puoi utilizzare un indice con
$lookup, trovare query con una proiezione che contengono un campo o un campo e il_idcampo può essere servito direttamente dall'indice e senza bisogno di leggere dalla raccolta (query coperta), la possibilità di utilizzarehint()confindAndModify, ottimizzazioni delle prestazioni e miglioramenti per$addToSetridurre le dimensioni complessive dell'indice. Per ulteriori informazioni, consulta Note di rilascio. -
Operatori: Amazon DocumentDB 4.0 ora supporta una serie di nuovi operatori di aggregazione:,,,,,.
$ifNull$replaceRoot$setIsSubset$setIntersection$setUnion$setEqualsPuoi vedere tutte le API, le operazioni e i tipi di dati MongoDB che supportiamo su. API, operazioni e tipi di dati MongoDB supportati in Amazon DocumentDB -
Controllo degli accessi basato sui ruoli (RBAC): con entrambi
ListDatabasei comandiListCollectione ora puoi opzionalmente utilizzare iauthorizedDatabasesparametriauthorizedCollectionsand per consentire agli utenti di elencare le raccolte e i database a cui hanno il permesso di accedere senza richiedere rispettivamente i ruoli e.listCollectionslistDatabaseHai anche la possibilità di eliminare i tuoi cursori senza richiedere il ruolo.KillCursor
Amazon DocumentDB non supporta tutte le funzionalità di MongoDB 4.0. Quando abbiamo creato Amazon DocumentDB 4.0, abbiamo lavorato a ritroso sulla base delle funzionalità e delle funzionalità che i nostri clienti ci chiedevano di sviluppare maggiormente. Continueremo ad aggiungere ulteriori funzionalità di MongoDB 4.0 in base a ciò che i clienti ci chiedono di creare. Ad esempio, Amazon DocumentDB 4.0 attualmente non supporta gli operatori di conversione dei tipi o gli operatori di stringa introdotti in MongoDB 4.0. Per l'elenco più recente delle API supportate, consulta. API, operazioni e tipi di dati MongoDB supportati in Amazon DocumentDB
Inizia a usare Amazon DocumentDB 4.0
Per iniziare a usare Amazon DocumentDB 4.0, consulta. Inizia a usare Amazon DocumentDB Puoi creare un nuovo cluster Amazon DocumentDB 4.0 utilizzando Console di gestione AWS o l' AWS SDK,, AWS CLI o. CloudFormation Quando ci si connette ad Amazon DocumentDB, è necessario utilizzare un driver o un'utilità MongoDB compatibile con MongoDB 4.0 o versioni successive.
Nota
Quando si utilizza l' AWS SDK, o AWS CLI, la versione del motore sarà predefinita CloudFormation la 5.0.0. È necessario specificare esplicitamente il parametro engineVersion = 4.0.0 per creare un nuovo cluster Amazon DocumentDB 4.0 o engineVersion = 3.6.0 per creare un nuovo cluster Amazon DocumentDB 3.6. Per un determinato cluster Amazon DocumentDB, puoi determinare la versione del cluster utilizzando la chiamata describe-db-clusters o la console AWS CLI di gestione Amazon DocumentDB per visualizzare il numero di versione del motore per un determinato cluster.
Amazon DocumentDB 4.0 supportar5, r6gt3.medium, e tipi di t4g.medium istanza per i tuoi cluster ed è disponibile in tutti quelli supportati. Regioni AWS Non sono previsti costi aggiuntivi per l'utilizzo di Amazon DocumentDB 4.0. Per ulteriori informazioni sui prezzi, consulta la sezione Prezzi di Amazon DocumentDB (con compatibilità MongoDB).
Aggiornamento o migrazione ad Amazon DocumentDB 4.0
Puoi migrare da MongoDB 3.6 o MongoDB 4.0 ad Amazon DocumentDB 4.0 utilizzando le utilità or come mongodump, AWS DMS
Differenze funzionali
Differenze funzionali tra Amazon DocumentDB 3.6 e 4.0
Con il rilascio di Amazon DocumentDB 4.0, ci sono differenze funzionali tra Amazon DocumentDB 3.6 e Amazon DocumentDB 4.0:
-
Proiezione per documenti annidati: Amazon DocumentDB 3.6 considera il primo campo di un documento nidificato quando applica una proiezione. Tuttavia, Amazon DocumentDB 4.0 analizzerà i documenti secondari e applicherà la proiezione anche a ciascun documento secondario. Ad esempio: se la proiezione è
"a.b.c": 1, il comportamento in entrambe le versioni è identico. Tuttavia, se la proiezione è{a:{b:{c:1}}}, Amazon DocumentDB 3.6 applicherà la proiezione solo a «a» e non a «b» o «c». -
Comportamento per
minKeymaxKey: in Amazon DocumentDB 4.0, il comportamento per non{x:{$gt:MaxKey}}restituisce nulla e per restituisce tutto.{x:{$lt:MaxKey}} -
Differenze tra documenti: il confronto di valori numerici di diversi tipi (double, int, long) nei documenti secondari (ad esempio,
bin{"_id" :1, "a" :{"b":1}}) ora fornisce un risultato coerente tra i tipi di dati numerici e per ogni livello di un documento.
Differenze funzionali tra Amazon DocumentDB 4.0 e MongoDB 4.0
Di seguito sono riportate le differenze funzionali tra Amazon DocumentDB 4.0 e MongoDB 4.0.
-
Ricerca con chiave vuota nel percorso: quando una raccolta contiene un documento con una chiave vuota all'interno dell'array (ad esempio
{"x" : [ { "" : 10 }, { "b" : 20 } ]}) e quando la chiave utilizzata nella query termina con una stringa vuota (ad esempiox.), Amazon DocumentDB restituirà quel documento poiché attraversa tutti i documenti dell'array mentre MongoDB non restituirà quel documento. -
$setOnInsertinsieme$nel percorso: l'operatore sul campo non$setOnInsertfunzionerà in combinazione con nel percorso$in Amazon DocumentDB, che è anche coerente con MongoDB 4.0.