Dostupan DBMS MongoDB 5.0 orijentiran na dokumente

Predstavljeno je izdanje DBMS-a MongoDB 5.0 orijentiranog na dokumente, koji zauzima nišu između brzih i skalabilnih sustava koji rade s podacima u formatu ključ/vrijednost i relacijskih DBMS-ova koji su funkcionalni i jednostavni za oblikovanje upita. MongoDB kod je napisan u C++ i distribuiran pod SSPL licencom, koja se temelji na AGPLv3 licenci, ali nije otvorena, jer sadrži diskriminirajući zahtjev za isporuku pod SSPL licencom ne samo samog aplikacijskog koda, već i izvornog kod svih komponenti uključenih u pružanje usluge u oblaku.

MongoDB podržava pohranjivanje dokumenata u formatu sličnom JSON-u, ima prilično fleksibilan jezik za generiranje upita, može stvoriti indekse za razne pohranjene atribute, učinkovito omogućuje pohranjivanje velikih binarnih objekata, podržava bilježenje operacija za promjenu i dodavanje podataka u bazu podataka, može rad u skladu s paradigmom Map/Reduce, podržava replikaciju i izgradnju konfiguracija otpornih na greške.

MongoDB ima ugrađene alate za dijeljenje (distribuciju skupa podataka preko poslužitelja na temelju određenog ključa), u kombinaciji s replikacijom, što vam omogućuje da izgradite horizontalno skalabilni klaster za pohranu koji nema niti jednu točku kvara (kvar bilo kojeg čvora ne ne utječe na rad baze podataka), automatski failover i prijenos opterećenja s pokvarenog čvora. Proširenje klastera ili pretvaranje jednog poslužitelja u klaster vrši se bez zaustavljanja baze podataka jednostavnim dodavanjem novih strojeva.

Značajke novog izdanja:

  • Dodane zbirke za podatke u obliku vremenske serije (zbirke vremenskih serija), optimizirane za pohranu isječaka vrijednosti parametara snimljenih u određenim intervalima (vrijeme i skup vrijednosti koji odgovaraju ovom vremenu). Potreba za pohranjivanjem takvih podataka javlja se u sustavima za praćenje, financijskim platformama i sustavima za ispitivanje stanja senzora. Rad s podacima vremenske serije odvija se kao s običnim zbirkama dokumenata, ali su indeksi i način pohrane za njih optimizirani uzimajući u obzir vremensku referencu, što može značajno smanjiti potrošnju prostora na disku, smanjiti kašnjenja u izvršavanju upita i omogućiti podatke u stvarnom vremenu analiza.

    MongoDB takve zbirke tretira kao nematerijalizirane poglede koji se mogu pisati i koji su izgrađeni na internim zbirkama koje, kada se umetnu, automatski grupiraju podatke vremenske serije u optimizirani format pohrane. U ovom slučaju, svaki vremenski zapis se tretira kao zaseban dokument kada se to zatraži. Podaci se automatski poredaju i indeksiraju prema vremenu (nema potrebe za izričitim stvaranjem vremenskih indeksa).

  • Dodana podrška za operatore prozora (analitičke funkcije) koji vam omogućuju izvođenje radnji s određenim skupom dokumenata u zbirci. Za razliku od agregatnih funkcija, prozorske funkcije ne sažimaju grupirani skup, već agregiraju na temelju sadržaja "prozora" koji uključuje jedan ili više dokumenata iz skupa rezultata. Za manipuliranje podskupom dokumenata, predlaže se nova faza $setWindowFields, s kojom možete, na primjer, odrediti razlike između dva dokumenta u zbirci, izračunati rangiranje prodaje i analizirati informacije u složenim vremenskim serijama.
  • Dodana je podrška za izradu verzija API-ja, koja vam omogućuje da vežete aplikaciju za određeno stanje API-ja i eliminirate rizike povezane s mogućim kršenjem kompatibilnosti unatrag pri prelasku na nova izdanja DBMS-a. Verzija API-ja odvaja životni ciklus aplikacije od životnog ciklusa DBMS-a i omogućuje programerima da naprave promjene u aplikaciji kada postoji potreba za korištenjem novih značajki, a ne kada migriraju na novu verziju DBMS-a.
  • Dodana je podrška za mehanizam Live Resharding, koji vam omogućuje promjenu ključeva fragmenata koji se koriste za segmentaciju u hodu bez zaustavljanja DBMS-a.
  • Proširene su mogućnosti šifriranja polja na strani klijenta (Client-Side Field Level Encryption). Sada je moguće ponovno konfigurirati filtere revizije i rotirati x509 certifikate bez zaustavljanja DBMS-a. Dodana podrška za konfiguriranje skupa šifri za TLS 1.3.
  • Predlaže se nova ljuska naredbenog retka, MongoDB Shell (mongosh), koja se razvija kao zaseban projekt, napisana u JavaScriptu koristeći Node.js platformu i distribuirana pod licencom Apache 2.0. MongoDB Shell omogućuje povezivanje s DBMS-om, promjenu postavki i slanje upita. Podržava pametno automatsko dovršavanje za unos metoda, naredbi i MQL izraza, isticanje sintakse, kontekstualnu pomoć, parsiranje poruka o pogreškama i mogućnost proširenja funkcionalnosti putem dodataka. Stari "mongo" CLI omotač je zastario i bit će uklonjen u budućem izdanju.
    Dostupan DBMS MongoDB 5.0 orijentiran na dokumente
  • Dodani su novi operatori: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate i $rand.
  • Osigurava korištenje indeksa pri korištenju operatora $eq, $lt, $lte, $gt i $gte unutar izraza $expr.
  • Naredbe aggregate, find, findAndModify, update, delete i metode db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() i db.collection.remove() sada podržavaju "neka ” za definiranje popisa varijabli koje naredbe čine čitljivijima odvajanjem varijabli od tijela zahtjeva.
  • Operacije Find, Count, distinct, aggregate, mapReduce, listCollections i listIndexes više ne blokiraju ako se paralelno izvodi operacija koja uzima ekskluzivno zaključavanje zbirke dokumenata.
  • Kao dio inicijative za uklanjanje politički nekorektnih pojmova, naredba isMaster i metoda db.isMaster() preimenovane su u hello i db.hello().
  • Shema numeriranja izdanja je promijenjena i izvršen je prijelaz na predvidljiv raspored izdanja. Jednom godišnje bit će značajno izdanje (5.0, 6.0, 7.0), svaka tri mjeseca međuizdanja s novim značajkama (5.1, 5.2, 5.3) i, prema potrebi, ispravna ažuriranja s ispravcima grešaka i ranjivostima (5.1.1, 5.1.2 .5.1.3 , 5.1). Međuizdanja će izgraditi funkcionalnost za sljedeće veliko izdanje, tj. MongoDB 5.2, 5.3 i 6.0 pružit će nove značajke za izdanje MongoDB XNUMX.

Izvor: opennet.ru

Dodajte komentar