Dostupná dokumentovo orientovaná DB MongoDB 5.0

Predstavené je vydanie dokumentovo orientovanej databázy MongoDB 5.0, ktorá sa nachádza medzi rýchlymi a škálovateľnými systémami spravujúcimi dáta vo formáte kľúč/hodnota a relačnými dátovými databázami, ktoré sú funkčné a užívateľsky prívetivé pri tvorbe dotazov. Kód MongoDB je napísaný v jazyku C++ a distribuuje sa pod licenciou SSPL, ktorá je založená na licencii AGPLv3, ale nie je otvorená, pretože obsahuje diskriminačnú požiadavku dodania pod licenciou SSPL nielen kódu samotnej aplikácie, ale aj zdrojových kódov všetkých komponentov zapojených do poskytovania cloudových služieb.

MongoDB podporuje ukladanie dokumentov v formáte podobnom JSON, má dostatočne flexibilný jazyk na tvorbu dotazov, dokáže vytvárať indexy pre rôzne uložené atribúty, efektívne spravuje ukladanie veľkých binárnych objektov, podporuje zaznamenávanie operácií zmien a pridávania dát do DB, môže pracovať v súlade s paradigmou Map/Reduce, podporuje replikáciu a budovanie odolných konfigurácií.

V MongoDB sú vstavané prostriedky na zabezpečenie segmentácie (rozdelenie súboru dát medzi servery na základe určeného kľúča), v kombinácii s replikáciou umožňujú vytvoriť horizontálne škálovateľný úložný klaster, v ktorom absentuje jediný bod zlyhania (zlyhanie akéhokoľvek uzla nemá vplyv na prevádzku DB), podporuje sa automatické obnovenie po zlyhaní a prerozdelenie záťaže z nefunkčného uzla. Rozšírenie klastra alebo transformácia jedného servera na klaster sa vykonáva bez zastavenia prevádzky DB jednoduchým pridaním nových strojov.

Funkcie nového vydania:

  • Pridané kolekcie na dáta vo forme časových radov, optimalizované na uchovávanie výrezov hodnôt parametrů, zapisovaných cez určité časové intervaly (čas a súbor hodnôt, ktoré s týmto časom súvisia). Potreba uchovávať takéto dáta vzniká v monitorovacích systémoch, finančných platformách a systémoch prieskumu stavov senzorov. Práca s dátami časového radu sa vykonáva ako s obyčajnými kolekciami dokumentov, avšak indexy a spôsob uchovávania sú pre ne optimalizované so zohľadnením časovej väzby, čo umožňuje výrazne zmenšiť spotrebu miesta na disku, znížiť oneskorenia pri vykonávaní dotazov a realizovať možnosť analýzy dát v reálnom čase.

    MongoDB považuje takéto kolekcie za dostupné na zápis nematerializované pohľady, vytvorené na základe interných kolekcií a pri vložení automaticky skupinujúce dáta časového radu do optimalizovaného formátu uchovávania. Každý časovo viazaný záznam sa pri dotaze interpretuje ako samostatný dokument. Dáta sa automaticky poriadajú a indexujú podľa času (nie je potrebné explicitne vytvárať indexy podľa času).

  • Pridaná podpora okienkových operátorov (analytických funkcií), ktoré umožňujú vykonávať akcie s určitým súborom dokumentov v kolekcii. Na rozdiel od agregátnych funkcií, okienkové funkcie nezlučujú skupinový súbor, ale vykonávajú agregáciu na základe obsahu „okna“, ktoré obsahuje jeden alebo viac dokumentov z výsledného súboru. Na manipuláciu s podmnožinou dokumentov bola navrhnutá nová fáza $setWindowFields, pomocou ktorej je možné napríklad určiť rozdiely medzi dvoma dokumentmi v kolekcii, vypočítať predajný rating a analyzovať informácie v zložitých časových radoch.
  • Pridaná podpora verziovania API, ktorá umožňuje priradiť aplikáciu k určitému stavu API a eliminovať riziká spojené s možným porušením spätnej kompatibility pri prechode na nové verzie DBMS. Verziovanie API oddeluje životný cyklus aplikácie od životného cyklu DBMS a umožňuje vývojárom vykonávať zmeny v aplikácii, keď sa objaví potreba využiť nové funkcie, a nie len pri prechode na novú verziu DBMS.
  • Pridaná podpora mechanizmu Live Resharding, ktorý umožňuje naživo meniť používané kľúče na segmentáciu (shard key) bez zastavenia DBMS.
  • Rozšírené možnosti šifrovania polí na strane klienta (Client-Side Field Level Encryption). Pribudla možnosť prestavania filtrov auditu a rotácie certifikátov x509 bez prerušenia činnosti DBMS. Pridaná podpora konfigurácie súboru šifrovania pre TLS 1.3.
  • Predstavená nová príkazová riadková vrstva MongoDB Shell (mongosh), ktorá sa vyvíja ako samostatný projekt, je napísaná v JavaScripte s využitím platformy Node.js a je distribuovaná pod licenciou Apache 2.0. MongoDB Shell umožňuje pripojenie k DBMS, zmenu nastavení a odosielanie dotazov. Podporuje inteligentné automatické doplňovanie metód, príkazov a výrazov MQL, zvýraznenie syntaxe, kontextové nápovedy, analýzu chybových správ a možnosť rozšírenia funkčnosti prostredníctvom doplnkov. Starý CLI shell „mongo“ bol vyhlásený za zastaraný a bude odstránený v budúcej verzii.
    Dostupná dokumentovo orientovaná DB MongoDB 5.0
  • Pridané nové operátory: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate a $rand.
  • Zabezpečené využívanie indexov pri použití operátorov $eq, $lt, $lte, $gt a $gte v rámci výrazu $expr.
  • V príkazoch aggregate, find, findAndModify, update, delete a metódach db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() a db.collection.remove() bola implementovaná podpora možnosti «let» na definovanie zoznamu premenných, čo zvyšuje čitateľnosť príkazov oddelením premenných od textu dotazu.
  • Operácie find, count, distinct, aggregate, mapReduce, listCollections a listIndexes už nie sú blokované, ak súčasne prebieha operácia, ktorá vykonáva exkluzívne blokovanie na kolekcii dokumentov.
  • V rámci iniciatívy na odstránenie politicky nekorektných termínov bola tímom isMaster a metóda db.isMaster() premenovaná na hello a db.hello().
  • Zmenila sa schéma číslovania vydaní a prešlo sa na predvídateľný harmonogram vydávania. Raz ročne sa bude vykonávať významné vydanie (5.0, 6.0, 7.0), každé tri mesiace stredné vydania s novými funkcionalitami (5.1, 5.2, 5.3) a podľa potreby aj korekčné aktualizácie na opravu chýb a zraniteľností (5.1.1, 5.1.2, 5.1.3). V stredných vydaniach sa bude pripravovať funkcionalita pre nasledujúce významné vydanie, t.j. v MongoDB 5.1, 5.2 a 5.3 sa vytvoria nové možnosti pre vydanie MongoDB 6.0.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster