Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DocumentDB basiert auf DocumentDB, einer Open-Source-Dokumentdatenbankplattform. Dieser Artikel bietet eine Übersicht über DocumentDB, seine Features, Architektur und wie Sie zu dieser Technologie beitragen oder verwenden können.
Was ist DocumentDB?
DocumentDB ist eine uneingeschränkte Open-Source-Plattform für Dokumentdatenspeicher, die auf dem PostgreSQL-Modul basieren. Sie dient als Grundlage für Azure DocumentDB und bietet eine leistungsstarke und flexible Lösung für NoSQL-Datenbankanforderungen.
DocumentDB ist eine wirklich Open-Source MongoDB-Implementierung
Im Gegensatz zu anderen MongoDB-Engines mit restriktiver Lizenzierung wie SSPL verwendet DocumentDB die zulässige MIT-Lizenz. Dies bedeutet, dass Entwickler uneingeschränkte Freiheit haben, die Software ohne kommerzielle Lizenzgebühren oder Nutzungseinschränkungen zu verwenden, zu ändern und zu verteilen. Im Gegensatz zur serverseitigen öffentlichen Lizenz (Server Side Public License, SSPL) von MongoDB, die bestimmte Verwendungen einschränken kann, garantiert die MIT-Lizenz von DocumentDB echte Open-Source-Freiheit.
DocumentDB ist multicloud und herstellerunabhängig.
DocumentDB bietet eine tragbare, interoperable Lösung für Dokumentdatenspeicher. Basierend auf PostgreSQL können Entwickler ihre Anwendungen in verschiedenen Cloudanbietern oder lokal bereitstellen, wodurch die Anbietersperrung vermieden wird. Mit dieser Flexibilität können Organisationen die beste Infrastruktur für ihre Anforderungen auswählen, ohne die Datenbankfunktionen zu beeinträchtigen.
DocumentDB basiert auf PostgreSQL, einem Game-Changer für NoSQL-Datenbanken
Da die Unterscheidung zwischen NoSQL und relationalen Datenbanken verschwommen wird, überbrückt DocumentDB diese Lücke, um eine überlegene Dokumentdatenbankumgebung für die meisten skalierbaren Workloads bereitzustellen. Es kombiniert die Stärken beider Seiten und bietet die Flexibilität und Skalierbarkeit, die in der Regel mit NoSQL-Datenbanken verbunden ist, während er die Leistungsfähigkeit und umfangreiche Feature-Set von PostgreSQL nutzt – eine der am meisten angenommenen und angesehenen Open-Source-Datenbanken heute. Diese Grundlage bietet Robustität, Zuverlässigkeit und Zugriff auf das Ökosystem der Tools und Erweiterungen von PostgreSQL. Entwickler können von der kontinuierlichen Weiterentwicklung und umfangreichen Communityunterstützung von PostgreSQL profitieren und gleichzeitig die Flexibilität einer Dokumentdatenbank genießen.
Wichtige Merkmale
DocumentDB bietet mehrere wichtige Features, die es zu einer robusten Wahl für Dokumentdatenbankvorgänge machen:
- BSON-Dokumentanalyse und -manipulation: Effiziente Verarbeitung von Binär-JSON-Dokumenten (Binary JSON, BSON) auf allen Schachtelungsebenen.
- Erweiterte Indizierungsfunktionen: Unterstützung für einzelne Felder, Multischlüssel, Verbund-, Text- und Geospatialindizes.
- Vektorsuchabfragen: Unterstützt von der pg_vector PostgreSQL Erweiterung, die verschiedene KI- und Machine Learning-Anwendungen ermöglicht.
- Authentifizierungsmechanismus: Umfasst die SCRAM-Authentifizierung (Salted Challenge Response Authentication Mechanism).
- Geospatialabfragen: Verwenden der Funktionen der PostGIS-Erweiterung.
- Vollständige Decimal128-Unterstützung: Unterstützt von Intel Floating Point Math Library.
- Regex-Unterstützung: Verwenden des PCRE2-Projekts
Architektur
DocumentDB besteht aus zwei primären Komponenten:
- pg_documentdb_core: Eine benutzerdefinierte PostgreSQL-Erweiterung zur Optimierung der BSON-Datentypunterstützung in PostgreSQL.
- pg_documentdb_api: Die Datenebene, die CRUD-Vorgänge, Abfragefunktionen und Die Indexverwaltung implementiert.
Diese Architektur ermöglicht das Erstellen einer End-to-End-NoSQL-Datenbankbenutzeroberfläche über dem PostgreSQL-Modul.
Beitragen zu DocumentDB
Als Open-Source-Projekt begrüßt DocumentDB Beiträge aus der Community. Sie können mit folgendem Beitrag beitragen:
- Markieren, Forken und Einreichen von Pull-Anfragen auf GitHub
- Melden von Problemen oder Vorschlagen von Verbesserungen
- Teilnehmen an Diskussionen über den #documentdb Kanal auf dem Microsoft OSS Discord-Server
Erste Schritte mit DocumentDB
So beginnen Sie mit der lokalen Verwendung von DocumentDB:
2. Klonen Sie das DocumentDB-Repository.
git clone https://github.com/documentdb/documentdb.git
3. Erstellen Sie das Docker-Image. Navigieren Sie zu dem geklonten Repository.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Führen Sie das Docker-Image als Container aus.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Erstellen und Bereitstellen der Binärdateien
cd code
make
sudo make install
6. Initialisieren Sie den DocumentDB-Server, und verwalten Sie Abhängigkeiten.
./scripts/start_oss_server.sh -t documentdb
7. Stellen Sie eine Verbindung mit der psql-Shell her.
psql -p 9712 -h localhost -d postgres
Nachdem Sie diese Schritte ausgeführt haben, sind Sie jetzt bereit, DocumentDB lokal zu verwenden.
Häufig gestellte Fragen
Was ist DocumentDB und wie bezieht es sich auf Azure DocumentDB?
DocumentDB ist eine uneingeschränkte Open-Source-Plattform für Dokumentdatenspeicher, die auf dem PostgreSQL-Modul basieren. Sie dient als Grundlage für Azure DocumentDB und bietet eine leistungsstarke und flexible Lösung für NoSQL-Datenbankanforderungen.
Wie verhält sich die Lizenzierung von DocumentDB im Vergleich zu anderen MongoDB-Implementierungen?
DocumentDB verwendet die zulässige MIT-Lizenz, mit der Entwickler die volle Freiheit haben, die Software ohne kommerzielle Lizenzgebühren oder Nutzungseinschränkungen zu verwenden, zu ändern und zu verteilen. Dies unterscheidet sich von einigen serverseitigen öffentlichen Lizenz (SSPL) von MongoDB-Anbietern, die bestimmte Verwendungen einschränken können.
Kann DocumentDB in verschiedenen Cloudanbietern verwendet werden?
Ja, DocumentDB ist multicloud und anbieterunabhängig. Basierend auf PostgreSQL können Entwickler ihre Anwendungen in verschiedenen Cloudanbietern oder lokal bereitstellen, die Anbietersperrung vermeiden und Flexibilität bei der Auswahl der besten Infrastruktur für ihre Anforderungen bieten.
Was sind die wichtigsten Features von DocumentDB?
DocumentDB bietet mehrere wichtige Features, einschließlich BSON-Dokumentanalyse und -manipulation, erweiterte Indizierungsfunktionen (Einzelfeld, Multischlüssel, Verbund, Text und Geospatial), Vektorsuchabfragen, die von pg_vector unterstützt werden, Authentifizierungsmechanismen wie SCRAM, Geospatialabfragen mithilfe von PostGIS, vollständiger Decimal128-Unterstützung und regex-Unterstützung mit PCRE2.
Wie können Entwickler zu DocumentDB beitragen?
Entwickler können zu DocumentDB beitragen, indem sie das Projekt auf GitHub mit einem Stern versehen, es „forken“ und Pull-Anfragen einreichen, Probleme melden oder Verbesserungen vorschlagen sowie an Diskussionen im #documentdb-Kanal auf dem Microsoft OSS Discord-Server teilnehmen.