DBMS MongoDB 5.0 i orientuar nga dokumenti i disponueshëm

Është paraqitur lëshimi i DBMS MongoDB 5.0 i orientuar nga dokumenti, i cili zë një vend midis sistemeve të shpejta dhe të shkallëzueshme që operojnë të dhënat në formatin kyç/vlerë dhe DBMS-të relacionale që janë funksionale dhe të lehta për t'u formuar pyetje. Kodi MongoDB është shkruar në C++ dhe shpërndahet nën licencën SSPL, e cila bazohet në licencën AGPLv3, por nuk është i hapur, pasi përmban një kërkesë diskriminuese për të ofruar nën licencën SSPL jo vetëm kodin e aplikacionit, por edhe burimin. kodi i të gjithë komponentëve të përfshirë në ofrimin e shërbimit cloud.

MongoDB mbështet ruajtjen e dokumenteve në një format të ngjashëm me JSON, ka një gjuhë mjaft fleksibël për gjenerimin e pyetjeve, mund të krijojë indekse për atribute të ndryshme të ruajtura, siguron me efikasitet ruajtjen e objekteve të mëdha binare, mbështet regjistrimin e operacioneve për të ndryshuar dhe shtuar të dhëna në bazën e të dhënave, mund punojnë në përputhje me paradigmën Harta/Redukto, mbështet replikimin dhe ndërtimin e konfigurimeve tolerante ndaj gabimeve.

MongoDB ka mjete të integruara të ndarjes (shpërndarja e një grupi të dhënash nëpër serverë bazuar në një çelës specifik), në kombinim me replikimin, duke ju lejuar të ndërtoni një grup ruajtjeje të shkallëzuar horizontalisht që nuk ka një pikë të vetme dështimi (dështimi i ndonjë nyje ka nuk ndikojnë në funksionimin e bazës së të dhënave), dështimi automatik dhe transferimi i ngarkesës nga një nyje e dështuar. Zgjerimi i një grupi ose konvertimi i një serveri në një grup bëhet pa ndalur bazën e të dhënave duke shtuar thjesht makina të reja.

Karakteristikat e versionit të ri:

  • Koleksione të shtuara për të dhëna në formën e një serie kohore (koleksione të serive kohore), të optimizuara për ruajtjen e pjesëve të vlerave të parametrave të regjistruara në intervale të caktuara (koha dhe një grup vlerash që korrespondojnë me këtë kohë). Nevoja për të ruajtur të dhëna të tilla lind në sistemet e monitorimit, platformat financiare dhe sistemet për gjendjet e sensorëve të votimit. Puna me të dhënat e serive kohore kryhet si me koleksionet e zakonshme të dokumenteve, por indekset dhe metoda e ruajtjes për to janë optimizuar duke marrë parasysh referencën kohore, e cila mund të reduktojë ndjeshëm konsumin e hapësirës në disk, të zvogëlojë vonesat në ekzekutimin e pyetjeve dhe të mundësojë të dhëna në kohë reale. analiza.

    MongoDB i trajton koleksione të tilla si pamje të shkrueshme, të pamaterializuara të ndërtuara në koleksione të brendshme që, kur futen, grupojnë automatikisht të dhënat e serive kohore në një format të optimizuar të ruajtjes. Në këtë rast, çdo regjistrim i bazuar në kohë trajtohet si një dokument i veçantë kur kërkohet. Të dhënat renditen dhe indeksohen automatikisht sipas kohës (nuk ka nevojë të krijohen në mënyrë eksplicite indekse kohore).

  • Mbështetje e shtuar për operatorët e dritareve (funksionet analitike) që ju lejojnë të kryeni veprime me një grup specifik dokumentesh në koleksion. Ndryshe nga funksionet agregate, funksionet e dritares nuk e kolapsin grupin e grupuar, por përkundrazi agregojnë bazuar në përmbajtjen e një "dritareje" që përfshin një ose më shumë dokumente nga grupi i rezultateve. Për të manipuluar një nëngrup dokumentesh, propozohet një fazë e re $setWindowFields, me të cilën, për shembull, mund të përcaktoni ndryshimet midis dy dokumenteve në një koleksion, të llogaritni renditjen e shitjeve dhe të analizoni informacionin në seri komplekse kohore.
  • Mbështetje e shtuar për versionimin e API, i cili ju lejon të lidhni një aplikacion me një gjendje specifike API dhe të eliminoni rreziqet që lidhen me një shkelje të mundshme të përputhshmërisë së prapambetur kur migroni në versionet e reja të DBMS. Versionimi i API ndan ciklin e jetës së aplikacionit nga cikli i jetës së DBMS dhe u lejon zhvilluesve të bëjnë ndryshime në aplikacion kur ka nevojë për të përdorur veçori të reja dhe jo kur migrojnë në një version të ri të DBMS.
  • Mbështetje e shtuar për mekanizmin Live Resharding, i cili ju lejon të ndryshoni çelësat e copëzave të përdorura për segmentim në fluturim pa ndalur DBMS.
  • Mundësitë për enkriptimin e fushave në anën e klientit janë zgjeruar (Client-Side Field Level Encryption). Tani është e mundur të rikonfiguroni filtrat e auditimit dhe të rrotulloni certifikatat x509 pa ndalur DBMS. Mbështetje e shtuar për konfigurimin e grupit të shifrave për TLS 1.3.
  • Propozohet një guaskë e re e linjës komanduese, MongoDB Shell (mongosh), e cila po zhvillohet si një projekt i veçantë, i shkruar në JavaScript duke përdorur platformën Node.js dhe i shpërndarë nën licencën Apache 2.0. MongoDB Shell bën të mundur lidhjen me DBMS, ndryshimin e cilësimeve dhe dërgimin e pyetjeve. Mbështet plotësimin automatik të zgjuar për futjen e metodave, komandave dhe shprehjeve MQL, theksimin e sintaksës, ndihmën kontekstuale, analizimin e mesazheve të gabimit dhe aftësinë për të zgjeruar funksionalitetin përmes shtesave. Mbështjellësi i vjetër "mongo" CLI është zhvlerësuar dhe do të hiqet në një version të ardhshëm.
    DBMS MongoDB 5.0 i orientuar nga dokumenti i disponueshëm
  • Janë shtuar operatorë të rinj: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate dhe $rand.
  • Siguron që indekset përdoren kur përdoren operatorët $eq, $lt, $lte, $gt dhe $gte brenda shprehjes $expr.
  • Komandat agregate, find, findAndModify, update, delete dhe metodat db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() dhe db.collection.remove() tani mbështesin "let ” Opsioni për të përcaktuar një listë të variablave që i bëjnë komandat më të lexueshme duke i ndarë variablat nga trupi i kërkesës.
  • Veprimet e gjetjes, numërimit, dallimit, grumbullimit, hartësReduce, listKoleksioneve dhe listIndekseve nuk bllokohen më nëse një operacion që merr një kyçje ekskluzive në një koleksion dokumentesh po funksionon paralelisht.
  • Si pjesë e një nisme për të hequr termat politikisht të pasaktë, komanda isMaster dhe metoda db.isMaster() janë riemërtuar hello dhe db.hello().
  • Skema e numërimit të publikimeve është ndryshuar dhe është bërë një kalim në një orar të parashikueshëm të publikimeve. Një herë në vit do të ketë një lëshim domethënës (5.0, 6.0, 7.0), çdo tre muaj lëshime të ndërmjetme me veçori të reja (5.1, 5.2, 5.3) dhe, sipas nevojës, përditësime korrigjuese me rregullime të gabimeve dhe dobësi (5.1.1, 5.1.2 .5.1.3, 5.1). Publikimet e përkohshme do të ndërtojnë funksionalitet për versionin tjetër të madh, d.m.th. MongoDB 5.2, 5.3 dhe 6.0 do të ofrojnë veçori të reja për lëshimin e MongoDB XNUMX.

Burimi: opennet.ru

Shto një koment