Dostupan DBMS MongoDB 6.0 orijentiran na dokumente

Nakon godinu dana razvoja, objavljen je MongoDB 6.0, dokumentno orijentirani DBMS. Zauzima nišu između brzih i skalabilnih sustava koji obrađuju podatke ključ/vrijednost i relacijskih DBMS-ova koji su funkcionalni i jednostavni za upite. MongoDB-ov kod napisan je u C++ i distribuira se pod SSPL licencom, koja se temelji na AGPLv3 licenci, ali nije otvorenog koda, jer diskriminira zahtjev da se ne samo sam kod aplikacije već i izvorni kod za sve komponente uključene u pružanje usluge u oblaku licencira pod SSPL-om.

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đeno sharding (distribucija skupa podataka po poslužiteljima na temelju određenog ključa), koji, u kombinaciji s replikacijom, omogućuje izgradnju horizontalno skalabilnog klastera za pohranu koji nema jedinstvenu točku kvara (kvar bilo kojeg čvora ne utječe na rad baze podataka), podržava automatski oporavak od kvara i prenosi opterećenje s kvarnog čvora. Proširenje klastera ili pretvaranje jednog poslužitelja Klaster se stvara bez zaustavljanja baze podataka jednostavnim dodavanjem novih računala.

Ključne značajke novog izdanja:

  • Implementirana je mogućnost izvršavanja upita nad šifriranim podacima (Queryable Encryption). Podaci se dešifriraju na strani korisnika i ostaju šifrirani tijekom obrade upita (upit se izvršava nad šifriranim podacima, bez prethodnog dešifriranja). Trenutno su u upitima dopušteni samo izrazi za usporedbu, ali podrška za provjeru raspona, prefikse, sufikse, podnizove i druge operacije planirana je za budućnost.
  • Mogućnosti vezane uz pohranjivanje podataka vremenskih serija (zbirke vremenskih serija) su proširene. Ove su mogućnosti optimizirane za pohranjivanje dijelova vrijednosti parametara snimljenih u određenim vremenskim intervalima (vrijeme i skup vrijednosti koje odgovaraju tom vremenu). Ova vrsta podataka potrebna je, na primjer, u sustavima za praćenje, financijskim platformama i sustavima za ispitivanje statusa senzora. Novo izdanje uvodi mogućnost korištenja sekundarnih i kompozitnih indeksa s kolekcijama podataka vremenskih serija. Dodana je podrška za dodavanje dodatnih podataka, kao što su geografske informacije, kako bi se uzela u obzir udaljenost i lokacija. Poboljšane su performanse čitanja, upita i sortiranja.
  • Dodani su novi alati za praćenje promjena (Change Streams API) koji vam omogućuju slanje obavijesti aplikacijama o promjenama u bazi podataka. Informacije o promjenama stižu u stvarnom vremenu, što omogućuje razvoj aplikacija korištenjem reaktivnih i događajima vođenih tehnika programiranja. Događaji se obrađuju pomoću metode watch, a događaji se mogu filtrirati i agregirati pomoću operatora $match, $project i $redact. Nova verzija pruža mogućnost dohvaćanja prethodnog i sljedećeg stanja dokumenta (na primjer, kada je dokument izbrisan ili izmijenjen). Osim operacija koje koriste DML (jezik za manipulaciju podacima), sada je pružena podrška za DDL (jezik za definiciju podataka) operacije, kao što su stvaranje i brisanje indeksa i kolekcija. Dodani su alati za filtriranje povezanih obavijesti.
  • Operatori $lookup i $graphlookup sada u potpunosti podržavaju segmentiranu pohranu. Performanse operacije $lookup su optimizirane. Na primjer, s indeksom stranog ključa, usklađivanje malog broja dokumenata sada je 5-10 puta brže, a dvostruko brže za veliki broj. Za usporedbe bez indeksa, poboljšanje performansi može doseći 100x.
  • Sada je dostupna mogućnost pokretanja složenih analitičkih upita na konzistentnim snimkama operativnih podataka. Takvi analitički upiti mogu obuhvaćati više fragmenta u velikim, distribuiranim MongoDB konfiguracijama.
  • Dodani su novi operatori $maxN, $minN i $lastN za određivanje vrijednosti u skupu podataka te operator $sortArray za sortiranje elemenata polja.
  • Performanse dijeljenja su značajno poboljšane. Zadana veličina bloka za dijeljenu kolekciju povećana je na 128 MB. Dodana je naredba configureCollectionBalancing za defragmentiranje dijeljene kolekcije.
  • Podrška za KMIP-kompatibilne pružatelje ključeva dodana je u šifriranje na razini polja na strani klijenta (CSFLE).
  • Dodana je mogućnost kompresije i šifriranja zapisnika revizije, koji odražava aktivnost korisnika DBMS-a.
  • Implementiran je eksperimentalni način sinkronizacije podataka između MongoDB klastera (Cluster-to-Cluster Sync).

Izvor: opennet.ru

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