Microsoft ka hapur kodin e DBMS DocumentDB, i ndërtuar mbi PostgreSQL

Kompania Microsoft shpalli hapjen e kodit të projektit DocumentDB, i cili mund të përdoret si një DBMS NoSQL i veçantë, si një platformë për ndërtimin e sistemeve të saj të ruajtjes, ose si një shtesë për ruajtjen e të dhënave në formatin BSON në DBMS PostgreSQL. Në praktikë, DocumentDB përdoret nga Microsoft si baza e produktit "Azure Cosmos DB for MongoDB", që ofron një ndërfaqe të pajtueshme me DBMS-in e orientuar ndaj dokumenteve MongoDB. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën MIT. Motori i DocumentDB është realizuar si një shtesë mbi DBMS PostgreSQL.

As in MongoDB, DocumentDB uses a JSON-like BSON (Binary JSON) format for storing structured documents, allowing for the creation of hierarchical structures where one document and arrays can be embedded within other documents and arrays. The key difference from JSON is the use of binary representation for data serialization. The project provides both NoSQL operations for creating, reading, updating, and deleting data in BSON format, as well as an API for standard PostgreSQL (DocumentDB can be viewed as a variant of PostgreSQL with BSON support). DocumentDB can utilize features such as full-text search and operations on vector and geospatial data types.

The project consists of two components:

  • pg_documentdb_core — an extension for PostgreSQL implementing the BSON type and operations for working with BSON data in PostgreSQL.
  • pg_documentdb — a public API for DocumentDB with basic operations for managing documents in BSON format, handling queries, and managing indexes.

Çlirimi i parĂ« i DocumentDB ofron mbĂ«shtetje pĂ«r operacione CRUD (krijim, lexim, azhurnim, fshirje), indekse pĂ«r fushat e veçanta BSON, indekse pĂ«r kĂ«rkimin me tekst tĂ« plotĂ« (kompatibĂ«l me RUM), kĂ«rkesa pĂ«r vektorĂ« dhe gjeohapĂ«sira (kompatibĂ«l me pg_vector dhe postgis), si dhe mundĂ«si pĂ«r formimin e kĂ«rkesave dhe agregimin e tĂ« dhĂ«nave BSON.

Projekti FerretDB ka kaluar tashmë në përdorimin e DocumentDB, i cili zhvillon implementimin e DBMS MongoDB mbi bazën e DBMS PostgreSQL. FerretDB lejon zëvendësimin e DBMS MongoDB të pronarëve me një stak të hapur plotësisht, të bazuar në PostgreSQL, pa bërë ndryshime në kodin e aplikacioneve. Nevoja për zëvendësimin e MongoDB është e lidhur me kalimin e kësaj DBMS në licencën SSPL, e cila bazohet në licencën AGPLv3, por nuk është e hapur, pasi përmban një kërkesë diskriminuese për dorëzimin nën licencën SSPL jo vetëm të kodit të aplikacionit, por edhe të burimeve të të gjithë komponenteve të angazhuara në ofrimin e shërbimit në cloud.

Fillimi i FerretDB përfshinte përkthimin e kërkesave nga MongoDB në pyetje SQL për PostgreSQL, por që nga versioni FerretDB 2.0, i cili është në fazën e kandidatëve për publikim, për implementimin e mbështetjes për formatin BSON është përdorur zgjerimi DocumentDB i PostgreSQL. Kalimi në përdorimin e DocumentDB ka lejuar përmirësimin e performancës të FerretDB më shumë se 20 herë për disa lloje ngarkesash. Nga novitetet e tjera, FerretDB 2.0 përmend përmirësimin e shkallës së përputhshmërisë me MongoDB, mundësinë e replikimit dhe mbështetje për kërkimin vektorial. Kodi i FerretDB është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster