Megjelent a FerretDB 1.0 verziója, amely lehetővé teszi a MongoDB dokumentum-orientált adatbázis PostgreSQL-ra való cseréjét anélkül, hogy módosításokat kellene végezni az alkalmazások kódjában. A FerretDB proxy szerverként működik, amely a MongoDB hívásokat SQL-lekérdezésekké alakítja át a PostgreSQL számára, lehetővé téve ezzel a PostgreSQL tényleges adattárolóként való használatát. Az 1.0 verziót az első stabil kiadásként jelzik, amely kész a széles körű használatra. A kód Go nyelven készült, és Apache 2.0 licenc alatt terjesztik.
A FerretDB fő célcsoportját azon felhasználók alkotják, akik nem használják a MongoDB kiterjesztett funkcióit az alkalmazásaikban, de szeretnék igénybe venni a teljesen nyílt forráskódú szoftverstacket. A FerretDB jelenlegi fejlesztési szakaszában a MongoDB leggyakrabban használt funkcióinak egy részhalmazát támogatja. A FerretDB bevezetésének szükségessége felmerülhet a MongoDB SSPL nem szabad licenszre való áttérése miatt, amely az AGPLv3 licenszen alapul, de nem nyílt, mivel diszkrét követelményt tartalmaz az SSPL licensz alatt nemcsak az alkalmazás kódjának, hanem az összes összetevő forráskódjának átadására is, amely részt vesz a felhőszolgáltatás nyújtásában.
A MongoDB a gyors és skálázható rendszerek és a relációs adatbázisok között helyezkedik el, amelyek funkcionalitása és kérdésformálási egyszerűsége jelentős. A MongoDB támogatja a dokumentumok tárolását JSON-szerű formátumban, elég rugalmas lekérdezési nyelvének köszönhetően különféle tárolt attribútumok indexelésére képes, hatékonyan biztosítja a nagy bináris objektumok tárolását, támogatja az adatok módosítására és hozzáadására vonatkozó műveletek naplózását, működhet a Map/Reduce paradigmájában, és támogatja a replikációt és a hibatűrő konfiguációk felállítását.
A FerretDB 1.0 verziójának változásai:
- Megvalósították a createIndexes és dropIndexes parancsokat egy vagy több index létrehozására és eltávolítására a gyűjteményhez.
- Megvalósították a getMore parancsot, amely újabb részt ad ki azon eredményekből, amelyeket a kurzort visszaadó parancsokból, például a find és aggregate, kaptak.
- Hozzáadták az $sum aggregáló operátor támogatását a csoportban lévő értékek összegének kiszámításához.
- Hozzáadták a $limit és $skip operátorok támogatását, amelyek korlátozzák a dokumentumok számát és átugorják őket aggregáció során.
- Hozzáadták a $count operátor támogatását a dokumentumok számlálásához aggregáláskor.
- Hozzáadták az $unwind operátor támogatását a bejövő dokumentumok tömbmezőinek kibővítéséhez, és tárolnak egy külön dokumentumot minden tömbelemhez.
- Részleges támogatást adtak a collStats, dbStats és dataSize parancsokhoz a gyűjtemény és az adatbázis statisztikáinak, valamint az adatok méretének lekérdezéséhez.
Forrás: opennet.ru
