Cosa c'è di nuovo in MongoDB 5.0?

0
182

L'ultima major release di MongoDB, v5.0, è stata lanciata il 13 luglio 2021. Questa iterazione del database orientato ai documenti aggiunge nuove funzionalità e miglioramenti, nonché una cadenza di rilascio rivista per le versioni future.

Dati delle serie temporali< /h2>

Una delle aggiunte di funzionalità principali è il supporto di prima classe per i dati delle serie temporali. Sebbene alcuni sviluppatori abbiano già creato i propri strumenti per le serie temporali attorno a MongoDB, la disponibilità di tipi di dati delle serie temporali in modo nativo aiuterà molti altri a iniziare.

Una “serie temporale” si riferisce a qualsiasi tipo di dato in cui i record vengono creati in sequenza in momenti diversi. I casi d'uso comuni includono i flussi di misurazione dei sensori e i registri della cronologia delle transazioni, in cui ogni record corrisponde direttamente a un momento particolare.

Le nuove raccolte di serie temporali forniscono un archivio dati speciale ottimizzato per i dati con queste caratteristiche. I valori verranno compattati in una struttura di schema univoca quando vengono mantenuti su disco, fornendo una migliore indicizzazione, un utilizzo più efficiente dello storage e un carico del server ridotto. È possibile impostare la granularità dei dati temporali su secondi, minuti o ore. È anche possibile far scadere automaticamente i dati dopo un determinato numero di secondi.

db.createCollection( “measurements”, { timeseries: { timeField: “timestamp”, granularity: “minutes” }, requireAfterSeconds: 3600 } );

Lo snippet sopra definisce una raccolta di serie temporali chiamata misurazioni. La sua granularità è impostata su minuti. I documenti nella raccolta verranno eliminati automaticamente dopo un'ora.

Pubblicità

MongoDB 5.0 fornisce supporto integrato anche per l'interrogazione e la manipolazione dei dati delle serie temporali. Puoi estrarre medie mobili basate sul tempo che tengono traccia delle tendenze temporali con un codice minimo personale.

db.measurements.aggregate([ { $project: { date: { $dateToParts: {date: “$timestamp”} } }, $group: { _id: { time: { hour: “$date.hour”, minute: “$data.minuto” } }, misura media: {$avg: “misura”} } } ]);

Supponendo una raccolta di serie temporali con timestamp e campi di misurazione, il comando di aggregazione precedente restituirebbe qualcosa del genere:

{ "_id": { "ora": { "ora": 12, "mese": 30 }, "Misura media": 1.5 }, "_id": { "ora": { " ora": 12, "mese": 45 }, "misurazione media": 2.7 } }

I record sono raggruppati per data e ora utilizzando una proiezione. I valori di misurazione di ogni gruppo vengono quindi mediati nel campo AverageMeasurement.

Risharding in tempo reale

Una delle maggiori sfide con il ridimensionamento orizzontale di MongoDB è stato il suo approccio allo sharding. La scelta della chiave shard corretta è fondamentale per le prestazioni del cluster, ma in precedenza era un'operazione unidirezionale. Una volta impostata la chiave, non potevi cambiarla, lasciandoti impotente se avessi preso la decisione sbagliata il primo giorno. Lo stesso MongoDB ha descritto la selezione dei tasti shard come un “lancio con il paracadute unidirezionale” meglio risolverlo creando un intero nuovo cluster.

MongoDB 5.0 mette finalmente fine agli incubi delle chiavi shard. Se sbagli, puoi reindicizzare le tue raccolte usando una nuova chiave shard. MongoDB gestirà l'intera migrazione per te, senza causare tempi di inattività del database. Ciò rende molto più facile sfuggire alle prestazioni scadenti causate da una configurazione shard errata.

Versioning e release

MongoDB 5.0 apporta miglioramenti significativi a prova di futuro. Il database ha ottenuto un'API con versione che consente di evitare modifiche impreviste durante l'aggiornamento a nuove versioni.

Pubblicità

Potrai eseguire l'aggiornamento alle versioni future senza modificare il codice dell'app. Tutto funzionerà perfettamente finché la nuova versione supporta la versione API di destinazione. Significa che la tua applicazione è più disaccoppiata dalla versione del database sottostante, quindi puoi eseguire l'aggiornamento alle nuove versioni di MongoDB in precedenza senza rischiare il codice rotto.

Ad accompagnare questo cambiamento c'è un nuovo programma di rilascio. MongoDB inizierà a distribuire le versioni future più rapidamente, con un “Rilascio rapido” in uscita ogni trimestre. Queste saranno versioni semantiche minori senza modifiche di rilievo, che forniranno nuove funzionalità in un ciclo accelerato. Ogni anno arriverà una nuova versione principale, che includerà i rilasci rapidi e potrebbe compromettere la retrocompatibilità.

Il nuovo modello di rilascio ti consente di accedere alle funzionalità emergenti più rapidamente senza influire sulla stabilità complessiva di MongoDB. Se non desideri eseguire l'aggiornamento ogni trimestre, puoi rimanere nel ramo della versione principale e mantenere la cadenza annuale. Le versioni rapide saranno ufficialmente supportate solo nel servizio Atlas gestito di MongoDB. Saranno disponibili per gli utenti self-hosted come build di sviluppo facoltative.

MongoDB serverless

MongoDB ha anche lanciato un'anteprima delle sue nuove istanze Atlas serverless. Atlas è l'offerta di database-as-a-service ufficiale dell'azienda per le piattaforme cloud più diffuse.

Con la distribuzione serverless, otterrai il provisioning automatico delle risorse corrette per il tuo carico di lavoro corrente. La piattaforma si adatta automaticamente alle mutevoli esigenze, quindi non è necessario ridimensionare manualmente l'infrastruttura. Ti verrà addebitato solo ciò che utilizzi.

Serverless Atlas è gestito da MongoDB. Utilizza l'ultima versione di rilascio del database con supporto per gli aggiornamenti automatici. La creazione di istanze serverless ti consente di accedere a nuovi cluster MongoDB senza configurarli da solo. Scegli un provider cloud, crea un nuovo database e ti connetti dalla tua applicazione.

Riepilogo

MongoDB 5.0 estende il database con più funzionalità che ne migliorano la versatilità. Inoltre, consolida la sua posizione di piattaforma cloud-native disponibile in una gamma di soluzioni gestite, che ora include opzioni serverless.

Pubblicità

Oltre alle modifiche al titolo, c'è una sana selezione di miglioramenti e miglioramenti dell'ecosistema. Una nuova shell MongoDB semplifica l'interazione degli sviluppatori con i database offrendo l'evidenziazione della sintassi e il completamento automatico. I nuovi SDK aiutano anche a integrare MongoDB con più linguaggi e framework di programmazione, tra cui Unity, Flutter e Kotlin.

Sul fronte della sicurezza, il supporto esteso per la crittografia a livello di campo lato client consente di crittografare i dati che risiedono in multi-cloud banche dati. I miglioramenti della rotazione dei certificati facilitano gli scambi x509 senza tempi di inattività, riducendo l'impatto delle procedure di protezione avanzata di routine.

MongoDB 5.0 è ora disponibile tramite Atlas, provider di cloud pubblico e come soluzione open source self-hosted. Ci sono pacchetti ufficiali per Amazon Linux, Debian, RedHat, SUSE, Ubuntu e Windows, oltre a un'immagine Docker per ambienti containerizzati.