Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DocumentDB is gebouwd op DocumentDB, een opensource-documentdatabaseplatform. Dit artikel bevat een overzicht van DocumentDB, de functies, architectuur en hoe u kunt bijdragen aan of deze technologie kunt gebruiken.
Wat is DocumentDB?
DocumentDB is een volledig opensource-platform voor documentgegevensarchieven die zijn gebouwd op de PostgreSQL-engine. Het fungeert als de basis voor Azure DocumentDB en biedt een krachtige en flexibele oplossing voor NoSQL-databasebehoeften.
DocumentDB is een Echte Open-Source MongoDB-implementatie
In tegenstelling tot andere MongoDB-engines met beperkende licenties zoals SSPL, gebruikt DocumentDB de permissieve MIT-licentie. Dit betekent dat ontwikkelaars volledige vrijheid hebben om de software te gebruiken, te wijzigen en te distribueren zonder commerciële licentiekosten of gebruiksbeperkingen. In tegenstelling tot SSPL (Server Side Public License) van MongoDB, wat bepaalde toepassingen kan beperken, garandeert de MIT-licentie van DocumentDB echte opensource-vrijheid.
DocumentDB is multicloud en vendor-neutraal
DocumentDB biedt een draagbare, interoperabele oplossing voor documentgegevensarchieven. Op basis van PostgreSQL kunnen ontwikkelaars hun toepassingen implementeren in verschillende cloudproviders of on-premises, waardoor de vergrendeling van leveranciers wordt vermeden. Deze flexibiliteit stelt organisaties in staat om de beste infrastructuur voor hun behoeften te kiezen zonder afbreuk te doen aan databasemogelijkheden.
DocumentDB is gebouwd op PostgreSQL, een Game-Changer voor NoSQL-databases
Naarmate het onderscheid tussen NoSQL en relationele databases waziger wordt, overbrugt DocumentDB deze kloof om een superieure documentdatabaseervaring te bieden voor de meest schaalbare workloads. Het combineert de sterke punten van beide kanten, die de flexibiliteit en schaalbaarheid bieden die doorgaans zijn gekoppeld aan NoSQL-databases, terwijl de kracht en uitgebreide functieset van PostgreSQL wordt benut, een van de meestgebruikte en gerespecteerde opensource-databases. Deze basis biedt robuustheid, betrouwbaarheid en toegang tot het ecosysteem van hulpprogramma's en extensies van PostgreSQL. Ontwikkelaars kunnen profiteren van de continue evolutie en uitgebreide communityondersteuning van PostgreSQL, terwijl ze profiteren van de flexibiliteit van een documentdatabase.
Belangrijke functies
DocumentDB biedt verschillende belangrijke functies die het een robuuste keuze maken voor documentdatabasebewerkingen:
- BSON-document parseren en bewerken: Efficiënt omgaan met binaire JSON-documenten (BSON) op alle niveaus van nesten.
- Geavanceerde indexeringsmogelijkheden: Ondersteuning voor indexen met één veld, meerdere sleutels, samengestelde, tekst en georuimtelijke indexen.
- Vectorzoekopdrachten: Mogelijk gemaakt door de pg_vector PostgreSQL-extensie, die diverse AI- en machine learning-toepassingen ondersteunt.
- Verificatiemechanisme: Omvat SCRAM-verificatie (Salted Challenge Response Authentication Mechanism).
- Georuimtelijke query's: De mogelijkheden van de PostGIS-extensie gebruiken.
- Volledige ondersteuning voor Decimal128: Mogelijk gemaakt door Intel Floating Point Math Library.
- Regex-ondersteuning: Het PCRE2-project gebruiken
Architecture
DocumentDB bestaat uit twee primaire onderdelen:
- pg_documentdb_core: Een aangepaste PostgreSQL-extensie die BSON-gegevenstypeondersteuning optimaliseert in PostgreSQL.
- pg_documentdb_api: het gegevensvlak waarmee CRUD-bewerkingen, queryfunctionaliteit en indexbeheer worden geïmplementeerd.
Met deze architectuur kunt u een end-to-end NoSQL-databasegebruikerservaring bouwen boven op de PostgreSQL-engine.
Bijdragen aan DocumentDB
Als opensource-project verwelkomt DocumentDB bijdragen van de community. U kunt bijdragen door:
- Markeren, forken en het verzenden van pull-verzoeken op GitHub
- Problemen melden of verbeteringen voorstellen
- Deelnemen aan discussies over het #documentdb-kanaal op de Microsoft OSS Discord-server
Aan de slag met DocumentDB
Ga als volgende te werk om DocumentDB lokaal te gaan gebruiken:
2. Kloon de DocumentDB-opslagplaats.
git clone https://github.com/documentdb/documentdb.git
3. Maak de Docker-image. Navigeer naar de gekloonde repository.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Voer de Docker-image uit als een container.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Bouw en implementeer de binaire bestanden.
cd code
make
sudo make install
6. Initialiseer de DocumentDB-server en beheer afhankelijkheden.
./scripts/start_oss_server.sh -t documentdb
7. Maak verbinding met de psql-shell.
psql -p 9712 -h localhost -d postgres
Nadat u deze stappen hebt uitgevoerd, bent u nu klaar om DocumentDB lokaal te gebruiken.
FAQs
Wat is DocumentDB en hoe verhoudt het zich tot Azure DocumentDB?
DocumentDB is een volledig opensource-platform voor documentgegevensarchieven die zijn gebouwd op de PostgreSQL-engine. Het fungeert als de basis voor Azure DocumentDB en biedt een krachtige en flexibele oplossing voor NoSQL-databasebehoeften.
Hoe verhoudt de licentieverlening van DocumentDB zich tot andere MongoDB-implementaties?
DocumentDB maakt gebruik van de missieve MIT-licentie, waarmee ontwikkelaars volledige vrijheid hebben om de software te gebruiken, te wijzigen en te distribueren zonder commerciële licentiekosten of gebruiksbeperkingen. Dit contrasteert met enkele MongoDB-providers's SSPL (Server Side Public License), waardoor bepaalde toepassingen kunnen worden beperkt.
Kan DocumentDB worden gebruikt voor verschillende cloudproviders?
Ja, DocumentDB is multicloud en leverancierneutraal. Op basis van PostgreSQL kunnen ontwikkelaars hun toepassingen implementeren in verschillende cloudproviders of on-premises, vergrendeling van leveranciers voorkomen en flexibiliteit bieden bij het kiezen van de beste infrastructuur voor hun behoeften.
Wat zijn de belangrijkste functies van DocumentDB?
DocumentDB biedt verschillende belangrijke functies, waaronder BSON-documentparsering en -manipulatie, geavanceerde indexeringsmogelijkheden (één veld, meerdere sleutels, samengestelde, tekst en georuimtelijke), vectorzoekquery's mogelijk gemaakt door pg_vector, verificatiemechanismen zoals SCRAM, georuimtelijke query's met postGIS, volledige decimal128-ondersteuning en regex-ondersteuning met behulp van PCRE2.
Hoe kunnen ontwikkelaars bijdragen aan DocumentDB?
Ontwikkelaars kunnen bijdragen aan DocumentDB door pull-aanvragen te genereren, te forken en in te dienen op GitHub, problemen te melden of verbeteringen voor te stellen en deel te nemen aan discussies over het #documentdb-kanaal op de Microsoft OSS Discord-server.