È disponibile il database orientato ai documenti MongoDB 5.0

È stato rilasciato MongoDB 5.0, un sistema di gestione di database orientato ai documenti che si colloca tra sistemi rapidi e scalabili che operano con dati in formato chiave/valore e database relazionali, funzionali e facili da interrogare. Il codice di MongoDB è scritto in C++ e distribuito sotto la licenza SSPL, che si basa sulla licenza AGPLv3, ma non è open source poiché include un requisito discriminatorio di fornitura sotto licenza SSPL non solo del codice dell'applicazione stessa, ma anche del codice sorgente di tutti i componenti coinvolti nella fornitura del servizio cloud.

MongoDB supporta l'archiviazione di documenti in un formato simile a JSON, ha un linguaggio sufficientemente flessibile per creare query, può generare indici per diversi attributi memorizzati, gestisce in modo efficiente l'archiviazione di grandi oggetti binari, supporta il logging delle operazioni di modifica e aggiunta di dati nel database, può operare secondo il paradigma Map/Reduce e supporta la replicazione e la costruzione di configurazioni a tolleranza di guasto.

MongoDB offre strumenti integrati per garantire il partizionamento (distribuzione del set di dati sui server basata su una chiave definita), insieme alla replica, consentendo la creazione di un cluster di archiviazione orizzontalmente scalabile, senza un singolo punto di guasto (il malfunzionamento di un nodo non influisce sul funzionamento del database), supportando il ripristino automatico dopo un guasto e il bilanciamento del carico da un nodo non funzionante. L'espansione del cluster o la transizione di un server nodo in cluster avviene senza interrompere il funzionamento del database, semplicemente aggiungendo nuove macchine.

Caratteristiche della nuova versione:

  • Sono state aggiunte collezioni per i dati sotto forma di serie temporali, ottimizzate per memorizzare istantanee dei valori dei parametri registrati a intervalli di tempo specifici (tempo e insieme dei valori corrispondenti a quel tempo). La necessità di memorizzare tali dati si presenta nei sistemi di monitoraggio, nelle piattaforme finanziarie e nei sistemi di sondaggio sullo stato dei sensori. Il trattamento dei dati di serie temporali avviene come con le normali collezioni di documenti, ma gli indici e il metodo di memorizzazione sono ottimizzati tenendo conto del vincolo temporale, consentendo di ridurre significativamente l'occupazione dello spazio su disco, diminuire i ritardi nelle esecuzioni delle query e implementare la possibilità di analizzare i dati in tempo reale.

    MongoDB considera tali raccolte come visualizzazioni non materializzate disponibili per la scrittura, create sulla base di raccolte interne e che, durante l'inserimento, raggruppano automaticamente i dati delle serie temporali in un formato di archiviazione ottimizzato. In questo modo, ogni record temporale viene trattato come un documento separato al momento della richiesta. I dati vengono automaticamente ordinati e indicizzati nel tempo (non è necessario creare esplicitamente indici temporali).

  • È stata aggiunta la supporto per gli operatori di finestra (funzioni analitiche), che consentono di eseguire azioni su un insieme specifico di documenti nella raccolta. A differenza delle funzioni di aggregazione, le funzioni di finestra non comprimono l'insieme raggruppato, ma effettuano aggregazioni sulla base del contenuto della “finestra”, che include uno o più documenti dall'insieme dei risultati. Per manipolare un sottoinsieme di documenti è stata proposta una nuova fase $setWindowFields, che consente, ad esempio, di determinare le differenze tra due documenti nella raccolta, calcolare il punteggio di vendita e analizzare informazioni in serie temporali complesse.
  • È stata aggiunta la supporto per il versioning delle API, che consente di collegare l'applicazione a uno specifico stato dell'API ed eliminare i rischi associati a possibili violazioni della compatibilità durante il passaggio a nuove versioni del DBMS. Il versioning delle API separa il ciclo di vita dell'applicazione da quello del DBMS e consente agli sviluppatori di apportare modifiche all'applicazione quando si presenta la necessità di sfruttare nuove funzionalità, piuttosto che quando si passa a una nuova versione del DBMS.
  • È stata aggiunta la supporto per la funzionalità Live Resharding, che consente di modificare al volo le chiavi utilizzate per la segmentazione (shard key) senza fermare il DBMS.
  • Sono state ampliate le funzionalità di crittografia dei campi lato client (Client-Side Field Level Encryption). È stata introdotta la possibilità di riconfigurare i filtri di audit e la rotazione dei certificati x509 senza interrompere l'attività del DBMS. È stata aggiunta la supporto per la configurazione del set di cifrature per TLS 1.3.
  • È stata introdotta una nuova interfaccia a riga di comando, il MongoDB Shell (mongosh), che si sviluppa come un progetto indipendente, scritto in JavaScript utilizzando la piattaforma Node.js e distribuito sotto la licenza Apache 2.0. Il MongoDB Shell consente di connettersi al database, modificare le impostazioni e inviare query. È supporto l'autocompletamento intelligente per metodi, comandi ed espressioni MQL, evidenziazione della sintassi, suggerimenti contestuali, analisi dei messaggi di errore e possibilità di estendere la funzionalità tramite plugin. La vecchia interfaccia CLI "mongo" è stata dichiarata obsoleta e verrà rimossa nelle prossime versioni.
    È disponibile il database orientato ai documenti MongoDB 5.0
  • Sono stati aggiunti nuovi operatori: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate e $rand.
  • È garantito l'uso degli indici con gli operatori $eq, $lt, $lte, $gt e $gte all'interno dell'espressione $expr.
  • Nei comandi aggregate, find, findAndModify, update, delete e nei metodi db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() e db.collection.remove() è stata implementata la supporto all'opzione "let" per definire un elenco di variabili, rendendo i comandi più leggibili separando le variabili dal testo della query.
  • Le operazioni find, count, distinct, aggregate, mapReduce, listCollections e listIndexes non vengono più bloccate se è in corso un'operazione che imposta un blocco esclusivo sulla collezione di documenti.
  • Nell'ambito dell'iniziativa per eliminare termini offensivi, il comando isMaster e il metodo db.isMaster() sono stati rinominati in hello e db.hello().
  • È stato modificato il modello di numerazione delle versioni e si è passati a un programma di rilascio prevedibile. Una volta all'anno sarà realizzato un rilascio significativo (5.0, 6.0, 7.0), ogni tre mesi ci saranno rilasci intermedi con nuove funzionalità (5.1, 5.2, 5.3) e, se necessario, aggiornamenti correttivi per risolvere errori e vulnerabilità (5.1.1, 5.1.2, 5.1.3). Nei rilasci intermedi saranno sviluppate funzionalità per il rilascio significativo successivo, ad esempio, in MongoDB 5.1, 5.2 e 5.3 saranno introdotte nuove funzionalità per il rilascio di MongoDB 6.0.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster