A Microsoft nyilvánosságra hozta a PostgreSQL alapú DocumentDB adatbázis-kezelő rendszer forráskódját.

A Microsoft bejelentette a DocumentDB projekt forráskódjának nyilvánosságra hozatalát, amely külön NoSQL adatbázis-kezelő rendszerként, saját tárolási rendszerek létrehozásához platformként vagy a BSON formátumú adatok PostgreSQL adatbázisban való tárolásának kiegészítéseként használható. A gyakorlatban a DocumentDB-t a Microsoft az «Azure Cosmos DB for MongoDB» termék alapjaként alkalmazza, amely a MongoDB dokumentumorientált adatbázisával kompatibilis interfészt biztosít. A projekt kódja C nyelven készült és MIT licenc alatt terjesztik. A DocumentDB motorja a PostgreSQL adatbázis-kezelő rendszerre épített kiegészítő formájában valósul meg.

A DocumentDB-ben a JSON-szerű BSON (Bin­ary JSON) formátumot alkalmaznak a struktúrált dokumentumok tárolására, lehetővé téve hierarchikus struktúrák létrehozását, amelyekben egyes dokumentumok és tömbök beágyazódhatnak más dokumentumokba és tömbökbe. A legfontosabb eltérés a JSON-tól a bináris reprezentációban történő adat-sorozatás használata. A projekt NoSQL műveleteket kínál a BSON formátumban lévő adatok létrehozására, olvasására, frissítésére és törlésére, valamint API-t a natív PostgreSQL számára (a DocumentDB tekinthető a BSON-t támogató PostgreSQL egy változatának). A DocumentDB támogatja a teljes szöveges keresés lehetőségeit, valamint a vektoros és térbeli adatokkal kapcsolatos műveleteket.

A projekt két összetevőből áll:

  • pg_documentdb_core — PostgreSQL kiegészítő, amely megvalósítja a BSON típust és a BSON adatokkal történő munkavégzést lehetővé tevő műveleteket a PostgreSQL-ben.
  • pg_documentdb — a DocumentDB nyilvános API-ja az alapvető műveletekkel a BSON formátumú dokumentumok kezelése, a lekérdezések feldolgozása és az indexek kezelése céljából.

A DocumentDB első kiadása támogatja a CRUD (létrehozás, olvasás, frissítés, törlés) műveleteket, különféle BSON mezők indexelését, teljes szöveges keresési indexeket (kompatibilis a RUM-mal), vektoros és földrajzi lekérdezéseket (kompatibilis a pg_vector és a postgis szolgáltatásokkal), valamint a BSON adatok lekérdezésének és aggregálásának lehetőségeit.

A FerretDB projekt, amely a PostgreSQL alapú MongoDB adatbázis-kezelő rendszer megvalósítását fejleszti, már átállt a DocumentDB használatára. A FerretDB lehetővé teszi, hogy a MongoDB zártkörű dokumentum-orientált adatbázist kódmódosítás nélkül egy teljesen nyílt programstekké, PostgreSQL alapúra cseréljük. A MongoDB cseréjének szükségességét az SSPL licencre való áttérés indokolja, amely az AGPLv3 licencen alapul, de nem nyílt forráskódú, mivel diszkrét követelményeket tartalmaz az SSPL licenc alá történő, nemcsak az alkalmazás kódjának, hanem az összes kapcsolódó összetevő forráskódjának átadására vonatkozóan, amelyek az olyan felhőszolgáltatás nyújtásában érintettek.

A FerretDB működése kezdetben a MongoDB-hez intézett lekérdezések SQL kérdésekké való transzformálására korlátozódott a PostgreSQL-hez, de a FerretDB 2.0 verziójától, amely már a kiadásra jelölt fázisban van, a BSON formátum támogatásának megvalósításához a DocumentDB PostgreSQL bővítményt használnak. A DocumentDB használatára való áttérés lehetővé tette a FerretDB teljesítményének több mint 20-szoros növelését egyes terhelési típusok esetén. A FerretDB 2.0 egyéb újdonságai közé tartozik a MongoDB-vel való jobb kompatibilitás, a replikáció lehetősége és a vektoros keresés támogatása. A FerretDB kódja Go nyelven íródott, és az Apache 2.0 licenc alatt válik elérhetővé.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster