Dostupna dokumentno-orijentirana SGBD MongoDB 5.0

Predstavljen je izdanak dokumentno-orijentirane SGBD MongoDB 5.0, koja zauzima nišu između brzih i skalabilnih sustava koji obrađuju podatke u formatu ključ/vrijednost i relacijskih SGBD, funkcionalnih i jednostavnih za oblikovanje upita. Kod MongoDB napisan je na jeziku C++ i distribuira se pod licencom SSPL, koja se temelji na licenci AGPLv3, ali nije otvorena, budući da sadrži diskriminatorni zahtjev za isporukom pod licencom SSPL ne samo koda same aplikacije, već i izvornog koda svih komponenata uključenih u pružanje oblaku usluga.

MongoDB podržava pohranu dokumenata u JSON-sličnom formatu, ima dovoljno fleksibilan jezik za oblikovanje upita, može stvarati indekse za razne pohranjene atribute, učinkovito osigurava pohranu velikih binarnih objekata, podržava bilježenje operacija promjene i dodavanja podataka u Bazu podataka, može raditi u skladu s paradigmom Map/Reduce, podržava replikaciju i izgradnju konfiguracija otpornim na kvarove.

U MongoDB postoje ugrađena sredstva za osiguranje segmentacije (distribucija skupa podataka po serverima na temelju određenog ključa), u kombinaciji s replikacijom koja omogućuje izgradnju horizontalno skalabilnog skladišnog klastera, u kojem nema jedne točke kvara (neuspjeh bilo kojeg čvora ne utječe na rad Baze podataka), podržava automatsko oporavak nakon kvara i premještanje opterećenja s neispravnog čvora. Proširenje klastera ili transformacija jednog poslužitelja u klaster može se izvršiti bez zaustavljanja rada Baze podataka jednostavnim dodavanjem novih strojeva.

Značajke novog izdanja:

  • Dodane su kolekcije podataka u obliku vremenskih serija (time series collections), optimizirane za pohranu isječaka međuvremenskih vrijednosti parametara koji se bilježe u određenim intervalima (vrijeme i skup pripadajućih vrijednosti). Potreba za pohranom takvih podataka javlja se u sustavima monitoringa, financijskim platformama i sustavima za anketiranje stanja senzora. Rukovanje podacima vremenskih serija obavlja se kao s običnim kolekcijama dokumenata, no indeksi i metoda pohrane za njih su optimizirani s obzirom na vremensku povezanost, što omogućuje značajno smanjenje potrošnje prostora na disku, smanjenje kašnjenja prilikom izvršavanja upita i omogućuje analizu podataka u stvarnom vremenu.

    MongoDB smatra takve kolekcije dostupnima za pisanje nematerijaliziranim prikazima, stvorenim na temelju internih kolekcija, koji automatski grupiraju podatke vremenskih serija u optimiziranom formatu pohrane prilikom umetanja. Pri tome se svaki zapis vezan uz vrijeme prilikom upita smatra zasebnim dokumentom. Podaci se automatski organiziraju i indeksiraju prema vremenu (nema potrebe za ručnim stvaranjem indeksa prema vremenu).

  • Dodana je podrška za prozorske operatore (analitičke funkcije), koji omogućuju izvođenje radnji na određenom skupu dokumenata u kolekciji. Za razliku od funkcija agregacije, prozorske funkcije ne sažimaju grupirani skup, već agregiraju na temelju sadržaja "prozora" koji uključuje jedan ili više dokumenata iz rezultantnog skupa. Za manipulaciju podskupom dokumenata predložena je nova faza $setWindowFields, pomoću koje se može, na primjer, utvrditi razlika između dva dokumenta u kolekciji, izračunati prodajni rejting i analizirati informacije u složenim vremenskim serijama.
  • Dodana je podrška za verzioniranje API-ija, što omogućuje vezivanje aplikacije za određeno stanje API-ija i isključuje rizike povezane s mogućim kršenjem unazadne kompatibilnosti prilikom prelaska na nove verzije sustava za upravljanje bazama podataka. Verzija API-a odvaja životni ciklus aplikacije od životnog ciklusa sustava za upravljanje bazama podataka i omogućuje programerima da внесу izmjene u aplikaciju kada se pojavi potreba za korištenjem novih mogućnosti, a ne kada se vrši prijelaz na novu verziju sustava za upravljanje bazama podataka.
  • Dodana je podrška za mehanizam Live Resharding, koji omogućuje promjenu korištenih ključeva za segmentiranje (shard key) u hodu bez zaustavljanja sustava za upravljanje bazama podataka.
  • Proširene su mogućnosti šifriranja polja na strani klijenta (Client-Side Field Level Encryption). Pojavila se mogućnost ponovne postavke filtara za reviziju i rotacije x509 certifikata bez zaustavljanja rada sustava za upravljanje bazama podataka. Dodana je podrška za konfiguraciju skupa šifara za TLS 1.3.
  • Predložena je nova naredbena linija MongoDB Shell (mongosh), koja se razvija kao posebni projekt, napisana je na JavaScript-u koristeći Node.js platformu i distribuira se pod Apache 2.0 licencom. MongoDB Shell omogućuje povezivanje sa sustavom za upravljanje bazama podataka, promjenu postavki i slanje upita. Podržava pametno automatsko dovršavanje unosa metoda, naredbi i izraza MQL, označavanje sintakse, kontekstualne savjete, analiziranje poruka o greškama i mogućnost proširenja funkcionalnosti putem dodataka. Stara CLI ljuska „mongo“ proglašena je zastarjelom i bit će uklonjena u budućem izdanju.
    Dostupna dokumentno-orijentirana SGBD MongoDB 5.0
  • Dodani su novi operatori: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate i $rand.
  • Osigurano je korištenje indeksa prilikom korištenja operatora $eq, $lt, $lte, $gt i $gte unutar izraza $expr.
  • U naredbama aggregate, find, findAndModify, update, delete i metodama db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() i db.collection.remove() implementirana je podrška za opciju „let“ za definiranje popisa varijabli, što čini naredbe čitljivijima zahvaljujući odvojenosti varijabli od teksta upita.
  • Operacije find, count, distinct, aggregate, mapReduce, listCollections i listIndexes više nisu blokirani kada se paralelno izvršava operacija koja postavlja ekskluzivnu blokadu na kolekciji dokumenata.
  • U okviru inicijative za uklanjanje politički nekorektnih termina tim isMaster i metoda db.isMaster() preimenovani su u hello i db.hello().
  • Promijenjen je sustav numeriranja izdanja i prešao se na predvidljiv raspored objavljivanja. Jednom godišnje će se formirati značajno izdanja (5.0, 6.0, 7.0), svaka tri mjeseca međuzapisi s novim mogućnostima (5.1, 5.2, 5.3) i po potrebi ispravci s ispravcima grešaka i ranjivosti (5.1.1, 5.1.2, 5.1.3). U međuzapisima će se razvijati funkcionalnosti za sljedeće značajno izdanje, tj. u MongoDB 5.1, 5.2 i 5.3 bit će razvijene nove mogućnosti za izdanje MongoDB 6.0.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster