První stabilní vydání FerretDB, implementace MongoDB na bázi databázového systému PostgreSQL

Byl vydán projekt FerretDB 1.0, který umožňuje nahradit dokumentově orientovanou DB MongoDB PostgreSQL bez úprav aplikací. FerretDB funguje jako proxy server, který převádí dotazy na MongoDB na SQL dotazy k PostgreSQL, což umožňuje používat PostgreSQL jako skutečné úložiště. Verze 1.0 je označena jako první stabilní vydání, připravené k širokému použití. Kód je napsán v Go a je distribuován pod licencí Apache 2.0.

Hlavní cílovou skupinou FerretDB jsou uživatelé, kteří ve svých aplikacích nevyužívají pokročilé funkce MongoDB, ale chtějí používat plně otevřený softwarový stack. V současné fázi vývoje FerretDB podporuje podmnožinu funkcí MongoDB, které jsou nejčastěji využívány v typických aplikacích. Potřeba implementace FerretDB může vzniknout v souvislosti s přechodem MongoDB na neotevřenou licenci SSPL, která je založena na licenci AGPLv3, ale není otevřená, protože obsahuje diskriminační požadavek na dodávku pod licencí SSPL nejen kódu samotné aplikace, ale i zdrojových textů všech komponent, které se podílejí na poskytování cloudové služby.

MongoDB okupuje mezery mezi rychlými a škálovatelnými systémy, které manipulují s daty ve formátu klíč/hodnota, a relačními DB, které jsou funkční a snadné na formulaci dotazů. MongoDB podporuje ukládání dokumentů v JSON-podobném formátu, má dostatečně flexibilní jazyk pro formulaci 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 logování operací při změnách a přidávání dat do DB, může fungovat podle paradigmatu Map/Reduce, podporuje replikaci a budování odolných konfigurací.

Mezi změnami v FerretDB 1.0:

  • Byly implementovány příkazy createIndexes a dropIndexes pro vytváření a odstraňování jednoho nebo více indexů ke kolekci.
  • Byl implementován příkaz getMore pro výpis nové dávky výsledků získaných při provádění příkazů vracejících kurzor, jako jsou find a aggregate.
  • Byla přidána podpora agregujícího operátoru $sum pro výpočet součtu hodnot skupiny.
  • Byla přidána podpora operátorů $limit a $skip pro omezení počtu a přeskočení dokumentů při agregaci.
  • Byla přidána podpora operátoru $count pro počítání dokumentů při agregaci.
  • Byla přidána podpora operátoru $unwind pro zpracování polí pole v příchozích dokumentech a vytvoření seznamu s jednotlivým dokumentem pro každý prvek pole.
  • Byla přidána částečná podpora příkazů collStats, dbStats a dataSize pro získání statistik o kolekci a databázi, stejně jako velikosti dat.

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