Prvé stabilné vydanie FerretDB, implementácia MongoDB založená na PostgreSQL DBMS

Bolo zverejnené vydanie projektu FerretDB 1.0, 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. Verzia 1.0 je označená ako prvé stabilné vydanie pripravené na všeobecné použitie. Kód je napísaný v Go a distribuovaný pod licenciou Apache 2.0.

Hlavnou cieľovou skupinou pre FerretDB sú používatelia, ktorí vo svojich aplikáciách nepoužívajú pokročilé funkcie MongoDB, ale chcú používať úplne otvorený softvérový balík. V súčasnej fáze vývoja podporuje FerretDB podmnožinu funkcií MongoDB, ktoré sa najčastejšie používajú v typických aplikáciách. Potreba implementácie FerretDB môže vzniknúť v súvislosti s prechodom MongoDB na neslobodnú licenciu SSPL, ktorá je založená na licencii AGPLv3, ale nie je otvorená, pretože obsahuje diskriminačnú požiadavku dodávať v rámci licencie SSPL nielen samotný aplikačný kód, ale aj zdrojové kódy všetkých komponentov podieľajúcich sa na poskytovaní cloudových služieb.

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.

Medzi zmeny vo FerretDB 1.0:

  • Implementované príkazy createIndexes a dropIndexes na vytvorenie a odstránenie jedného alebo viacerých indexov do kolekcie.
  • Príkaz getMore bol implementovaný na zobrazenie novej časti výsledku získaného vykonaním príkazov, ktoré vracajú kurzor, ako napríklad find a agregácia.
  • Pridaná podpora pre operátor agregácie $sum na výpočet súčtu hodnôt skupiny.
  • Pridaná podpora pre operátory $limit a $skip na obmedzenie počtu a preskočenie dokumentov pri agregácii.
  • Pridaná podpora operátora $count pre počítanie dokumentov pri agregácii.
  • Pridaná podpora pre operátor $unwind na analýzu polí poľa v prichádzajúcich dokumentoch a vytvorenie zoznamu so samostatným dokumentom pre každý prvok poľa.
  • Pridaná čiastočná podpora pre príkazy collStats, dbStats a dataSize na získanie štatistík zberu a databázy a veľkosti údajov.

Zdroj: opennet.ru

Pridať komentár