Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DocumentDB est basé sur DocumentDB, une plateforme de base de données de documents open source. Cet article fournit une vue d’ensemble de DocumentDB, de ses fonctionnalités, de son architecture et de la façon dont vous pouvez contribuer ou utiliser cette technologie.
Qu’est-ce que DocumentDB ?
DocumentDB est une plateforme open source entièrement permissive pour les magasins de données de documents basés sur le moteur PostgreSQL. Il sert de base pour Azure DocumentDB, fournissant une solution puissante et flexible pour les besoins de base de données NoSQL.
DocumentDB est une implémentation Vraiment Open-Source MongoDB
Contrairement à d’autres moteurs MongoDB avec des licences restrictives telles que SSPL, DocumentDB utilise la licence MIT permissive. Cela signifie que les développeurs disposent d’une liberté totale d’utilisation, de modification et de distribution du logiciel sans frais de licence commerciale ou restrictions d’utilisation. Contrairement à la licence publique côté serveur (SSPL) de MongoDB, qui peut limiter certaines utilisations, la licence MIT de DocumentDB garantit une véritable liberté open source.
DocumentDB est multicloud et indépendant du fournisseur
DocumentDB fournit une solution portable et interopérable pour les magasins de données de documents. Basé sur PostgreSQL, il permet aux développeurs de déployer leurs applications sur différents fournisseurs de cloud ou locaux, ce qui évite le verrouillage du fournisseur. Cette flexibilité permet aux organisations de choisir la meilleure infrastructure pour leurs besoins sans compromettre les fonctionnalités de base de données.
DocumentDB est basé sur PostgreSQL, un Game-Changer pour les bases de données NoSQL
Étant donné que la distinction entre les bases de données NoSQL et relationnelles devient plus floue, DocumentDB permet de combler cet écart afin de fournir une expérience de base de données de document supérieure pour la plupart des charges de travail évolutives. Il combine les forces des deux côtés, offrant la flexibilité et l’extensibilité généralement associées aux bases de données NoSQL, tout en exploitant l’ensemble de fonctionnalités puissant et étendu de PostgreSQL – l’une des bases de données open source les plus adoptées et respectées aujourd’hui. Cette base fournit une robustesse, une fiabilité et un accès à l’écosystème d’outils et d’extensions de PostgreSQL. Les développeurs peuvent tirer parti de l’évolution continue de PostgreSQL et d’une prise en charge étendue de la communauté tout en bénéficiant de la flexibilité d’une base de données de documents.
Principales fonctionnalités
DocumentDB offre plusieurs fonctionnalités clés qui en font un choix robuste pour les opérations de base de données de documents :
- Analyse et manipulation de documents BSON : Gérez efficacement les documents JSON binaires (BSON) à tous les niveaux d’imbrication.
- Fonctionnalités d’indexation avancées : Prise en charge des index à champ unique, multi-clé, composés, textuels et géospatiaux.
- Requêtes de recherche vectorielle : Optimisé par l’extension pg_vector PostgreSQL, ce qui permet diverses applications d’IA et de Machine Learning.
- Mécanisme d’authentification : Inclut l’authentification SCRAM (Salted Challenge Response Authentication Mechanism).
- Requêtes géospatiales : Utilisation des fonctionnalités de l’extension PostGIS.
- Prise en charge complète de Decimal128 : Optimisé par Intel Floating Point Math Library.
- Prise en charge des expressions régulières : Utilisation du projet PCRE2
Architecture
DocumentDB se compose de deux composants principaux :
- pg_documentdb_core : extension PostgreSQL personnalisée qui optimise la prise en charge du type de données BSON dans PostgreSQL.
- pg_documentdb_api : plan de données implémentant les opérations CRUD, les fonctionnalités de requête et la gestion des index.
Cette architecture permet de créer une expérience utilisateur de base de données NoSQL de bout en bout au-dessus du moteur PostgreSQL.
Contribution à DocumentDB
En tant que projet open source, DocumentDB accueille les contributions de la communauté. Vous pouvez contribuer par :
- Mettre en favori, bifurquer et envoyer des pull requests sur GitHub
- Signaler des problèmes ou suggérer des améliorations
- Participation à des discussions sur le canal #documentdb sur le serveur Discord Microsoft OSS
Prise en main de DocumentDB
Pour commencer à utiliser DocumentDB localement :
2. Clonez le référentiel DocumentDB.
git clone https://github.com/documentdb/documentdb.git
3. Créez l’image Docker. Accédez au référentiel cloné.
docker build . -f .devcontainer/Dockerfile -t documentdb
4. Exécutez l’image Docker en tant que conteneur.
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
5. Générez et déployez les fichiers binaires.
cd code
make
sudo make install
6. Initialisez le serveur DocumentDB et gérez les dépendances.
./scripts/start_oss_server.sh -t documentdb
7. Connectez-vous à l’interpréteur de commandes psql.
psql -p 9712 -h localhost -d postgres
Après avoir suivi ces étapes, vous êtes maintenant prêt à utiliser DocumentDB localement.
Questions fréquentes (FAQ)
Qu’est-ce que DocumentDB et comment est-il lié à Azure DocumentDB ?
DocumentDB est une plateforme open source entièrement permissive pour les magasins de données de documents basés sur le moteur PostgreSQL. Il sert de base pour Azure DocumentDB, fournissant une solution puissante et flexible pour les besoins de base de données NoSQL.
Comment les licences de DocumentDB sont-elles comparées à d’autres implémentations MongoDB ?
DocumentDB utilise la licence MIT permissive, qui permet aux développeurs d’utiliser, de modifier et de distribuer le logiciel sans frais de licence commerciale ni restrictions d’utilisation. Cela contraste avec certaines licences publiques côté serveur (SSPL) des fournisseurs MongoDB, qui peuvent limiter certaines utilisations.
DocumentDB peut-il être utilisé sur différents fournisseurs de cloud ?
Oui, DocumentDB est multicloud et indépendant du fournisseur. Basé sur PostgreSQL, il permet aux développeurs de déployer leurs applications sur différents fournisseurs de cloud ou locaux, d’éviter le verrouillage du fournisseur et de fournir une flexibilité pour choisir la meilleure infrastructure pour leurs besoins.
Quelles sont les principales fonctionnalités de DocumentDB ?
DocumentDB offre plusieurs fonctionnalités clés, notamment l’analyse et la manipulation de documents BSON, les fonctionnalités d’indexation avancées (champ unique, multi-clé, composé, texte et géospatial), les requêtes de recherche vectorielle alimentées par pg_vector, les mécanismes d’authentification, notamment SCRAM, les requêtes géospatiales à l’aide de PostGIS, la prise en charge complète de Decimal128 et la prise en charge des expressions régulières à l’aide de PCRE2.
Comment les développeurs peuvent-ils contribuer à DocumentDB ?
Les développeurs peuvent contribuer à DocumentDB en ajoutant une étoile, en forkant et en soumettant des pull requests sur GitHub, en signalant des problèmes ou en suggérant des améliorations, et en participant à des discussions sur le canal #documentdb sur le serveur Discord microsoft OSS.