Microsoft gerade veröffentlicht ein Open-Source-Datenbankstandard basierend auf PostgreSQL. DocumentDB ist eine Dokumentendatenbankplattform, die vollständig Open Source ist, da sie unter der MIT-Lizenz veröffentlicht wird.
Eine Dokumentendatenbank ist eine Art NoSQL-Datenbank zum Speichern, Abrufen und Verwalten von Daten in Form von Dokumenten. Diese Dokumente sind in Formaten wie JSON, BSON, XML oder Parcidos strukturiert. Dieser Datenbanktyp unterscheidet sich von relationalen Datenbanken (SQL) dadurch, dass er keine Tabellen mit Zeilen und Spalten verwendet, sondern die Daten als unabhängige Dokumente organisiert, was zu sehr flexiblen und skalierbaren Datenbanken führt.
Microsoft veröffentlicht Open-Source-Datenbankstandard
Die neue Plattform von Microsoft ermöglicht Entwicklern einen Standard, der die Leistungsfähigkeit von NoSQL-Datenbanken und die Flexibilität von PostgreSQL vereint. Microsoft verspricht, dass es keine versteckten Einschränkungen oder zusätzliche Kosten gibt. Sie werden in der Lage sein, DocumentDB zu integrieren und es in ihren eigenen Anwendungen zu ändern oder anzupassen.
Zur Optimierung der Datenspeicherung und -abläufe. DocumentDB besteht aus zwei Hauptkomponenten:
pg_documentdb_core
Diese benutzerdefinierte PostgreSQL-Erweiterung ermöglicht es dem Benutzer, mit dem BSON-Datenformat zu arbeiten (Binary JavaScript Object Notation), die in dieser Art von Datenbank weit verbreitet ist. Mit dieser Erweiterung können Sie:
- Bietet Unterstützung für die erweiterte BSON-Dokumentenverwaltung, einschließlich tief verschachtelter Strukturen.
- Es unterstützt viele Indizes: einfache, zusammengesetzte, mehrfeldige, Text- und Geoindizes (die von der PostGIS-Erweiterung unterstützt werden).
- Es ermöglicht Vektorsuchabfragen, die in generativen Anwendungen der künstlichen Intelligenz, zur Betrugs- und Anomalieerkennung, zur Ähnlichkeitssuche und in Empfehlungssystemen im E-Commerce und in Anwendungen zur Verarbeitung natürlicher Sprache verwendet werden.
pg_documentdb_ap
Mit diesem Modul können wir wichtige NoSQL-Operationen wie CRUD implementieren plus erweiterte Indizierungsfunktionen. Andererseits enthält es einen Authentifizierungsmechanismus, der auf SCRAM (Salted Challenge Response Authentication Mechanism) basiert, um die Sicherheit der Datenbanken zu erhöhen.
Erklären wir die Begriffe:
GRAUSAM
CRUD ist das Akronym zur Beschreibung der vier grundlegenden Operationen, die an Daten durchgeführt werden:
- Erstellen: Dabei handelt es sich um den Vorgang, bei dem ein neues Dokument zur Datenbank hinzugefügt wird.
- Lesen): Dabei handelt es sich um den Vorgang der Wiederherstellung eines Dokuments aus der Datenbank.
- Aktualisieren: Dabei handelt es sich um den Vorgang des Änderns der Datenbank.
- Löschen: Vorgang, bei dem ein Dokument aus der Datenbank gelöscht wird.
SCRAM
Der SCRAM-Authentifizierungsmechanismus besteht aus einem sicheren Authentifizierungsprotokoll, das den Austausch von Anmeldeinformationen zwischen dem Server und dem Client erleichtern sollDadurch wird das Risiko der Offenlegung von Passwörtern minimiert und sichergestellt, dass Passwörter nicht direkt über das Netzwerk gesendet, sondern zunächst mithilfe kryptografischer Techniken verarbeitet werden.
Wie teste ich DocumentDB?
Entwickler, die mit dieser Plattform arbeiten möchten, können den Quellcode aus dem offiziellen Repository auf GitHub herunterladen. Eine weitere Alternative ist die Installation mit Docker oder andere Methoden zum Konfigurieren einer lokalen Umgebung, die im Link am Anfang des Artikels zu finden sind. Darüber hinaus besteht die Möglichkeit, sich an Diskussionen über den Entwurf zu beteiligen, zum Projekt beizutragen und über die Discord-Kanäle aktuelle Informationen zu erhalten.
Benutzer, die eine gebrauchsfertige Umgebung benötigen, können DocumentDB problemlos in FerretDB integrieren. Dies ist ebenfalls eine Open-Source-Dokumentenlösung und basiert auf der DocumentDB-Engine. FerretDB verfügt über eine Schnittstelle, die das Dokumentdatenbankprotokoll implementiert und darauf ausgelegt ist, das NoSQL-Erlebnis ohne Kenntnisse von PostgreSQL bereitzustellen.
Ohne Zweifel ist es ein ehrgeiziges Ziel von Microsoft, DocumentDB zu einem offenen Standard für Dokumentdatenbanken zu machen. Das Projekt sieht vor, dass DocumentDB das Äquivalent des ANSI-Standards für relationale Datenbanken ist. Ziel ist es, Unterschiede zwischen NoSQL-Datenbankimplementierungen zu minimieren und ein konsistenteres Erlebnis für Entwickler zu schaffen.