ĂshtĂ« publikuar versioni i databazĂ«s dokument-orientuese MongoDB 5.0, e cila zĂ« njĂ« niçë nĂ« mes sistemeve tĂ« shpejtĂ« dhe tĂ« shkallĂ«zueshme qĂ« punojnĂ« me tĂ« dhĂ«na nĂ« formatin çelĂ«s/vlerĂ«, dhe databazave relacionale, funksionale dhe tĂ« lehta pĂ«r tĂ« formuar pyetje. Kodi i MongoDB Ă«shtĂ« shkruar nĂ« gjuhĂ«n C++ dhe shpĂ«rndahet nĂ«n licencĂ«n SSPL, e cila bazohet nĂ« licencĂ«n AGPLv3, por nuk Ă«shtĂ« e hapur, pasi pĂ«rmban njĂ« kĂ«rkesĂ« diskriminuese pĂ«r shpĂ«rndarjen nĂ«n licencĂ«n SSPL, jo vetĂ«m tĂ« kodit tĂ« vetĂ« aplikacionit, por edhe tĂ« burimeve tĂ« tĂ« gjithĂ« komponenteve qĂ« janĂ« tĂ« angazhuara nĂ« ofrimin e shĂ«rbimit tĂ« cloud.
MongoDB mbështet ruajtjen e dokumenteve në formatin JSON të ngjashëm, ka një gjuhë mjaft fleksibile për formimin e pyetjeve, mund të krijojë indekse për atributet e ndryshme të ruajtura, siguron në mënyrë efikase ruajtjen e objekteve të mëdha binare, mbështet regjistrimin e operacioneve për ndryshimin dhe shtimin e të dhënave në databazë, mund të punojë në përputhje me paradigmat Map/Reduce, mbështet replikimin dhe ndërtimin e konfiguracioneve me qëndrueshmëri në rast defekti.
Në MongoDB ka mjete të integruara për sigurinë e segmentimit (distribuimi i të dhënave mbi servera bazuar në një çelës të caktuar), në kombinim me replikimin, që lejojnë ndërtimin e një klasteri ruajtjeje horizontalisht të shkallëzueshëm, në të cilin nuk ka një pikë të vetme dështimi (dështimi i çdo nyje nuk ndikon në funksionimin e databazës), mbështetet rivendosja automatikisht pas dështimit dhe transferimi i ngarkesës nga nyja e dëmtuar. Zgjerimi i klasterit ose transformimi i një nyje në klaster bëhet pa ndalur funksionimin e databazës me anë të thjeshtë të shtimit të makinave të reja. server Në klaster bëhet pa ndalesë të punës së DB me shtimin e thjeshtë të makinave të reja.
Karakteristikat e lëshimit të ri:
- Janë shtuar koleksione për të dhënat në formën e serive temporale (time series collections), të optimizuara për ruajtjen e pikave të vlerave parametrave që regjistrohen në intervale të caktuara kohore (kohë dhe grupi i vlerave përkatëse për atë kohë). Nevoja për ruajtjen e të dhënave të tilla lind në sistemet e monitorimit, platformave financiare dhe sistemeve për anketimin e gjendjeve të sensorëve. Puna me të dhënat e serive temporale bëhet si me koleksionet e zakonshme të dokumenteve, por indeksat dhe metoda e ruajtjes për to janë optimizuar në përputhje me lidhjen me kohën, çka lejon të reduktohet ndjeshëm konsumimi i hapësirës në disk, të zvogëlohen vonesat gjatë ekzekutimit të kërkesave dhe të zbatohet mundësia e analizës së të dhënave në kohë reale.
MongoDB i konsideron këto koleksione si pamje të pashfaqura që janë krijuar mbi bazën e koleksioneve të brendshme dhe gjatë futjes automatikisht grupon të dhënat e serive temporale në një format të optimizuar për ruajtje. Në këtë rast, çdo regjistrim i lidhur me kohën trajtohet si një dokument i veçantë gjatë kërkesës. Të dhënat renditen dhe indeksohen automatikisht sipas kohës (nuk ka nevojë për krijimin e indekseve të qarta sipas kohës).
- Janë shtuar mbështetje për operatorët dritarë (funksione analitik), që lejojnë kryerjen e veprimeve mbi një grup të caktuar dokumentesh në koleksion. Ndryshe nga funksionet agregate, funksionet dritarë nuk reduktojnë grupin e grumbulluar, por kryejnë agregimin mbi bazën e përmbajtjes së "dritares", që përfshin një ose më shumë dokumente nga grupi rezultatues. Për manipulimin e një nënseti dokumentesh, është propozuar një fazë e re $setWindowFields, me anë të së cilës mund të përcaktohen dallimet midis dy dokumenteve në koleksion, të llogaritet një vlerësim të shitjeve dhe të analizohet informacioni në seritë temporale komplekse.
- Janë shtuar mbështetje për versionimin e API, që lejon lidhjen e aplikacionit me një gjendje të caktuar të API dhe përjashton rreziqet që lidhen me mundësinë e shkeljes së përputhshmërisë pas përmirësimi në versionet e reja të databazës. Versionimi i API ndan ciklin e jetës së aplikacionit nga cikli i jetës së databazës dhe i lejon zhvilluesve të bëjnë ndryshime në aplikacion kur lind nevoja për të shfrytëzuar mundësitë e reja, e jo kur ndodh kalimi në një version të ri të databazës.
- Janë shtuar mbështetje për mekanizmin Live Resharding, që lejon ndërrimin e çelive të përdorur për segmentimin e të dhënave (shard key) në mënyrë dinamike pa ndaluar databazën.
- Janë zgjeruar mundësitë e enkriptimit të fushave në anën e klientit (Client-Side Field Level Encryption). Ka ndodhur mundësia e rimarrjes së filtrave të auditit dhe rotacionit të certifikatave x509 pa ndalur funksionimin e databazës. Janë shtuar mbështetje për konfigurimin e grupit të çelësave për TLS 1.3.
- ĂshtĂ« propozuar njĂ«Shell komandash i ri i MongoDB (mongosh), i cili zhvillohet si njĂ« projekt i veçantĂ«, i shkruar nĂ« JavaScript duke pĂ«rdorur platformĂ«n Node.js dhe shpĂ«rndahet nĂ«n licencĂ«n Apache 2.0. MongoDB Shell ofron mundĂ«sinĂ« pĂ«r tĂ« lidhur me DBMS, pĂ«r tĂ« ndryshuar parametrat dhe pĂ«r tĂ« dĂ«rguar kĂ«rkesa. MbĂ«shtetet autocomplete e mençur pĂ«r futjen e metodave, komandave dhe shprehjeve MQL, ndriçimi i sintaksĂ«s, sugjerimi kontekstual, analiza e mesazheve tĂ« gabimeve dhe mundĂ«sia pĂ«r zgjerimin e funksionalitetit pĂ«rmes shtesave. Shell-i i vjetĂ«r CLI "mongo" Ă«shtĂ« shpallur i vjetĂ«r dhe do tĂ« hiqet nĂ« versionin e ardhshĂ«m.

