K dispozici je DBMS orientovaný na dokumenty MongoDB 5.0

Představuje se vydání dokumentově orientovaného DBMS MongoDB 5.0, které zaujímá mezeru mezi rychlými a škálovatelnými systémy, které provozují data ve formátu klíč/hodnota, a relačními DBMS, které jsou funkční a snadno se vytvářejí dotazy. Kód MongoDB je napsán v C++ a šířen pod licencí SSPL, která je založena na licenci AGPLv3, ale není otevřená, neboť obsahuje diskriminační požadavek dodat pod licencí SSPL nejen samotný kód aplikace, ale i zdrojový kód. kód všech komponent zapojených do poskytování cloudové služby .

MongoDB podporuje ukládání dokumentů ve formátu JSON, má poměrně flexibilní jazyk pro generování dotazů, umí 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í pro změnu a přidávání dat do databáze, umí pracovat v souladu s paradigmatem Map/Reduce, podporuje replikaci a vytváření konfigurací odolných vůči chybám.

MongoDB má vestavěné shardingové nástroje (distribuce datové sady mezi servery na základě specifického klíče) v kombinaci s replikací, což vám umožňuje vytvořit horizontálně škálovatelný cluster úložiště, který nemá jediný bod selhání (selhání kteréhokoli uzlu neovlivní provoz databáze), automatické převzetí služeb při selhání a přenos zatížení z uzlu, který selhal. Rozšíření clusteru nebo převod jednoho serveru na cluster se provádí bez zastavení databáze pouhým přidáním nových počítačů.

Vlastnosti nového vydání:

  • Přidány kolekce pro data ve formě časové řady (kolekce časových řad), optimalizované pro ukládání řezů hodnot parametrů zaznamenaných v určitých intervalech (čas a sada hodnot odpovídající tomuto času). Potřeba ukládat taková data vzniká v monitorovacích systémech, finančních platformách a systémech pro dotazování stavů senzorů. Práce s daty časových řad probíhá jako u běžných kolekcí dokumentů, ale indexy a způsob jejich ukládání jsou optimalizovány s ohledem na časovou referenci, což může výrazně snížit spotřebu místa na disku, zkrátit zpoždění při provádění dotazů a umožnit data v reálném čase. analýza.

    MongoDB s takovými kolekcemi zachází jako s zapisovatelnými, nematerializovanými pohledy postavenými na interních kolekcích, které po vložení automaticky seskupují data časových řad do optimalizovaného formátu úložiště. V tomto případě se s každým časovým záznamem na požádání zachází jako se samostatným dokumentem. Data jsou automaticky řazena a indexována podle času (není třeba explicitně vytvářet časové indexy).

  • Přidána podpora pro operátory oken (analytické funkce), které umožňují provádět akce s konkrétní sadou dokumentů v kolekci. Na rozdíl od agregačních funkcí funkce okna nesbalují seskupenou sadu, ale spíše agregují na základě obsahu „okna“, které obsahuje jeden nebo více dokumentů z výsledné sady. Pro manipulaci s podmnožinou dokumentů je navržena nová fáze $setWindowFields, pomocí které můžete například určit rozdíly mezi dvěma dokumenty v kolekci, vypočítat pořadí prodejů a analyzovat informace ve složitých časových řadách.
  • Přidána podpora pro verzování API, která umožňuje svázat aplikaci s konkrétním stavem API a eliminovat rizika spojená s možným porušením zpětné kompatibility při migraci na nová vydání DBMS. Verze API odděluje životní cyklus aplikace od životního cyklu DBMS a umožňuje vývojářům provádět změny v aplikaci, když je potřeba použít nové funkce, a ne při migraci na novou verzi DBMS.
  • Přidána podpora pro mechanismus Live Resharding, který umožňuje měnit shard klíče používané pro segmentaci za běhu bez zastavení DBMS.
  • Byly rozšířeny možnosti šifrování polí na straně klienta (Client-Side Field Level Encryption). Nyní je možné překonfigurovat auditní filtry a střídat x509 certifikáty bez zastavení DBMS. Přidána podpora pro konfiguraci šifrovací sady pro TLS 1.3.
  • Je navržen nový shell příkazového řádku, MongoDB Shell (mongosh), který je vyvíjen jako samostatný projekt, napsaný v JavaScriptu pomocí platformy Node.js a distribuovaný pod licencí Apache 2.0. MongoDB Shell umožňuje připojit se k DBMS, měnit nastavení a odesílat dotazy. Podporuje inteligentní automatické dokončování pro zadávání metod, příkazů a výrazů MQL, zvýrazňování syntaxe, kontextovou nápovědu, analýzu chybových zpráv a možnost rozšířit funkčnost pomocí doplňků. Stará "mongo" CLI wrapper byla zastaralá a bude odstraněna v budoucí verzi.
    K dispozici je DBMS orientovaný na dokumenty MongoDB 5.0
  • Byly přidány nové operátory: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate a $rand.
  • Zajišťuje použití indexů při použití operátorů $eq, $lt, $lte, $gt a $gte ve výrazu $expr.
  • Příkazy agregace, find, findAndModify, update, delete a metody db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() a db.collection.remove() nyní podporují „let ” k definování seznamu proměnných, díky nimž jsou příkazy čitelnější, a to oddělením proměnných od těla požadavku.
  • Operace Najít, počítat, rozlišovat, agregovat, mapReduce, listCollections a listIndexes se již neblokují, pokud paralelně běží operace, která má výhradní zámek na kolekci dokumentů.
  • V rámci iniciativy k odstranění politicky nekorektních výrazů byly příkaz isMaster a metoda db.isMaster() přejmenovány na hello a db.hello().
  • Schéma číslování vydání bylo změněno a byl proveden přechod na předvídatelný plán vydání. Jednou ročně bude vydáno významné vydání (5.0, 6.0, 7.0), každé tři měsíce přechodná vydání s novými funkcemi (5.1, 5.2, 5.3) a podle potřeby opravné aktualizace s opravami chyb a zranitelností (5.1.1, 5.1.2 .5.1.3, 5.1). Prozatímní verze budou vytvářet funkce pro další hlavní verzi, tj. MongoDB 5.2, 5.3 a 6.0 poskytne nové funkce pro vydání MongoDB XNUMX.

Zdroj: opennet.ru

Přidat komentář