A FerretDB 0.3 már megjelent, ismerje meg, mi újdonság ebben a MangoDB modernizációban

Néhány hete megosztjuk itt a blogon a híreket megváltoztatja a MangoDB projekt nevét amely lehetővé teszi, hogy a MongoDB dokumentum-orientált DBMS-ét PostgreSQL-re cserélje anélkül, hogy bármilyen változtatást kellene végrehajtania az alkalmazás kódjában.

Az új projekt neve FerretDB a közelmúltban pedig bejelentették a projekt 0.3-as verziójának kiadását. A FerretDB 0.3-as verziója bevezeti a findAndModify parancsot, amely módosít egy dokumentumot, de visszaadja annak eredeti verzióját, valamint többek között mezőfrissítési operátorokat.

Azok számára, akik még mindig nincsenek tisztában a FerretDB-vel, ezt tudniuk kell ezt proxyszerverként valósítják meg, amely a MongoDB-hívásokat SQL-lekérdezésekké fordítja PostgreSQL-be, amely lehetővé teszi a PostgreSQL valós tárhelyként való használatát.

A migráció igénye a MongoDB nem ingyenes 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 az alkalmazást biztosítsák. magát a kódot, hanem a felhőszolgáltatás nyújtásában részt vevő összes összetevő forráskódját is.

A FerretDB fő célközönsége azok a felhasználók, akik nem használják a speciális szolgáltatásokat a MongoDB-t az alkalmazásaikban, de teljesen nyitott szoftververmet szeretnének használni.

A jelenlegi fejlődési szakaszban A FerretDB továbbra is csak a MongoDB szolgáltatásainak egy részét támogatja amelyeket leggyakrabban tipikus alkalmazásokban használnak. A jövőben azt tervezik, hogy elérik a MongoDB teljes illesztőprogram-támogatását, és lehetővé teszik a FerretDB használatát a MongoDB átlátszó helyettesítőjeként.

A MongoDB egy rést foglal el a kulcs/érték adatokkal működő gyors és méretezhető rendszerek, valamint 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 történő 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önféle tárolt attribútumokhoz, hatékony tárolást biztosít a bináris nagy objektumok számára, támogatja a műveletek naplózását az adatok megváltoztatá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 felépítését.

A különbségek miatt a PostgreSQL és a MongoDB json függvények szemantikájában, eltérés volt viselkedésében a különböző típusok összehasonlítása és rendezése során. A probléma megoldása érdekében a PostgreSQL-ből kivonnak egy mintát a redundáns adatokból, és az eredmény szűrése a FerretDB oldalon történik, ami lehetővé tette a MongoDB viselkedésének megismétlését a legtöbb helyzetben.

A FerretDB 0.3 fő újdonságai

Amint az elején említettük, a FerretDB 0.3 új verziója kiemelkedik a findAndModify parancsot, amely módosít egy dokumentumot, de visszaadja az eredeti verziót.

A többi változás, amely szembetűnő, az a negatív nulla kezelése javult, valamint a skaláris adattípusok megrendelésének támogatása is hozzáadásra került.

Szintén kiemeltek új mezőfrissítési operátorok implementálva: $inc és $set, plusz a skaláris adattípusok megrendelésének támogatása került hozzáadásra.

Másrészt megemlítik, hogy különféle fejlesztések történtek a PostgreSQL és MongoDB verziók kezelésében.

Amellett, hogy, azt is meg kell jegyezni, hogy a $mod operátor helytelen tesztjét javították, továbbá, hogy a tesztet minden ARM64 operációs rendszeren kiadták, és nagyobb láthatóságot adtak az útválasztó/proxy hibanaplózási szintjeihez.

A többi változás közül amelyek kiemelkednek ebből az új verzióból:

  • A CODEOWNERS frissítése
  • Dummy vezérlők szinkronizálása és pg
  • Nevezze át az OP_*konstansokat OpCode*constants névre
  • A gopkg.in/yaml.v3 fejlesztése
  • A gopkg.in/yaml.v3 összeállítása az eszközökben
  • Típus elérési út létrehozása
  • Pánik váratlan sorrendi értékekben
  • Adjon hozzá néhány megjegyzést a függvényekhez és változókhoz
  • Távolítsa el a halott kódot

Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.