Vydání FerretDB 0.3, implementace MongoDB založená na PostgreSQL DBMS

Byla zveřejněna verze projektu FerretDB 0.3, která umožňuje nahradit dokumentově orientovaný DBMS MongoDB PostgreSQL bez provádění změn v kódu aplikace. FerretDB je implementován jako proxy server, který převádí volání MongoDB do SQL dotazů do PostgreSQL, což umožňuje PostgreSQL použít jako skutečné úložiště. Kód je napsán v Go a distribuován pod licencí Apache 2.0.

Potřeba migrace může vyvstat v souvislosti s přechodem MongoDB na nesvobodnou licenci SSPL, která je založena na licenci AGPLv3, ale není otevřená, neboť obsahuje diskriminační požadavek dodat pod licencí SSPL nejen aplikaci samotného kódu, ale také zdrojových kódů všech komponent zapojených do poskytování cloudové služby.

Primární cílovou skupinou FerretDB jsou uživatelé, kteří ve svých aplikacích nevyužívají pokročilé možnosti MongoDB, ale chtějí používat zcela otevřený softwarový stack. V současné fázi vývoje FerretDB stále podporuje pouze část funkcí MongoDB, které se nejčastěji používají v typických aplikacích. V budoucnu plánují dosáhnout plné kompatibility s ovladači pro MongoDB a poskytnout možnost používat FerretDB jako transparentní náhradu za MongoDB.

MongoDB zaujímá mezeru mezi rychlými a škálovatelnými systémy, které pracují na datech klíč/hodnota, a relačními DBMS, které jsou funkční a snadno se dotazují. 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.

Vydání FerretDB 0.3 zavedlo příkaz findAndModify, který upraví dokument, ale vrátí jej do původní verze. Byly implementovány operátory aktualizace polí $inc a $set. Přidána podpora pro třídění skalárních datových typů.

Zdroj: opennet.ru

Přidat komentář