A FerretDB 0.3 kiadása, a MongoDB PostgreSQL DBMS-en alapuló megvalósítása

Megjelent a FerretDB 0.3 projekt kiadása, amely lehetővé teszi a dokumentum-orientált DBMS MongoDB lecserélését PostgreSQL-re anélkül, hogy az alkalmazás kódját módosítaná. A FerretDB proxyszerverként van megvalósítva, amely a MongoDB-hívásokat SQL-lekérdezésekké fordítja PostgreSQL-be, ami lehetővé teszi a PostgreSQL tényleges tárolóként való használatát. A kód Go nyelven íródott, és az Apache 2.0 licenc alatt terjeszthető.

A migráció szükségessége a MongoDB saját SSPL licencre való átállása kapcsán merülhet fel, amely AGPLv3 licencen alapul, de nem nyitott, mivel diszkriminatív követelményt tartalmaz, hogy az SSPL licenc alatt ne csak magát az alkalmazáskódot szállítsák. , hanem a felhőszolgáltatás nyújtásában részt vevő összes összetevő forráskódja is.

A FerretDB elsődleges célközönsége azok a felhasználók, akik nem a MongoDB fejlett képességeit használják alkalmazásaikban, hanem egy teljesen nyitott szoftvercsomagot szeretnének használni. A fejlesztés jelenlegi szakaszában a FerretDB még mindig csak egy részét támogatja a MongoDB képességeinek, amelyeket a leggyakrabban használnak a tipikus alkalmazásokban. A jövőben azt tervezik, hogy teljes kompatibilitást érnek el a MongoDB illesztőprogramjaival, és lehetőséget biztosítanak arra, hogy a FerretDB-t a MongoDB átlátszó helyettesítőjeként használják.

A MongoDB egy rést foglal el a kulcs/érték adatokon működő gyors és méretezhető rendszerek és a működőképes és könnyen lekérdezhető relációs DBMS-ek között. A MongoDB támogatja a dokumentumok JSON-szerű formátumban való tárolását, meglehetősen rugalmas nyelve van a lekérdezések generálásához, képes indexeket létrehozni a különböző tárolt attribútumokhoz, hatékonyan biztosítja a nagy bináris objektumok tárolását, támogatja a műveletek naplózását az adatok módosításához és hozzáadásához, a Map/Reduce paradigma szerint működik, támogatja a replikációt és a hibatűrő konfigurációk építését.

A FerretDB 0.3 kiadás bemutatta a findAndModify parancsot, amely módosít egy dokumentumot, de visszaállítja az eredeti verzióját. Az $inc és a $set mezőfrissítési operátorok megvalósításra kerültek. Támogatás hozzáadva a skaláris adattípusok rendezéséhez.

Forrás: opennet.ru

Hozzászólás