- Janë shtuar operatorë të rinj: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate dhe $rand.
- ĂshtĂ« siguruar pĂ«rdorimi i indekseve kur pĂ«rdoren operatorĂ«t $eq, $lt, $lte, $gt dhe $gte brenda shprehjes $expr.
- Në komandat aggregate, find, findAndModify, update, delete dhe metodat db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() dhe db.collection.remove() është realizuar mbështetje për opsionin "let" për të përcaktuar një listë ndryshore, duke e bërë komandat më të lexueshme duke ndarë variablat nga teksti i kërkesës.
- Operacionet find, count, distinct, aggregate, mapReduce, listCollections dhe listIndexes tani nuk bllokohen nëse ekzekutohet një operacion tjetër që vendos një bllokadë ekskluzive në koleksionin e dokumenteve.
- Në kuadër të iniciativës për t'u liruar nga terminologjia e papërshtatshme, ekipi isMaster dhe metoda db.isMaster() janë rinovuar në hello dhe db.hello().
- ĂshtĂ« ndryshuar skema e numĂ«rimit tĂ« versioneve dhe Ă«shtĂ« bĂ«rĂ« kalimi nĂ« njĂ« orar tĂ« parashikueshĂ«m pĂ«r formimin e lĂ«shimeve. NjĂ« version i rĂ«ndĂ«sishĂ«m do tĂ« formohet çdo vit (5.0, 6.0, 7.0), çdo tre muaj do tĂ« lĂ«shohen versione ndĂ«rmjetĂ«sore me mundĂ«si tĂ« reja (5.1, 5.2, 5.3) dhe sipas nevojĂ«s pĂ«r azhurnime korrigjente pĂ«r rregullimet e gabimeve dhe vulnerabilitetet (5.1.1, 5.1.2, 5.1.3). NĂ« versionet ndĂ«rmjetĂ«sore do tĂ« formohet funksionaliteti pĂ«r lĂ«shimin e ardhshĂ«m tĂ« rĂ«ndĂ«sishĂ«m, pra nĂ« MongoDB 5.1, 5.2 dhe 5.3 do tĂ« formohen mundĂ«si tĂ« reja pĂ«r lĂ«shimin MongoDB 6.0.
Burimi: opennet.ru

