Elérhető a dokumentum-orientált DBMS MongoDB 5.0

Bemutatják a dokumentum-orientált DBMS MongoDB 5.0 kiadását, amely egy rést foglal el a gyors és méretezhető, kulcs/érték formátumú adatokat kezelő rendszerek, valamint a működőképes és könnyen lekérdezéseket létrehozó relációs DBMS-ek között. A MongoDB kód C++ nyelven íródott és SSPL licenc alatt kerül terjesztésre, ami az AGPLv3 licencen alapul, de nem nyitott, mivel diszkriminatív követelményt tartalmaz, hogy az SSPL licenc alatt ne csak magát az alkalmazáskódot, hanem a forrást is szállítsák. a felhőszolgáltatás nyújtásában részt vevő összes összetevő kódja .

A MongoDB támogatja a dokumentumok JSON-szerű formátumban történő tárolását, meglehetősen rugalmas nyelve van a lekérdezések generálásához, képes indexeket létrehozni a különféle tárolt attribútumokhoz, hatékonyan biztosítja a nagy bináris objektumok tárolását, támogatja a műveletek naplózását az adatok megváltoztatásához és hozzáadásához, a Map/Reduce paradigma szerint működik, támogatja a replikációt és a hibatűrő konfigurációk felépítését.

A MongoDB beépített eszközökkel rendelkezik a megosztás biztosításához (adatkészlet elosztása a szerverek között egy adott kulcs alapján), a replikációval kombinálva, lehetővé téve egy vízszintesen méretezhető tárolófürt felépítését, amelyben nincs egyetlen hibapont (a hiba egyik csomópont sem befolyásolja az adatbázis működését), automatikus helyreállítás hiba után és terhelés átvitele meghibásodott csomópontról. Egy fürt kibővítése vagy egy kiszolgáló fürtté alakítása az adatbázis leállítása nélkül történik, egyszerűen új gépek hozzáadásával.

Az új kiadás jellemzői:

  • Hozzáadott adatgyűjtemények idősor formájában (idősor-gyűjtemények), optimalizálva bizonyos időközönként rögzített paraméterértékek szeleteinek tárolására (idő és ennek az időnek megfelelő értékkészlet). Az ilyen adatok tárolásának szükségessége megfigyelő rendszerekben, pénzügyi platformokon és az érzékelők állapotának lekérdezésére szolgáló rendszerekben merül fel. Az idősoros adatokkal való munka a szokásos dokumentumgyűjteményekhez hasonlóan történik, de az indexek és a tárolási mód az időreferencia figyelembevételével vannak optimalizálva, ami jelentősen csökkentheti a lemezterület-felhasználást, csökkentheti a lekérdezések végrehajtásának késését és lehetővé teszi a valós idejű adatokat. elemzés.

    A MongoDB az ilyen gyűjteményeket írható, nem materializált nézetként kezeli, amely belső gyűjteményekre épül, amelyek beillesztéskor automatikusan csoportosítják az idősorok adatait egy optimalizált tárolási formátumba. Ebben az esetben kérésre minden időalapú rekord külön dokumentumként kezelendő. Az adatok idő szerinti sorrendje és indexelése automatikusan történik (nincs szükség kifejezetten időindexek létrehozására).

  • Támogatás hozzáadva az ablakoperátorokhoz (analitikai funkciókhoz), amelyek lehetővé teszik a műveletek végrehajtását a gyűjteményben lévő bizonyos dokumentumokkal. Az összesítő függvényekkel ellentétben az ablakfüggvények nem csukják össze a csoportosított halmazt, hanem egy „ablak” tartalma alapján összesítik, amely egy vagy több dokumentumot tartalmaz az eredményhalmazból. A dokumentumok egy részhalmazának manipulálásához egy új $setWindowFields szakaszt javasolunk, amellyel például meghatározhatja a gyűjtemény két dokumentuma közötti különbségeket, kiszámíthatja az értékesítési rangsorokat, és összetett idősorokban elemezheti az információkat.
  • Hozzáadott támogatás az API-verzióhoz, amely lehetővé teszi egy alkalmazás egy adott API-állapothoz való kötését, és kiküszöböli a visszamenőleges kompatibilitás esetleges megsértésével kapcsolatos kockázatokat az új DBMS-kiadásokra való átálláskor. Az API verziószámítás elválasztja az alkalmazás életciklusát a DBMS életciklusától, és lehetővé teszi a fejlesztők számára, hogy módosítsák az alkalmazást, ha új szolgáltatások használatára van szükség, és nem az DBMS új verziójára való átálláskor.
  • Hozzáadott támogatás a Live Resharding mechanizmushoz, amely lehetővé teszi a szegmentáláshoz használt szilánkos kulcsok menet közbeni megváltoztatását a DBMS leállítása nélkül.
  • Bővültek a kliensoldali mezők titkosítási lehetőségei (kliensoldali mezőszintű titkosítás). Mostantól lehetőség van a naplózási szűrők újrakonfigurálására és az x509-es tanúsítványok elforgatására a DBMS leállítása nélkül. Támogatás hozzáadva a titkosítási csomag TLS 1.3-hoz konfigurálásához.
  • A javaslat egy új parancssori shell, a MongoDB Shell (mongosh), amely külön projektként készül, JavaScriptben íródott a Node.js platformon, és Apache 2.0 licenc alatt kerül terjesztésre. A MongoDB Shell lehetővé teszi a DBMS-hez való csatlakozást, a beállítások módosítását és a lekérdezések küldését. Támogatja az intelligens automatikus kiegészítést metódusok, parancsok és MQL-kifejezések beviteléhez, szintaktikai kiemeléshez, kontextuális súgóhoz, hibaüzenetek elemzéséhez és a funkcionalitás bővítményekkel való bővítéséhez. A régi "mongo" CLI-burkoló elavult, és egy jövőbeli kiadásban eltávolítjuk.
    Elérhető a dokumentum-orientált DBMS MongoDB 5.0
  • Új operátorok kerültek hozzáadásra: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate és $rand.
  • Biztosítja az indexek használatát, amikor a $eq, $lt, $lte, $gt és $gte operátorokat használja a $expr kifejezésben.
  • Az aggregate, find, findAndModify, update, delete parancsok és a db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() és db.collection.remove() metódusok már támogatják a „let” ” opciót a változók listájának meghatározásához, amelyek a parancsokat olvashatóbbá teszik azáltal, hogy elválasztják a változókat a kérés törzsétől.
  • A keresési, számlálási, megkülönböztetési, összesítési, mapReduce, listCollections és listIndexes műveletek már nem blokkolják, ha párhuzamosan fut egy dokumentumgyűjtemény kizárólagos zárolását alkalmazó művelet.
  • A politikailag helytelen kifejezések eltávolítására irányuló kezdeményezés részeként az isMaster parancsot és a db.isMaster() metódust hello és db.hello() névre keresztelték.
  • A kiadások számozási sémája megváltozott, és áttértek a kiszámítható kiadási ütemezésre. Évente egyszer lesz jelentős kiadás (5.0, 6.0, 7.0), háromhavonta köztes kiadások új funkciókkal (5.1, 5.2, 5.3) és szükség szerint korrekciós frissítésekkel hibajavításokkal és sebezhetőségekkel (5.1.1, 5.1.2) .5.1.3 , 5.1). Az időközi kiadások a következő nagyobb kiadás funkcionalitását építik majd ki, pl. A MongoDB 5.2, 5.3 és 6.0 új funkciókat kínál a MongoDB XNUMX kiadásához.

Forrás: opennet.ru

Hozzászólás