Galima į dokumentus orientuota DBVS MongoDB 5.0

Pristatomas į dokumentus orientuotos DBVS MongoDB 5.0 leidimas, kuris užima nišą tarp greitų ir keičiamo dydžio sistemų, kurios valdo duomenis rakto/vertės formatu, ir reliacinių DBVS, kurios yra funkcionalios ir lengvai formuojamos užklausos. MongoDB kodas parašytas C++ kalba ir platinamas pagal SSPL licenciją, kuri yra pagrįsta AGPLv3 licencija, bet nėra atvira, nes jame yra diskriminacinis reikalavimas pagal SSPL licenciją pristatyti ne tik patį programos kodą, bet ir šaltinį. visų komponentų, susijusių su debesijos paslaugos teikimu, kodas.

MongoDB palaiko dokumentų saugojimą į JSON panašų formatą, turi gana lanksčią užklausų generavimo kalbą, gali kurti indeksus įvairiems saugomiems atributams, efektyviai saugo didelius dvejetainius objektus, palaiko duomenų keitimo ir įtraukimo į duomenų bazę operacijų registravimą, gali dirbti pagal paradigmą Map/Reduce, palaiko gedimams atsparių konfigūracijų replikaciją ir konstravimą.

„MongoDB“ turi integruotus įrankius, skirtus dalyti (paskirstyti duomenų rinkinį tarp serverių pagal konkretų raktą), kartu su replikavimu, leidžiančiu sukurti horizontaliai keičiamo dydžio saugyklos klasterį, kuriame nėra vieno gedimo taško (gedimo). bet kurio mazgo neturi įtakos duomenų bazės veikimui), automatinis atkūrimas po gedimo ir apkrovos perkėlimas iš sugedusio mazgo. Klasterio išplėtimas arba vieno serverio konvertavimas į klasterį atliekamas nesustabdant duomenų bazės, tiesiog pridedant naujų mašinų.

Naujojo leidimo ypatybės:

  • Pridėtos duomenų rinkiniai laiko eilučių pavidalu (laiko eilučių rinkiniai), optimizuoti tam tikrais intervalais įrašytų parametrų reikšmių pjūviams saugoti (laikas ir reikšmių rinkinys, atitinkantis šį laiką). Tokius duomenis reikia saugoti stebėjimo sistemose, finansinėse platformose ir jutiklių būsenų apklausos sistemose. Darbas su laiko eilučių duomenimis atliekamas kaip su įprastomis dokumentų rinkiniais, tačiau jų indeksai ir saugojimo būdas optimizuoti atsižvelgiant į laiko atskaitą, o tai gali žymiai sumažinti disko vietos suvartojimą, sumažinti užklausų vykdymo vėlavimą ir įgalinti duomenis realiuoju laiku. analizė.

    „MongoDB“ tokius rinkinius traktuoja kaip įrašomus, nematerializuotus rodinius, sukurtus pagal vidines kolekcijas, kurios, įterptos, automatiškai sugrupuoja laiko eilučių duomenis į optimizuotą saugojimo formatą. Tokiu atveju kiekvienas laiko įrašas laikomas atskiru dokumentu, kai to prašoma. Duomenys automatiškai tvarkomi ir indeksuojami pagal laiką (nereikia aiškiai kurti laiko indeksų).

  • Pridėtas langų operatorių (analitinių funkcijų) palaikymas, leidžiantis atlikti veiksmus su konkrečiu rinkinio dokumentų rinkiniu. Skirtingai nuo agregatų funkcijų, langų funkcijos nesutraukia sugrupuoto rinkinio, o apibendrina pagal „lango“, kuriame yra vienas ar daugiau dokumentų iš rezultatų rinkinio, turinį. Norėdami manipuliuoti dokumentų poaibiu, siūlomas naujas $setWindowFields etapas, su kuriuo galite, pavyzdžiui, nustatyti dviejų rinkinio dokumentų skirtumus, apskaičiuoti pardavimo reitingus ir analizuoti informaciją sudėtingose ​​laiko eilutėse.
  • Pridėtas API versijų kūrimo palaikymas, leidžiantis susieti programą su tam tikra API būsena ir pašalinti riziką, susijusią su galimu atgalinio suderinamumo pažeidimu pereinant prie naujų DBVS leidimų. API versijų kūrimas atskiria programos gyvavimo ciklą nuo DBVS gyvavimo ciklo ir leidžia kūrėjams atlikti programos pakeitimus, kai reikia naudoti naujas funkcijas, o ne pereinant prie naujos DBVS versijos.
  • Pridėtas „Live Resharding“ mechanizmo palaikymas, leidžiantis keisti segmentavimui naudojamus „shard“ raktus, nestabdant DBVS.
  • Išplėstos kliento pusės laukų šifravimo galimybės (Client-Side Field Level Encryption). Dabar galima iš naujo sukonfigūruoti audito filtrus ir pasukti x509 sertifikatus nestabdant DBVS. Pridėtas TLS 1.3 šifrų rinkinio konfigūravimo palaikymas.
  • Siūlomas naujas komandinės eilutės apvalkalas MongoDB Shell (mongosh), kuris yra kuriamas kaip atskiras projektas, parašytas JavaScript naudojant Node.js platformą ir platinamas pagal Apache 2.0 licenciją. „MongoDB Shell“ suteikia galimybę prisijungti prie DBVS, keisti nustatymus ir siųsti užklausas. Palaiko išmanųjį automatinį užbaigimą įvedant metodus, komandas ir MQL išraiškas, sintaksės paryškinimą, kontekstinę pagalbą, klaidų pranešimų analizavimą ir galimybę išplėsti funkcionalumą naudojant priedus. Senasis „mongo“ CLI įvynioklis buvo pasenęs ir bus pašalintas būsimame leidime.
    Galima į dokumentus orientuota DBVS MongoDB 5.0
  • Pridėta naujų operatorių: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ir $rand.
  • Užtikrina, kad indeksai būtų naudojami naudojant $eq, $lt, $lte, $gt ir $gte operatorius $expr išraiškoje.
  • Komandos agregate, find, findAndModify, update, delete ir db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ir db.collection.remove() dabar palaiko „let“ “ parinktį, norėdami apibrėžti kintamųjų sąrašą, dėl kurių komandos tampa lengviau skaitomos, atskiriant kintamuosius nuo užklausos turinio.
  • Ieškoti, skaičiuoti, atskirti, kaupti, mapReduce, listCollections ir listIndexes operacijos nebeblokuoja, jei lygiagrečiai vykdoma operacija, kuri užrakina išskirtinį dokumentų rinkinį.
  • Vykdant iniciatyvą pašalinti politiškai neteisingus terminus, komanda isMaster ir metodas db.isMaster() buvo pervadinti hello ir db.hello().
  • Buvo pakeista leidimų numeravimo schema ir pereita prie nuspėjamo išleidimo grafiko. Kartą per metus bus išleistas reikšmingas leidimas (5.0, 6.0, 7.0), kas tris mėnesius tarpiniai leidimai su naujomis funkcijomis (5.1, 5.2, 5.3) ir, jei reikia, korekciniais atnaujinimais su klaidų pataisymais ir pažeidžiamumu (5.1.1, 5.1.2). .5.1.3 , 5.1). Tarpiniai leidimai sukurs kitos pagrindinės laidos funkcionalumą, t.y. MongoDB 5.2, 5.3 ir 6.0 suteiks naujų funkcijų, skirtų MongoDB XNUMX išleidimui.

Šaltinis: opennet.ru

Добавить комментарий