DBMS orientatu à documentu MongoDB 5.0 dispunibule

A liberazione di u documentu orientatu DBMS MongoDB 5.0 hè presentata, chì occupa un nichu trà i sistemi veloci è scalabili chì operanu dati in formatu chjave / valore, è DBMS relazionali chì sò funziunali è faciuli di furmà dumande. U codice MongoDB hè scrittu in C++ è distribuitu sottu a licenza SSPL, chì hè basatu annantu à a licenza AGPLv3, ma ùn hè micca aperta, postu chì cuntene un requisitu discriminatoriu per furnisce sottu a licenza SSPL micca solu u codice di l'applicazione stessu, ma ancu a fonte. codice di tutti i cumpunenti implicati in a prestazione di u serviziu di nuvola.

MongoDB supporta l'almacenamiento di documenti in un formatu JSON-like, hà una lingua abbastanza flessibile per generà dumande, pò creà indici per diversi attributi almacenati, furnisce in modu efficiente u almacenamentu di grandi oggetti binari, supporta u logu di operazioni per cambià è aghjunghje dati à a basa di dati, pò. travaglià in cunfurmità cù u paradigma Map / Reduce, sustene a replicazione è a custruzzione di cunfigurazioni toleranti à i difetti.

MongoDB hà strumenti integrati per furnisce sharding (distribuzione di un inseme di dati à traversu i servitori basati nantu à una chjave specifica), in cumminazione cù a replicazione, chì vi permettenu di custruisce un cluster di almacenamento scalabile in orizzontale in quale ùn ci hè micca un puntu unicu di fallimentu (u fallimentu). di ogni node ùn affetta micca u funziunamentu di a basa di dati), ricuperazione automatica dopu un fallimentu è u trasferimentu di carica da un node fallutu. L'espansione di un cluster o a cunversione di un servitore in un cluster hè fatta senza piantà a basa di dati solu aghjunghjendu novi macchine.

Caratteristiche di a nova versione:

  • Aghjunghjite cullizzioni per dati in forma di una serie temporale (collezioni di serie temporali), ottimizzati per almacenà fette di valori di parametri arregistrati à certi intervalli (tempu è un settore di valori currispundenti à questu tempu). A necessità di almacenà tali dati nasce in sistemi di monitoraghju, piattaforme finanziarie è sistemi per i stati di sensori di polling. U travagliu cù e dati di serie di u tempu hè realizatu cum'è cù e cullezzione di documenti ordinali, ma l'indici è u metudu di almacenamentu per elli sò ottimisati tenendu in contu u riferimentu di u tempu, chì pò riduce significativamente u cunsumu di spaziu di discu, riduce i ritardi in l'esecuzione di e dumande è permette dati in tempu reale. analisi.

    MongoDB tratta tali cullezzione cum'è viste scrivibili, micca materializzate custruite nantu à cullezzione interna chì, quandu inserite, raggruppanu automaticamente e dati di serie temporale in un formatu di almacenamentu ottimizatu. In questu casu, ogni registru basatu in u tempu hè trattatu cum'è un documentu separatu quandu hè dumandatu. I dati sò automaticamente urdinati è indiziati da u tempu (ùn hè bisognu di creà indici di u tempu esplicitamente).

  • Aghjunghje supportu per l'operatori di finestra (funzioni analitiche) chì permettenu di fà azzione cù un settore specificu di documenti in a cullizzioni. A cuntrariu di e funzioni aggregate, e funzioni di a finestra ùn colapsanu micca u gruppu raggruppatu, ma piuttostu aggregate basatu annantu à u cuntenutu di una "finestra" chì include unu o più documenti da u risultatu. Per manipulà un subset di documenti, una nova tappa $ setWindowFields hè pruposta, cù quale pudete, per esempiu, determinà e differenze trà dui documenti in una cullizzioni, calculà i rankings di vendita è analizà l'infurmazioni in serie di tempu cumplessu.
  • Aghjunghje un supportu per a versione di l'API, chì permette di ligà una applicazione à un statu API specificu è eliminà i risichi assuciati à una pussibule violazione di cumpatibilità retrocede quandu migrate à novi versioni DBMS. A versione API separa u ciculu di vita di l'applicazione da u ciculu di vita di u DBMS è permette à i sviluppatori di fà cambiamenti à l'applicazione quandu ci hè bisognu di utilizà novi funziunalità, è micca quandu migrate à una nova versione di u DBMS.
  • Aghjunghje supportu per u mecanismu Live Resharding, chì permette di cambià i chjavi di shard utilizati per a segmentazione nantu à a mosca senza piantà u DBMS.
  • E pussibulità di criptu di i campi da u latu di u cliente sò state allargate (Criptazione di Livellu di Campu di Cliente). Avà hè pussibule cunfigurà i filtri di auditu è ​​rotà i certificati x509 senza piantà u DBMS. Supportu aghjuntu per a cunfigurazione di a suite di criptu per TLS 1.3.
  • Un novu shell di linea di cumanda, MongoDB Shell (mongosh), hè prupostu, chì hè sviluppatu cum'è un prughjettu separatu, scrittu in JavaScript utilizendu a piattaforma Node.js è distribuitu sottu a licenza Apache 2.0. MongoDB Shell permette di cunnette à u DBMS, cambià i paràmetri è mandà dumande. Supporta l'autocompletion intelligente per inserisce metudi, cumandamenti è espressioni MQL, evidenziazione di sintassi, aiutu contextuale, analisi di messagi d'errore è a capacità di espansione a funziunalità attraversu add-ons. L'antica wrapper CLI "mongo" hè stata obsoleta è serà eliminata in una futura versione.
    DBMS orientatu à documentu MongoDB 5.0 dispunibule
  • I novi operatori sò stati aghjuntu: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate è $rand.
  • Assicura chì l'indici sò usati quandu si usa l'operatori $eq, $lt, $lte, $gt è $gte in l'espressione $expr.
  • L'aggregate, find, findAndModify, update, delete commands è i metudi db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() è db.collection.remove() supportanu avà u "let ” opzione per definisce una lista di variàbili chì facenu i cumandamenti più leghjite sepandu variàbili da u corpu di dumanda.
  • Truvà, cuntà, distintu, aggregate, mapReduce, listCollections è listIndexes l'operazioni ùn anu più bluccatu se una operazione chì piglia un bloccu exclusivu nantu à una cullizzioni di documenti hè in esecuzione in parallelu.
  • Comu parte di una iniziativa per sguassà i termini puliticamenti sbagliati, u cumandamentu isMaster è u metudu db.isMaster () sò stati rinominati hello è db.hello ().
  • U schema di numerazione di liberazione hè statu cambiatu è hè stata fatta una transizione à un calendariu di liberazione prevedibile. Una volta à l'annu, ci sarà una liberazione significativa (5.0, 6.0, 7.0), ogni trè mesi versioni intermedie cù funzioni novi (5.1, 5.2, 5.3) è, se necessariu, aghjurnamenti currettivi cù correzioni di bug è vulnerabili (5.1.1, 5.1.2). .5.1.3, 5.1). E versioni interim custruiranu funziunalità per a prossima versione maiò, i.e. MongoDB 5.2, 5.3, è 6.0 furnisceranu funzioni novi per a liberazione di MongoDB XNUMX.

Source: opennet.ru

Add a comment