DBMS orientat spre documente MongoDB 5.0 disponibil

Este prezentată lansarea SGBD-ului MongoDB 5.0 orientat pe documente, care ocupă o nișă între sisteme rapide și scalabile care operează date în format cheie/valoare și SGBD-uri relaționale care sunt funcționale și ușor de format interogări. Codul MongoDB este scris în C++ și distribuit sub licența SSPL, care se bazează pe licența AGPLv3, dar nu este deschisă, deoarece conține o cerință discriminatorie de a livra sub licența SSPL nu numai codul aplicației în sine, ci și sursa. codul tuturor componentelor implicate în furnizarea serviciului cloud .

MongoDB acceptă stocarea documentelor într-un format asemănător JSON, are un limbaj destul de flexibil pentru generarea de interogări, poate crea indecși pentru diverse atribute stocate, oferă în mod eficient stocarea de obiecte binare mari, acceptă înregistrarea operațiunilor pentru modificarea și adăugarea datelor în baza de date, poate lucrează în conformitate cu paradigma Map/Reduce, acceptă replicarea și construirea de configurații tolerante la erori.

MongoDB are instrumente încorporate pentru furnizarea de sharding (distribuirea unui set de date pe servere pe baza unei chei specifice), în combinație cu replicarea, permițându-vă să construiți un cluster de stocare scalabil orizontal în care nu există un singur punct de eșec (eșecul a oricărui nod nu afectează funcționarea bazei de date), recuperarea automată după o defecțiune și transferul de încărcare de la un nod eșuat. Extinderea unui cluster sau conversia unui server într-un cluster se face fără a opri baza de date prin simpla adăugare de noi mașini.

Caracteristici ale noii versiuni:

  • S-au adăugat colecții de date sub forma unei serii de timp (colecții de serii de timp), optimizate pentru stocarea segmentelor de valori ale parametrilor înregistrate la anumite intervale (timp și un set de valori corespunzător acestui timp). Necesitatea stocării unor astfel de date apare în sistemele de monitorizare, platformele financiare și sistemele de sondare a stărilor senzorilor. Lucrul cu datele serii cronologice se desfășoară ca și în cazul colecțiilor obișnuite de documente, dar indexurile și metoda de stocare a acestora sunt optimizate ținând cont de referința temporală, ceea ce poate reduce semnificativ consumul de spațiu pe disc, reduce întârzierile în executarea interogărilor și permite date în timp real. analiză.

    MongoDB tratează astfel de colecții ca vizualizări inscriptibile, nematerializate, construite pe colecții interne care, atunci când sunt inserate, grupează automat datele din seria temporală într-un format de stocare optimizat. În acest caz, fiecare înregistrare bazată pe timp este tratată ca un document separat atunci când este solicitată. Datele sunt ordonate și indexate automat în funcție de timp (nu este nevoie să creați în mod explicit indici de timp).

  • S-a adăugat suport pentru operatorii de ferestre (funcții analitice) care vă permit să efectuați acțiuni cu un set specific de documente din colecție. Spre deosebire de funcțiile de agregare, funcțiile de fereastră nu restrâng setul grupat, ci mai degrabă agregează pe baza conținutului unei „ferestre” care include unul sau mai multe documente din setul de rezultate. Pentru a manipula un subset de documente, este propusă o nouă etapă $setWindowFields, cu care puteți, de exemplu, să determinați diferențele dintre două documente dintr-o colecție, să calculați clasamentele vânzărilor și să analizați informațiile în serii cronologice complexe.
  • S-a adăugat suport pentru versiunea API, care vă permite să legați o aplicație la o anumită stare API și să eliminați riscurile asociate cu o posibilă încălcare a compatibilității cu versiunea inversă atunci când migrați la versiuni noi DBMS. Versiunile API separă ciclul de viață al aplicației de ciclul de viață al SGBD și permite dezvoltatorilor să facă modificări în aplicație atunci când este nevoie să utilizeze funcții noi, mai degrabă decât atunci când migrează la o versiune nouă a SGBD.
  • S-a adăugat suport pentru mecanismul Live Resharding, care vă permite să schimbați din mers cheile fragmentelor utilizate pentru segmentare, fără a opri DBMS.
  • Posibilitățile de criptare a câmpurilor din partea clientului au fost extinse (Criptare la nivel de câmp pe partea clientului). Acum este posibil să reconfigurați filtrele de audit și să rotiți certificatele x509 fără a opri SGBD. S-a adăugat suport pentru configurarea suitei de criptare pentru TLS 1.3.
  • Este propus un nou shell de linie de comandă, MongoDB Shell (mongosh), care este dezvoltat ca proiect separat, scris în JavaScript folosind platforma Node.js și distribuit sub licența Apache 2.0. MongoDB Shell face posibilă conectarea la DBMS, modificarea setărilor și trimiterea de interogări. Acceptă completarea automată inteligentă pentru introducerea de metode, comenzi și expresii MQL, evidențierea sintaxei, ajutor contextual, analizarea mesajelor de eroare și capacitatea de a extinde funcționalitatea prin suplimente. Vechiul wrapper CLI „mongo” a fost depreciat și va fi eliminat într-o versiune viitoare.
    DBMS orientat spre documente MongoDB 5.0 disponibil
  • Au fost adăugați operatori noi: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate și $rand.
  • Se asigură că sunt folosiți indici atunci când se utilizează operatorii $eq, $lt, $lte, $gt și $gte în expresia $expr.
  • Comenzile agregate, find, findAndModify, update, delete și db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() și db.collection.remove() acceptă acum metodele „let ” opțiune pentru a defini o listă de variabile care fac comenzile mai lizibile prin separarea variabilelor de corpul cererii.
  • Operațiunile Find, count, distinct, aggregate, mapReduce, listCollections și listIndexes nu se mai blochează dacă o operație care are o blocare exclusivă a unei colecții de documente rulează în paralel.
  • Ca parte a unei inițiative de eliminare a termenilor incorecți din punct de vedere politic, comanda isMaster și metoda db.isMaster() au fost redenumite hello și db.hello().
  • Schema de numerotare a lansărilor a fost schimbată și s-a făcut o tranziție la un program de lansare previzibil. O dată pe an va exista o lansare semnificativă (5.0, 6.0, 7.0), la fiecare trei luni lansări intermediare cu funcții noi (5.1, 5.2, 5.3) și, după caz, actualizări corective cu remedieri de erori și vulnerabilități (5.1.1, 5.1.2). .5.1.3, 5.1). Versiunile intermediare vor construi funcționalități pentru următoarea versiune majoră, de ex. MongoDB 5.2, 5.3 și 6.0 vor oferi noi caracteristici pentru lansarea MongoDB XNUMX.

Sursa: opennet.ru

Adauga un comentariu