Na voljo je dokumentno usmerjen DBMS MongoDB 5.0

Predstavljena je izdaja dokumentno usmerjenega DBMS MongoDB 5.0, ki zavzema nišo med hitrimi in razširljivimi sistemi, ki upravljajo podatke v formatu ključ/vrednost, in relacijskimi DBMS, ki so funkcionalni in jih je enostavno oblikovati poizvedbe. Koda MongoDB je napisana v C++ in se distribuira pod licenco SSPL, ki temelji na licenci AGPLv3, vendar ni odprta, saj vsebuje diskriminatorno zahtevo po dostavi pod licenco SSPL ne le same kode aplikacije, ampak tudi izvorne koda vseh komponent, ki sodelujejo pri zagotavljanju storitve v oblaku.

MongoDB podpira shranjevanje dokumentov v formatu, podobnem JSON, ima dokaj prilagodljiv jezik za generiranje poizvedb, lahko ustvarja indekse za različne shranjene atribute, učinkovito zagotavlja shranjevanje velikih binarnih objektov, podpira beleženje operacij za spreminjanje in dodajanje podatkov v zbirko podatkov, lahko deluje v skladu s paradigmo Map/Reduce, podpira replikacijo in gradnjo konfiguracij, odpornih na napake.

MongoDB ima vgrajena orodja za zagotavljanje razdeljevanja (distribucija nabora podatkov po strežnikih na podlagi določenega ključa) v kombinaciji s podvajanjem, kar vam omogoča, da zgradite vodoravno razširljivo pomnilniško gručo, v kateri ni ene same točke napake (napaka katerega koli vozlišča ne vpliva na delovanje baze podatkov), samodejno okrevanje po okvari in prenos obremenitve iz okvarjenega vozlišča. Razširitev gruče ali pretvorba enega strežnika v gručo se izvede brez zaustavitve baze podatkov s preprostim dodajanjem novih strojev.

Lastnosti nove izdaje:

  • Dodane zbirke za podatke v obliki časovne serije (zbirke časovnih vrst), optimizirane za shranjevanje rezin vrednosti parametrov, zabeleženih v določenih intervalih (čas in niz vrednosti, ki ustrezajo temu času). Potreba po shranjevanju takšnih podatkov se pojavi v sistemih za spremljanje, finančnih platformah in sistemih za anketiranje stanj senzorjev. Delo s podatki časovnih vrst poteka kot pri običajnih zbirkah dokumentov, le da so indeksi in način shranjevanja zanje optimizirani glede na časovno referenco, kar lahko bistveno zmanjša porabo prostora na disku, zmanjša zamude pri izvajanju poizvedb in omogoči podatke v realnem času. analizo.

    MongoDB takšne zbirke obravnava kot zapisljive, nematerializirane poglede, zgrajene na notranjih zbirkah, ki ob vstavitvi samodejno združijo podatke časovnih vrst v optimizirano obliko shranjevanja. V tem primeru se vsak zapis, ki temelji na času, na zahtevo obravnava kot ločen dokument. Podatki so samodejno razvrščeni in indeksirani glede na čas (ni potrebe po izrecnem ustvarjanju časovnih indeksov).

  • Dodana podpora za okenske operaterje (analitične funkcije), ki vam omogočajo izvajanje dejanj z določenim nizom dokumentov v zbirki. V nasprotju z združevalnimi funkcijami okenske funkcije ne strnejo združenega nabora, temveč združijo na podlagi vsebine »okna«, ki vključuje enega ali več dokumentov iz nabora rezultatov. Za manipulacijo podmnožice dokumentov je predlagana nova stopnja $setWindowFields, s katero lahko na primer določite razlike med dvema dokumentoma v zbirki, izračunate prodajne uvrstitve in analizirate informacije v zapletenih časovnih serijah.
  • Dodana podpora za različico API-ja, ki vam omogoča, da aplikacijo povežete z določenim stanjem API-ja in odpravite tveganja, povezana z morebitno kršitvijo združljivosti za nazaj pri selitvi na nove izdaje DBMS. Različice API-ja ločijo življenjski cikel aplikacije od življenjskega cikla DBMS in razvijalcem omogočajo, da spremenijo aplikacijo, ko je treba uporabiti nove funkcije, in ne pri selitvi na novo različico DBMS.
  • Dodana podpora za mehanizem Live Resharding, ki vam omogoča, da sproti spreminjate ključe delčkov, ki se uporabljajo za segmentacijo, ne da bi ustavili DBMS.
  • Razširjene so možnosti šifriranja polj na strani odjemalca (Client-Side Field Level Encryption). Zdaj je mogoče znova konfigurirati revizijske filtre in rotirati potrdila x509 brez zaustavitve DBMS. Dodana podpora za konfiguriranje zbirke šifrirnih podatkov za TLS 1.3.
  • Predlagana je nova lupina ukazne vrstice, MongoDB Shell (mongosh), ki se razvija kot ločen projekt, napisan v JavaScriptu z uporabo platforme Node.js in distribuiran pod licenco Apache 2.0. MongoDB Shell omogoča povezovanje z DBMS, spreminjanje nastavitev in pošiljanje poizvedb. Podpira pametno samodejno dokončanje za vnos metod, ukazov in izrazov MQL, označevanje sintakse, kontekstualno pomoč, razčlenjevanje sporočil o napakah in možnost razširitve funkcionalnosti z dodatki. Stari "mongo" ovoj CLI je bil opuščen in bo odstranjen v prihodnji izdaji.
    Na voljo je dokumentno usmerjen DBMS MongoDB 5.0
  • Dodani so bili novi operatorji: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate in $rand.
  • Zagotavlja uporabo indeksov pri uporabi operatorjev $eq, $lt, $lte, $gt in $gte znotraj izraza $expr.
  • Ukazi aggregate, find, findAndModify, update, delete in metode db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() in db.collection.remove() zdaj podpirajo »let ” možnost za definiranje seznama spremenljivk, ki naredijo ukaze bolj berljive z ločevanjem spremenljivk od telesa zahteve.
  • Operacije Find, Count, distinct, aggregate, mapReduce, listCollections in listIndexes ne blokirajo več, če se vzporedno izvaja operacija, ki ima izključno zaklepanje zbirke dokumentov.
  • Kot del pobude za odstranitev politično nekorektnih izrazov sta bila ukaz isMaster in metoda db.isMaster() preimenovana v hello in db.hello().
  • Shema številčenja izdaj je bila spremenjena in narejen je bil prehod na predvidljiv razpored izdaj. Enkrat letno bo izdana pomembna izdaja (5.0, 6.0, 7.0), vsake tri mesece vmesne izdaje z novimi funkcijami (5.1, 5.2, 5.3) in po potrebi popravne posodobitve s popravki napak in ranljivosti (5.1.1, 5.1.2). .5.1.3 , 5.1). Vmesne izdaje bodo zgradile funkcionalnost za naslednjo večjo izdajo, tj. MongoDB 5.2, 5.3 in 6.0 bodo zagotovili nove funkcije za izdajo MongoDB XNUMX.

Vir: opennet.ru

Dodaj komentar