Saadaval on dokumendile orienteeritud DBMS MongoDB 5.0

Esitatakse dokumendile orienteeritud DBMS-i MongoDB 5.0 väljalase, mis hõivab niši kiirete ja skaleeritavate süsteemide vahel, mis käitavad andmeid võtme/väärtuse vormingus, ning relatsiooniliste DBMS-ide vahel, mis on funktsionaalsed ja kergesti moodustatavad päringuid. MongoDB kood on kirjutatud C++ keeles ja levitatakse SSPL litsentsi all, mis põhineb AGPLv3 litsentsil, kuid ei ole avatud, kuna sisaldab diskrimineerivat nõuet tarnida SSPL litsentsi alusel mitte ainult rakenduse koodi ennast, vaid ka lähtekoodi kõigi pilveteenuse osutamisega seotud komponentide kood .

MongoDB toetab dokumentide salvestamist JSON-laadses vormingus, päringute genereerimiseks on üsna paindlik keel, suudab luua indekseid erinevatele salvestatud atribuutidele, võimaldab tõhusalt salvestada suuri binaarobjekte, toetab toimingute logimist andmete muutmiseks ja andmebaasi lisamiseks, saab töötab vastavalt paradigmale Map/Reduce, toetab tõrketaluvusega konfiguratsioonide replikatsiooni ja ehitamist.

MongoDB-l on sisseehitatud tööriistad jagamiseks (andmete kogumi jaotamine serverite vahel konkreetse võtme alusel) koos replikatsiooniga, mis võimaldab teil luua horisontaalselt skaleeritava salvestusklastri, milles pole ühtegi tõrkepunkti (tõrge mis tahes sõlme ei mõjuta andmebaasi tööd), automaatne taastamine pärast riket ja koormuse ülekandmine ebaõnnestunud sõlmelt. Klastri laiendamine või ühe serveri klastriks teisendamine toimub ilma andmebaasi peatamata, lihtsalt lisades uusi masinaid.

Uue versiooni omadused:

  • Lisatud andmete kogud aegridade kujul (aegridade kogud), mis on optimeeritud teatud ajavahemike järel salvestatud parameetriväärtuste lõikude salvestamiseks (aeg ja sellele ajale vastav väärtuste komplekt). Vajadus selliseid andmeid salvestada tekib seiresüsteemides, finantsplatvormides ja andurite olekute küsitlemise süsteemides. Töö aegridade andmetega toimub nagu tavaliste dokumendikogude puhul, kuid nende indeksid ja salvestusmeetod on optimeeritud ajaviitet arvesse võttes, mis võib oluliselt vähendada kettaruumi tarbimist, vähendada päringute täitmise viivitusi ja võimaldada reaalajas andmeid analüüs.

    MongoDB käsitleb selliseid kogusid kirjutatavate, mittematerialiseeritud vaadetena, mis on üles ehitatud sisemistele kogudele, mis sisestamisel rühmitavad aegridade andmed automaatselt optimeeritud salvestusvormingusse. Sel juhul käsitletakse iga ajapõhist kirjet nõudmisel eraldi dokumendina. Andmed järjestatakse ja indekseeritakse automaatselt aja järgi (ei ole vaja selgesõnaliselt ajaindekseid luua).

  • Lisatud tugi aknaoperaatoritele (analüütilised funktsioonid), mis võimaldavad teha toiminguid konkreetse kogus olevate dokumentide komplektiga. Erinevalt koondfunktsioonidest ei ahenda aknafunktsioonid rühmitatud komplekti, vaid pigem koondavad need „akna” sisu põhjal, mis sisaldab ühte või mitut tulemuskomplekti dokumenti. Dokumentide alamhulgaga manipuleerimiseks pakutakse välja uus $setWindowFields etapp, mille abil saate näiteks määrata kogumiku kahe dokumendi erinevusi, arvutada müügijärjestusi ja analüüsida teavet keerulistes aegridades.
  • Lisatud API versioonide tugi, mis võimaldab siduda rakenduse konkreetse API olekuga ja kõrvaldada riskid, mis on seotud võimaliku tagasiühilduvuse rikkumisega uutele DBMS-i väljaannetele üleminekul. API versioonide loomine eraldab rakenduse elutsükli DBMS-i elutsüklist ja võimaldab arendajatel teha rakenduses muudatusi siis, kui on vaja uusi funktsioone kasutada, mitte DBMS-i uuele versioonile üleminekul.
  • Lisatud on Live Resharding mehhanismi tugi, mis võimaldab muuta segmenteerimiseks kasutatavaid shard võtmeid käigu pealt ilma DBMS-i peatamata.
  • Laiendatud on võimalusi väljade krüpteerimiseks kliendi poolel (Client-Side Field Level Encryption). Nüüd on võimalik auditifiltreid ümber konfigureerida ja x509 sertifikaate pöörata ilma DBMS-i peatamata. Lisatud tugi šifrikomplekti konfigureerimiseks TLS 1.3 jaoks.
  • Pakutakse välja uus käsurea kest MongoDB Shell (mongosh), mida arendatakse eraldi projektina, mis on kirjutatud JavaScriptis Node.js platvormi abil ja mida levitatakse Apache 2.0 litsentsi all. MongoDB Shell võimaldab luua ühenduse DBMS-iga, muuta sätteid ja saata päringuid. Toetab nutikat automaatset lõpetamist meetodite, käskude ja MQL-avaldiste sisestamiseks, süntaksi esiletõstmist, kontekstipõhist abi, veateadete sõelumist ja võimalust laiendada funktsioone lisandmoodulite kaudu. Vana "mongo" CLI-mähis on aegunud ja eemaldatakse tulevases versioonis.
    Saadaval on dokumendile orienteeritud DBMS MongoDB 5.0
  • Lisatud on uued operaatorid: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ja $rand.
  • Tagab, et avaldises $expr operaatoreid $eq, $lt, $lte, $gt ja $gte kasutatakse indekseid kasutades.
  • Käsud aggregate, find, findAndModify, update, delete ning meetodid db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ja db.collection.remove() toetavad nüüd „let” ” suvand, et määratleda muutujate loend, mis muudavad käsud loetavamaks, eraldades muutujad päringu kehast.
  • Operatsioonid Otsimine, loendamine, eristamine, koondamine, mapReduce, listCollections ja listIndexes ei blokeeri enam, kui paralleelselt töötab toiming, mis lukustab dokumendikogu eksklusiivselt.
  • Osana poliitiliselt ebakorrektsete terminite eemaldamise algatusest on käsk isMaster ja meetod db.isMaster() ümber nimetatud hello ja db.hello().
  • Väljaannete nummerdamisskeemi on muudetud ja üle on viidud prognoositavale väljalaskegraafikule. Kord aastas ilmub märkimisväärne väljalase (5.0, 6.0, 7.0), iga kolme kuu tagant vaheväljalasked uute funktsioonidega (5.1, 5.2, 5.3) ja vajadusel parandavad värskendused koos veaparanduste ja haavatavustega (5.1.1, 5.1.2). .5.1.3 , 5.1). Vaheväljalasked loovad funktsionaalsuse järgmise suurema väljalaske jaoks, st. MongoDB 5.2, 5.3 ja 6.0 pakuvad uusi funktsioone MongoDB XNUMX väljalaskmiseks.

Allikas: opennet.ru

Lisa kommentaar