Sistemul de gestiune a bazei de date orientat pe documente MongoDB 5.0 este disponibil

A fost lansată versiunea sistemului de gestiune a bazei de date orientat pe documente MongoDB 5.0, care ocupă o nișă între sistemele rapide și scalabile care operează cu date în format cheie/valoare și sistemele de baze de date relaționale, funcționale și convenabile pentru formarea interogărilor. Codul MongoDB este scris în limbajul C++ și este distribuit sub licența SSPL, care se bazează pe licența AGPLv3, dar nu este open source, deoarece conține cerințe discriminatorii de livrare sub licența SSPL nu doar a codului aplicației, ci și a codurilor sursă ale tuturor componentelor implicate în furnizarea serviciului cloud.

MongoDB suportă stocarea documentelor în format similar JSON, dispune de un limbaj de interogare suficient de flexibil, poate crea indecși pentru diferitele atribute stocate, asigură eficient stocarea obiectelor binare mari, suportă jurnalizarea operațiunilor de modificare și adăugare a datelor în baza de date, poate funcționa conform paradigmei Map/Reduce, susține replicarea și construirea configurațiilor rezistente la defecțiuni.

MongoDB are instrumente integrate pentru asigurarea segmentării (distribuirea setului de date pe servere pe baza unei chei specifice), care, împreună cu replicarea, permit construirea unui cluster de stocare scalabil pe orizontală, în care nu există niciun punct unic de eșec (defecțiunea oricărui nod nu afectează funcționarea bazei de date), se suportă recuperarea automată după eșec și transferul sarcinii de la nodul defect. Extinderea clusterului sau conversia uneia server în cluster se realizează fără oprirea funcționării bazei de date prin simpla adăugare de noi mașini.

Caracteristicile noului release:

  • Au fost adăugate colecții pentru date sub formă de serii temporale (time series collections), optimizate pentru stocarea instantaneelor valorilor parametrilor, înregistrate la anumite intervale de timp (timpul și setul de valori corespunzătoare acestui timp). Necesitatea stocării unor astfel de date apare în sistemele de monitorizare, platformele financiare, sistemele de sondare a stării senzorilor. Lucrul cu datele de tip serii temporale se face ca și cu colecțiile obișnuite de documente, dar indecșii și metoda de stocare pentru acestea sunt optimizate având în vedere legătura cu timpul, ceea ce permite reducerea semnificativă a consumului de spațiu pe disc, micșorarea întârzierilor la executarea interogărilor și realizarea analizei datelor în timp real.

    MongoDB consideră astfel de colecții ca fiind vizualizări nematerializate disponibile pentru scriere, create pe baza colecțiilor interne și care, la inserare, grupează automat datele seriei temporale într-un format optimizat de stocare. În acest context, fiecare înregistrare legată de timp este tratată la interogare ca un document separat. Datele sunt ordine automat și indexate în funcție de timp (nu este necesară crearea explicită a indecșilor de timp).

  • A fost adăugat suport pentru operatori fereastră (funcții analitice), permițând executarea de acțiuni asupra unui set specific de documente din colecție. Spre deosebire de funcțiile de agregare, funcțiile fereastră nu comprimă setul grupat, ci realizează agregarea pe baza conținutului „feronței”, care include unul sau mai multe documente din setul rezultat. Pentru manipularea unui subset de documente, a fost propusă o nouă etapă $setWindowFields, cu ajutorul căreia se pot, de exemplu, determina diferențele între două documente din colecție, calcula ratingul vânzărilor și analiza informațiile din serii temporale complexe.
  • A fost adăugat suport pentru versiunea API, care permite asocierea aplicației cu o anumită stare a API-ului și eliminarea riscurilor asociate posibilelor încălcări ale compatibilității inverse la trecerea la noi versiuni ale SGBD-ului. Versiunea API separă ciclul de viață al aplicației de ciclul de viață al SGBD-ului și permite dezvoltatorilor să facă modificări în aplicație atunci când există nevoia de a valorifica noi funcționalități, nu atunci când se face tranziția la o nouă versiune a SGBD-ului.
  • A fost adăugat suport pentru mecanismul Live Resharding, care permite schimbarea în timp real a cheilor utilizate pentru segmentare (shard key) fără a opri SGBD-ul.
  • Funcționalitățile de criptare a câmpurilor pe partea clientului (Client-Side Field Level Encryption) au fost extinse. A apărut posibilitatea de a reconfigura filtrele de audit și de a roti certificatele x509 fără a opri funcționarea SGBD-ului. A fost adăugat suport pentru configurarea setului de criptare pentru TLS 1.3.
  • A fost propus un nou shell de linie de comandă MongoDB Shell (mongosh), care se dezvoltă ca un proiect separat, scris în JavaScript folosind platforma Node.js și este distribuit sub licența Apache 2.0. MongoDB Shell oferă posibilitatea de a se conecta la SGBD, de a schimba setările și de a trimite cereri. Se sprijină completarea inteligentă a metodelor, comenzilor și expresiilor MQL, evidențierea sintaxei, sugestiile contextuale, analiza mesajelor de eroare și posibilitatea de extindere a funcționalității prin module. Vechea interfață CLI „mongo” a fost declarată deprecated și va fi eliminată în viitoarea versiune.
    Sistemul de gestiune a bazei de date orientat pe documente MongoDB 5.0 este disponibil
  • Au fost adăugate noi operatori: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate și $rand.
  • S-a asigurat utilizarea indiciilor atunci când se folosesc operatorii $eq, $lt, $lte, $gt și $gte în cadrul expresiei $expr.
  • În comenzile aggregate, find, findAndModify, update, delete și metodele db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() și db.collection.remove() a fost implementat suportul pentru opțiunea „let” pentru a defini lista variabilelor, făcând comenzile mai ușor de citit prin separarea variabilelor de textul cererii.
  • Operațiile find, count, distinct, aggregate, mapReduce, listCollections și listIndexes nu mai sunt blocate, dacă în paralel se execută o operație care impune o blocare exclusivă pe colecția de documente.
  • În cadrul inițiativei de eliminare a termenilor nepotriviți, comanda isMaster și metoda db.isMaster() au fost redenumite în hello și db.hello().
  • Schema de numerotare a versiunilor a fost modificată, și s-a trecut la un program previzibil de lansare. O dată pe an va fi realizată o lansare semnificativă (5.0, 6.0, 7.0), iar la fiecare trei luni vor apărea versiuni intermediare cu noi funcționalități (5.1, 5.2, 5.3) și, după cum este necesar, actualizări corective pentru remedieri de erori și vulnerabilități (5.1.1, 5.1.2, 5.1.3). În versiunile intermediare se va dezvolta funcționalitatea pentru următoarea lansare semnificativă, adică în MongoDB 5.1, 5.2 și 5.3 vor fi creeate noi funcționalități pentru versiunea MongoDB 6.0.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster