FerretDB 1.0 už vyšiel a toto sú jeho novinky

FerretDB

FerretDB bol založený, aby sa stal de facto open source náhradou za MongoDB.

Spustenie programu nová verzia projektu FerretDB 1.0, ktorý vám umožňuje nahradiť dokumentovo orientovaný DBMS MongoDB PostgreSQL bez vykonania akýchkoľvek zmien v kóde vašej aplikácie. FerretDB je implementovaný ako proxy server, ktorý prekladá volania MongoDB v SQL dotazoch 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. Primárnou cieľovou skupinou 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, 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 neslobodnú licenciu SSPL, ktorá je založená na licencii AGPLv3, ale nie je open source, nakoľko obsahuje diskriminačnú požiadavku na dodávanie v rámci licencie SSPL nielen samotný kód aplikácie, 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é fungujú na dátach kľúč/hodnota a DBMS relačné databázy, ktoré sú funkčné a ľahko sa dotazujú. MongoDB podporuje ukladanie dokumentov vo formáte podobnom JSON, má pomerne flexibilný jazyk na vytváranie dotazov, môže vytvárať indexy pre rôzne uložené atribúty, poskytuje efektívne ukladanie binárnych veľkých objektov, podporuje operácie protokolovania na zmenu a pridávanie údajov do databázy, môže fungovať podľa paradigmy Map/Reduce podporuje replikáciu a vytváranie konfigurácií odolných voči chybám.

Hlavné novinky FerretDB 1.0

V tejto novej verzii, ktorá je prezentovaná, je zdôraznené, že boli implementované príkazy createIndexes a dropIndexes na vytvorenie a umiestnenie jedného alebo viacerých indexov do kolekcie okrem príkazu getMore bol implementovaný na zobrazenie novej časti načítaného výsledku od vykonávania príkazov, ktoré vracajú kurzor, ako napríklad nájsť a pridať.

Ďalšia zo zmien, ktorá sa odlišuje od novej verzie pridaná podpora pre operátora agregácie $sum na výpočet súčtu skupinových hodnôt, ako aj toho, čo bolo pridané podpora operátorov $limit a $skip obmedziť počet a preskočiť dokumenty pri pridávaní a že bola pridaná podpora operátora $count na počítanie dokumentov pri pridávaní.

Okrem toho je potrebné poznamenať, že bola 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 a tiež bola pridaná čiastočná podpora pre príkazy collStats , dbStats a dataSize na získanie štatistík kolekcie a databázy a veľkosti údajov.

Z ďalšie zmeny, ktoré vynikajú novej verzie:

  • Iterátory sa teraz používajú na zoradenie, obmedzenie, preskočenie a projekciu
  • Nárazové závislosti
  • Vylepšenia sledovania zdrojov
  • Pridané testy pre argument `preskočiť` `nájsť` a `počet
  • Zatvorte iterátor správne
  • Vylepšenia inicializácie veľkých čísel v testovacích údajoch

Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.

Pre záujemcov o kód by ste mali vedieť, že je napísaný v Go a je distribuovaný pod licenciou Apache 2.0.

A mali by to vedieť najlepší spôsob, ako otestovať FerretDB, je upraviť ho a spustiť na hostiteľovi (Linux, macOS alebo Windows) s PostgreSQL a ďalšími závislosťami spustenými v kontajneroch Docker cez Docker Compose.

V systéme Linux musí byť na hostiteľovi nainštalovaný docker. V systémoch macOS a Windows sa musí používať Docker Desktop, zatiaľ čo v systéme Windows musí byť nakonfigurovaný na používanie WSL 2 bez akejkoľvek distribúcie; všetky príkazy musia byť vykonané na hostiteľovi.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.