Vydanie FerretDB 0.3, implementácia MongoDB založená na PostgreSQL DBMS

Bolo zverejnené vydanie projektu FerretDB 0.3, ktorý umožňuje nahradiť dokumentovo orientovaný DBMS MongoDB PostgreSQL bez vykonania zmien v kóde aplikácie. FerretDB je implementovaný ako proxy server, ktorý prekladá volania MongoDB do SQL dotazov do PostgreSQL, čo vám umožňuje používať PostgreSQL ako skutočné úložisko. Kód je napísaný v Go a distribuovaný pod licenciou Apache 2.0.

Potreba migrácie môže vzniknúť v súvislosti s prechodom MongoDB na neslobodnú licenciu SSPL, ktorá je založená na licencii AGPLv3, ale nie je otvorená, keďže obsahuje diskriminačnú požiadavku doručovať v rámci licencie SSPL nielen aplikáciu samotného kódu, ale aj zdrojových kódov všetkých komponentov podieľajúcich sa na poskytovaní cloudovej služby.

Primárnou cieľovou skupinou FerretDB sú používatelia, ktorí vo svojich aplikáciách nevyužívajú pokročilé možnosti MongoDB, ale chcú používať úplne otvorený softvérový balík. V súčasnej fáze vývoja FerretDB stále podporuje iba časť možností MongoDB, ktoré sa najčastejšie používajú v typických aplikáciách. V budúcnosti plánujú dosiahnuť plnú kompatibilitu s ovládačmi pre MongoDB a poskytnúť možnosť používať FerretDB ako transparentnú náhradu za MongoDB.

MongoDB zaberá medzeru medzi rýchlymi a škálovateľnými systémami, ktoré pracujú s údajmi kľúč/hodnota a relačnými DBMS, ktoré sú funkčné a ľahko sa dotazujú. MongoDB podporuje ukladanie dokumentov vo formáte podobnom JSON, má pomerne flexibilný jazyk na generovanie dotazov, dokáže vytvárať indexy pre rôzne uložené atribúty, efektívne zabezpečuje ukladanie veľkých binárnych objektov, podporuje protokolovanie operácií na zmenu a pridávanie údajov do databázy, pracovať v súlade s paradigmou Map/Reduce, podporuje replikáciu a vytváranie konfigurácií odolných voči chybám.

В выпуске FerretDB 0.3 реализована команда findAndModify изменяющая документ, но возвращающая его первоначальную версию. Реализованы операторы обновления полей — $inc и $set. Добавлена поддержка сортировки скалярных типов данных.

Zdroj: opennet.ru

Pridať komentár