Microsoft avas PostgreSQL-pÔhise DocumentDB andmebaasi lÀhtekood

Microsoft teatas DocumentDB projekti avamisest, mida saab kasutada iseseisva NoSQL andmebaasina, platvormina isiklike hoidmisĂŒsteemide loomiseks vĂ”i lisandina andmete hoidmiseks BSON formaadis PostgreSQL andmebaasis. Praktiliselt kasutatakse DocumentDB-d Microsoftis toote «Azure Cosmos DB for MongoDB» aluseks, mis pakub liidest, mis on ĂŒhilduv dokumendipĂ”hise andmebaasi MongoDB-ga. Projekti kood on kirjutatud C keeles ja jagatakse MIT litsentsi all. DocumentDB mootor on rakendatud PostgreSQL andmebaasi laiendina.

Nagu MongoDB-s, kasutatakse DocumentDB-s struktureeritud dokumentide hoidmiseks JSON-taolise formaadi BSON (Binaarne JSON), mis vĂ”imaldab luua hierarhilisi struktuure, kus ĂŒhed dokumendid ja massiivid vĂ”ivad olla sisse embeditud teiste dokumentide ja massiivide sisse. Peamine erinevus JSON-ist on andmete serialiseerimise kasutamine binaarsesse vormingusse. Projekt pakub nii NoSQL-operatsioonide jaoks andmete loomist, lugemist, uuendamist ja kustutamist BSON formaadis, kui ka API-d tavalise PostgreSQL jaoks (DocumentDB-d vĂ”ib pidada PostgreSQL-i variandiks, mis toetab BSON-i). DocumentDB-s saab kasutada teadlikke tĂ€istekstiotsingu, operatsioone vektorite ja georuumiliste andmetĂŒĂŒpide ĂŒle.

Projekt koosneb kahest komponendist:

  • pg_documentdb_core — PostgreSQL laiendus, mis rakendab BSON tĂŒĂŒpi ja operatsioone BSON andmetega töötamiseks PostgreSQL-is.
  • pg_documentdb — avalik DocumentDB API, mis pakub pĂ”hioperatsioone BSON formaadis dokumentidega töötamiseks, pĂ€ringute töötlemiseks ja indeksite haldamiseks.

Esimene DocumentDB vĂ€ljaanne toetab CRUD operatsioone (loomine, lugemine, uuendamine, kustutamine), indekseerimist eraldi BSON vĂ€ljade jaoks, tĂ€istekstiotsingu indekseid (ĂŒhilduvad RUM-iga), vektorilisi ja georuumilisi pĂ€ringuid (ĂŒhilduvad pg_vector ja postgis-ga), vĂ”imalusi pĂ€ringute koostamiseks ja BSON andmete agregatsiooniks.

DocumentDB on juba kasutusele vĂ”etud FerretDB projekti poolt, mis arendab MongoDB andmebaasi rakendust PostgreSQL andmebaasi pĂ”hjal. FerretDB vĂ”imaldab ilma rakenduste koodi muutmata asendada patenteeritud dokumentide pĂ”hist andmebaasi MongoDB tĂ€iesti avatud tarkvara tehnoloogia, mis pĂ”hineb PostgreSQL-l. MongoDB asendamise vajadus tuleneb asjaolust, et see andmebaas on lĂ€inud ĂŒle SSPL litsentsile, mis pĂ”hineb AGPLv3 litsentsil, kuid pole avatud, kuna see sisaldab diskrimineerivat nĂ”uet tarnida SSPL litsentsi alusel mitte ainult rakenduse koodi, vaid ka kĂ”igi komponentide lĂ€htekoodi, mis on seotud pilveteenuse pakkumisega.

Alguses piirdus FerretDB töö MongoDB pĂ€ringute tĂ”lkimisega SQL-pĂ€ringuteks PostgreSQL-le, kuid alates FerretDB 2.0 versioonist, mis on kandidaadietapis, on BSON formaadi toetamiseks kasutusele vĂ”etud PostgreSQL-laiendus DocumentDB. Üleminek DocumentDB kasutamisele on vĂ”imaldanud FerretDB jĂ”udlust mĂ”nes, koormuse tĂŒĂŒbis enam kui 20 korda suurendada. FerretDB 2.0 muudatuste seas on mĂ€rgitud ka parem ĂŒhilduvus MongoDB-ga, replikatsiooni vĂ”imalus ja vektorkohtingu tugi. FerretDB kood on kirjutatud Go keeles ja jagatakse Apache 2.0 litsentsi alusel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster