K dispozícii je DBMS orientovaný na dokumenty MongoDB 5.0

Predstavuje sa vydanie dokumentovo orientovaného DBMS MongoDB 5.0, ktoré zaberá medzeru medzi rýchlymi a škálovateľnými systémami, ktoré prevádzkujú údaje vo formáte kľúč/hodnota, a relačnými DBMS, ktoré sú funkčné a ľahko sa vytvárajú dotazy. Kód MongoDB je napísaný v jazyku C++ a distribuovaný pod licenciou SSPL, ktorá je založená na licencii AGPLv3, ale nie je otvorená, pretože obsahuje diskriminačnú požiadavku dodať pod licenciou SSPL nielen samotný kód aplikácie, ale aj zdrojový kód. kód všetkých komponentov podieľajúcich sa na poskytovaní cloudovej služby .

MongoDB podporuje ukladanie dokumentov vo formáte podobnom JSON, má pomerne flexibilný jazyk na generovanie dotazov, dokáže vytvárať indexy pre rôzne uložené atribúty, efektívne zabezpečuje ukladanie veľkých binárnych objektov, podporuje protokolovanie operácií pre zmenu a pridávanie údajov do databázy, pracovať v súlade s paradigmou Map/Reduce, podporuje replikáciu a konštrukciu konfigurácií odolných voči chybám.

MongoDB má vstavané nástroje na poskytovanie shardingu (distribúcia súboru údajov medzi servery na základe špecifického kľúča) v kombinácii s replikáciou, čo vám umožňuje vybudovať horizontálne škálovateľný klaster úložiska, v ktorom neexistuje jediný bod zlyhania (zlyhanie žiadneho uzla neovplyvňuje činnosť databázy), automatickú obnovu po zlyhaní a prenos záťaže zo zlyhaného uzla. Rozšírenie klastra alebo konverzia jedného servera na klaster sa vykonáva bez zastavenia databázy jednoduchým pridaním nových počítačov.

Vlastnosti nového vydania:

  • Pridané kolekcie údajov vo forme časových radov (kolekcie časových radov), optimalizované na ukladanie častí hodnôt parametrov zaznamenaných v určitých intervaloch (čas a množina hodnôt zodpovedajúca tomuto času). Potreba uchovávania takýchto údajov vzniká v monitorovacích systémoch, finančných platformách a systémoch na meranie stavu senzorov. Práca s údajmi časových radov sa vykonáva ako pri bežných zbierkach dokumentov, ale indexy a spôsob ich ukladania sú optimalizované s ohľadom na časovú referenciu, čo môže výrazne znížiť spotrebu miesta na disku, znížiť oneskorenia pri vykonávaní dotazov a umožniť údaje v reálnom čase. analýza.

    MongoDB zaobchádza s takýmito kolekciami ako s zapisovateľnými, nematerializovanými zobrazeniami, ktoré sú postavené na interných kolekciách, ktoré po vložení automaticky zoskupujú dáta časových radov do optimalizovaného formátu úložiska. V tomto prípade sa s každým časovým záznamom na požiadanie zaobchádza ako so samostatným dokumentom. Údaje sú automaticky zoradené a indexované podľa času (nie je potrebné explicitne vytvárať časové indexy).

  • Pridaná podpora pre operátory okien (analytické funkcie), ktoré vám umožňujú vykonávať akcie so špecifickou sadou dokumentov v kolekcii. Na rozdiel od agregačných funkcií, funkcie okien nezbalia zoskupenú množinu, ale skôr agregujú na základe obsahu „okna“, ktoré obsahuje jeden alebo viacero dokumentov z výslednej množiny. Na manipuláciu s podmnožinou dokumentov sa navrhuje nová fáza $setWindowFields, pomocou ktorej môžete napríklad určiť rozdiely medzi dvoma dokumentmi v kolekcii, vypočítať poradie predaja a analyzovať informácie v zložitých časových radoch.
  • Pridaná podpora pre API verzií, ktorá umožňuje naviazať aplikáciu na konkrétny stav API a eliminovať riziká spojené s možným narušením spätnej kompatibility pri migrácii na nové vydania DBMS. Verzia API oddeľuje životný cyklus aplikácie od životného cyklu DBMS a umožňuje vývojárom vykonávať zmeny v aplikácii, keď je potrebné použiť nové funkcie, a nie pri migrácii na novú verziu DBMS.
  • Pridaná podpora pre mechanizmus Live Resharding, ktorý vám umožňuje meniť zlomkové kľúče používané na segmentáciu za behu bez zastavenia DBMS.
  • Rozšírili sa možnosti šifrovania polí na strane klienta (Client-Side Field Level Encryption). Teraz je možné prekonfigurovať auditovacie filtre a rotovať x509 certifikáty bez zastavenia DBMS. Pridaná podpora pre konfiguráciu šifrovacej sady pre TLS 1.3.
  • Navrhuje sa nový shell príkazového riadku, MongoDB Shell (mongosh), ktorý sa vyvíja ako samostatný projekt, napísaný v JavaScripte pomocou platformy Node.js a distribuovaný pod licenciou Apache 2.0. MongoDB Shell umožňuje pripojiť sa k DBMS, meniť nastavenia a odosielať dopyty. Podporuje inteligentné automatické dopĺňanie pre zadávanie metód, príkazov a výrazov MQL, zvýrazňovanie syntaxe, kontextovú pomoc, analýzu chybových hlásení a možnosť rozšírenia funkčnosti pomocou doplnkov. Starý „mongo“ obal CLI bol zastaraný a bude odstránený v budúcom vydaní.
    K dispozícii je DBMS orientovaný na dokumenty MongoDB 5.0
  • Boli pridané nové operátory: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate a $rand.
  • Zabezpečuje, aby sa indexy použili pri použití operátorov $eq, $lt, $lte, $gt a $gte v rámci výrazu $expr.
  • Príkazy agregácie, find, findAndModify, update, delete a metódy db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() a db.collection.remove() teraz podporujú metódu „let ” na definovanie zoznamu premenných, vďaka ktorým sú príkazy čitateľnejšie oddelením premenných od tela požiadavky.
  • Operácie Nájsť, počítať, rozlišovať, agregovať, mapReduce, listCollections a listIndexes sa už neblokujú, ak paralelne beží operácia, ktorá používa exkluzívny zámok na kolekciu dokumentov.
  • V rámci iniciatívy na odstránenie politicky nekorektných výrazov boli príkaz isMaster a metóda db.isMaster() premenované na hello a db.hello().
  • Schéma číslovania vydaní bola zmenená a bol vykonaný prechod na predvídateľný plán vydania. Raz za rok bude vydané významné vydanie (5.0, 6.0, 7.0), každé tri mesiace prechodné vydania s novými funkciami (5.1, 5.2, 5.3) a podľa potreby opravné aktualizácie s opravami chýb a zraniteľnými miestami (5.1.1, 5.1.2 .5.1.3, 5.1). Dočasné vydania vybudujú funkčnosť pre ďalšie hlavné vydanie, t.j. MongoDB 5.2, 5.3 a 6.0 poskytne nové funkcie pre vydanie MongoDB XNUMX.

Zdroj: opennet.ru

Pridať komentár