Prvé stabilné vydanie FerretDB, implementácia MongoDB na báze databázy PostgreSQL

Bol pridaný projekt FerretDB 1.0, ktorý umožňuje nahradiť dokumentovo orientovanú DB MongoDB PostgreSQL bez zmien v kóde aplikácií. FerretDB funguje ako proxy server, ktorý prevádza požiadavky na MongoDB na SQL dotazy pre PostgreSQL, čo umožňuje používať PostgreSQL ako skutočné úložisko. Verzia 1.0 je označená ako prvý stabilný vydanie, pripravené na rozšírené používanie. Kód je napísaný v programovacom jazyku Go a šíri sa pod licenciou Apache 2.0.

Hlavnou cieľovou skupinou FerretDB sú užívatelia, ktorí vo svojich aplikáciách nevyužívajú rozšírené funkcie MongoDB, ale chcú používať úplne otvorený softvérový stack. V súčasnej fáze vývoja FerretDB podporuje 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 neotvorenú licenciu SSPL, ktorá je založená na licencií AGPLv3, ale nie je otvorená, pretože obsahuje diskriminačnú požiadavku dodávania pod licenciou SSPL nielen kódu samotnej aplikácie, ale aj zdrojových textov všetkých komponentov zapojených do poskytovania cloudovej služby.

MongoDB sa nachádza v priestore medzi rýchlymi a škálovateľnými systémami, ktoré pracujú s údajmi vo formáte kľúč/hodnota, a relačnými databázovými systémami, ktoré sú funkčné a pohodlné pri formulovaní dopytov. MongoDB podporuje ukladanie dokumentov v JSON-podobnom formáte, má dosť flexibilný jazyk na formulovanie dopytov, dokáže vytvárať indexy pre rôzne uložené atribúty, efektívne zabezpečuje ukladanie veľkých binárnych objektov, podporuje logovanie operácií pri zmene a pridávaní údajov do DB, môže pracovať v súlade s paradigmatickým Map/Reduce, podporuje replikáciu a vytváranie odolných konfigurácií.

Medzi zmenami vo FerretDB 1.0:

  • Implementované príkazy createIndexes a dropIndexes na vytvorenie a odstránenie jedného alebo viacerých indexov k zbierke.
  • Implementovaný príkaz getMore na získanie novej dávky výsledkov získaných vykonaním príkazov, ktoré vracajú kurzor, ako napríklad find a aggregate.
  • Pridaná podpora agregujúceho operátora $sum na výpočet súčtu hodnôt skupiny.
  • Pridaná podpora operátorov $limit a $skip na obmedzenie počtu a preskočenie dokumentov pri agregácii.
  • Pridaná podpora operátora $count na počítanie dokumentov pri agregácii.
  • Pridaná podpora operátora $unwind na rozdelenie polí poľa vo vstupných dokumentoch a vytvorenie zoznamu s jednotlivým dokumentom pre každý prvok poľa.
  • Pridaná čiastočná podpora príkazov collStats, dbStats a dataSize na získanie štatistiky o zbierke a DB, ako aj veľkosti dát.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster