Dostupná dokumentově orientovaná databázová SYSTÉM MongoDB 5.0

Byla představena verze dokumentově orientované databázové SÚDB MongoDB 5.0, která se nachází mezi rychlými a škálovatelnými systémy zpracovávajícími data ve formátu klíč/hodnota a relačními SÚDB, které jsou funkční a snadno se vytvářejí dotazy. Kód MongoDB je napsán v jazyce C++ a je šířen pod licencí SSPL, která vychází z licence AGPLv3, ale není otevřená, protože obsahuje diskriminační požadavek na dodávání pod licencí SSPL nejen кódu samotné aplikace, ale také zdrojových kódů všech komponent, které se podílejí na poskytování cloudové služby.

MongoDB podporuje ukládání dokumentů v JSON-podobném formátu, má dostatečně flexibilní jazyk pro vytváření dotazů, může vytvářet indexy pro různé uložené atributy, efektivně zajišťuje ukládání velkých binárních objektů, podporuje protokolování operací při změně a přidávání dat do databáze, může pracovat v souladu s paradigmatem Map/Reduce, podporuje replikaci a budování odolných konfigurací.

V MongoDB jsou k dispozici vestavěné prostředky pro zajištění segmentace (distribuce datové sady na servery na základě určitého klíče), v kombinaci s replikací umožňující vybudovat horizontálně škálovatelný skladovací cluster, ve kterém není jediný bod selhání (selhání jakéhokoli uzlu nemá vliv na funkci databáze), podporuje automatické obnovení po selhání a přenos zátěže z nefunkčního uzlu. Rozšíření clusteru nebo transformace jednoho serveru do clustru se provádí bez přerušení práce databáze prostým přidáním nových strojů.

Vlastnosti nového vydání:

  • Byly přidány kolekce pro data ve formě časových řad (time series collections), optimalizované pro ukládání hodnotových parametrů, zaznamenávaných v určitých časových intervalech (čas a sadu odpovídajících hodnot k tomuto času). Potřeba uchovávat podobná data vzniká v systémech monitorování, finančních platformách a systémech pro sledování stavu senzorů. Práce s daty časových řad se provádí jako s běžnými kolekcemi dokumentů, ale indexy a metoda jejich ukládání jsou optimalizovány s ohledem na časovou vazbu, což výrazně snižuje spotřebu místa na disku, zkracuje latenci při vykonávání dotazů a umožňuje analýzu dat v reálném čase.

    MongoDB považuje takové kolekce za zapisovatelné nematerializované pohledy, vytvořené na základě interních kolekcí, které při vkládání automaticky skupinují data časového řadu do optimalizovaného formátu ukládání. Přitom každá časově vázaná zápis se při dotazu zpracovává jako samostatný dokument. Data jsou automaticky uspořádána a indexována podle času (není třeba explicitně vytvářet indexy podle času).

  • Byla přidána podpora okenních operátorů (analytických funkcí), které umožňují provádět akce s určitým souborem dokumentů v kolekci. Na rozdíl od agregačních funkcí, okenní funkce neskupují seskupenou sadu, ale provádějí agregaci na základě obsahu „okna“ zahrnujícího jeden nebo více dokumentů z výsledné sady. Pro manipulaci s podmnožinou dokumentů byla navržena nová fáze $setWindowFields, pomocí které lze například určit rozdíly mezi dvěma dokumenty v kolekci, vypočítat hodnocení prodeje a analyzovat informace ve složitých časových řadách.
  • Byla přidána podpora verzování API, která umožňuje připojit aplikaci k určitému stavu API a vyloučit rizika spojená s možným porušením zpětné kompatibility při přechodu na nové verze DBMS. Verzování API odděluje životní cyklus aplikace od životního cyklu DBMS a umožňuje vývojářům provádět změny v aplikaci tehdy, když je třeba využít nové funkce, a nikoli když se provádí přechod na novou verzi DBMS.
  • Byla přidána podpora mechanismu Live Resharding, který umožňuje za běhu měnit používané klíče pro segmentaci (shard key) bez zastavení DBMS.
  • Byly rozšířeny možnosti šifrování polí na straně klienta (Client-Side Field Level Encryption). Objevila se možnost přeconfigurování auditních filtrů a rotace certifikátů x509 bez zastavení provozu DBMS. Byla přidána podpora konfigurace šifrovací sady pro TLS 1.3.
  • Byla navržena nová příkazová řádka MongoDB Shell (mongosh), která se vyvíjí jako samostatný projekt, je napsána v JavaScriptu pomocí platformy Node.js a je distribuována pod licencí Apache 2.0. MongoDB Shell umožňuje připojení k DBMS, změnu nastavení a zasílání dotazů. Podporuje chytré automatické doplňování vstupu metod, příkazů a výrazů MQL, zvýraznění syntaxi, kontextové nápovědy, parsování chybových zpráv a možnost rozšíření funkcionality prostřednictvím rozšíření. Starý CLI shell 'mongo' byl prohlášen za zastaralý a bude odstraněn v budoucím vydání.
    Dostupná dokumentově orientovaná databázová SYSTÉM MongoDB 5.0
  • Byly přidány nové operátory: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate a $rand.
  • Zajištěno využití indexů při použití operátorů $eq, $lt, $lte, $gt a $gte uvnitř výrazu $expr.
  • V příkazech aggregate, find, findAndModify, update, delete a v metodách db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() a db.collection.remove() byla implementována podpora volby „let“ pro určení seznamu proměnných, které činí příkazy čitelnější díky oddělení proměnných od textu dotazu.
  • Operace find, count, distinct, aggregate, mapReduce, listCollections a listIndexes již nejsou blokovány, pokud je současně prováděna operace, která vytváří exkluzivní zámek na kolekci dokumentů.
  • V rámci iniciativy k odstranění nepřesných termínů byla команда isMaster a metoda db.isMaster() přejmenována na hello a db.hello().
  • Byla změněna schéma číslování verzí a byl zaveden předvídatelný rozvrh vydávání. Jednou ročně bude vydána významná verze (5.0, 6.0, 7.0), každé tři měsíce pak meziverze s novými funkcemi (5.1, 5.2, 5.3) a podle potřeby opravné aktualizace s opravou chyb a zranitelností (5.1.1, 5.1.2, 5.1.3). V meziverzích bude vyvíjena funkčnost pro následující významnou verzi, tj. v MongoDB 5.1, 5.2 a 5.3 budou vytvořeny nové funkce pro vydání MongoDB 6.0.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster