Microsoft nettopp sluppet en åpen kildekode-databasestandard basert på PostgreSQL. DocumentDB er en dokumentdatabaseplattform som er fullstendig åpen kildekode ettersom den er utgitt under MIT-lisensen.
En dokumentdatabase er en type NoSQL-database beregnet på å lagre, hente og administrere data i form av dokumenter. Disse dokumentene er strukturert i formater som JSON, BSON, XML eller parcidos. Denne typen databaser skiller seg fra relasjonsdatabaser (SQL) ved at de ikke bruker tabeller med rader og kolonner, fordi de organiserer dataene som uavhengige dokumenter, resulterer dette i svært fleksible og skalerbare databaser.
Microsoft slipper åpen kildekode-databasestandard
Microsofts nye plattform lar utviklere ha en standard som kombinerer kraften til NoSQL-databaser og fleksibiliteten til PostgreSQL. Microsoft lover at det ikke er noen skjulte begrensninger eller ekstra kostnader. De vil være i stand til å integrere DocumentDB, endre eller tilpasse det i sine egne applikasjoner.
For å optimalisere datalagring og drift. DocumentDB er strukturert på to hovedkomponenter:
pg_documentdb_core
Denne tilpassede PostgreSQL-utvidelsen lar brukeren jobbe med BSON-dataformatet (Binary JavaScript Object Notation), som er mye brukt i denne typen databaser. Med denne utvidelsen kan du:
- Gir støtte for avansert BSON-dokumenthåndtering, inkludert dypt nestede strukturer.
- Den støtter mange indekser: enkel, sammensatt, multifelt, tekst og geospatial (som støttes av PostGIS-utvidelsen).
- Den muliggjør vektorsøk brukt i generative kunstig intelligens-applikasjoner, svindel- og anomalideteksjon, likhetssøk og anbefalingssystemer i e-handel og naturlig språkbehandlingsapplikasjoner.
pg_documentdb_ap
Med denne modulen kan vi implementere viktige NoSQL-operasjoner som CRUD pluss avanserte indekseringsfunksjoner. På den annen side inneholder den en autentiseringsmekanisme som er basert på SCRAM (Salted Challenge Response Authentication Mechanism) for å forsterke sikkerheten til databasene.
La oss forklare vilkårene:
ULIK
CRUD er akronymet som brukes for å beskrive de fire grunnleggende operasjonene som utføres på data:
- Skape: Det er operasjonen med å legge til et nytt dokument til databasen.
- Lese): Det er operasjonen for å gjenopprette et dokument fra databasen.
- Oppdatering: Det er operasjonen med å endre databasen.
- Slett: Operasjon der et dokument slettes fra databasen.
SCRAM
SCRAM-autentiseringsmekanismen Den består av en sikker autentiseringsprotokoll som er designet for å gjøre det enklere å utveksle legitimasjon mellom serveren og klienten., minimere risikoen for passordeksponering og sikre at passord ikke sendes direkte via nettverket, men først behandles ved hjelp av kryptografiteknikker.
Hvordan teste DocumentDB?
Utviklere som ønsker å jobbe med denne plattformen kan laste ned kildekoden fra det offisielle depotet på GitHub. Et annet alternativ er installasjon ved hjelp av Docker eller andre metoder for å konfigurere et lokalt miljø som du finner i lenken i begynnelsen av artikkelen. I tillegg er det mulig å delta i diskusjoner om designet og bidra til prosjektet og få oppdatert informasjon gjennom Discord-kanalene.
For brukere som trenger et miljø som er klart til bruk, kan de enkelt integrere DocumentDB med FerretDB, som også er en åpen kildekode dokumentløsning og er basert på DocumentDB-motoren. FerretDB har et grensesnitt som implementerer dokumentdatabaseprotokollen og er designet for å gi NoSQL-opplevelsen uten å ha kunnskap om PostgreSQL.
Uten tvil er det en ambisiøs forpliktelse fra Microsofts side å prøve å gjøre DocumentDB til en åpen standard for dokumentdatabaser. Prosjektet er at DocumentDB skal være ekvivalent med ANSI-standarden for relasjonsdatabaser. Målet er å minimere forskjeller mellom NoSQL-databaseimplementeringer og skape en mer konsistent opplevelse for utviklere.