Microsoft vient de sortir un standard de base de données open source basé sur PostgreSQL. DocumentDB est une plate-forme de base de données de documents entièrement open source car elle est publiée sous licence MIT.
Une base de données de documents est un type de base de données NoSQL destiné au stockage, à la récupération et à la gestion de données sous forme de documents. Ces documents sont structurés dans des formats tels que JSON, BSON, XML ou parcidos. Ce type de base de données diffère des bases de données relationnelles (SQL) en ce qu'elles n'utilisent pas de tables avec des lignes et des colonnes, car elles organisent les données sous forme de documents indépendants, ce qui donne des bases de données très flexibles et évolutives.
Microsoft publie une norme de base de données open source
La nouvelle plateforme de Microsoft permet aux développeurs de disposer d'un standard qui combine la puissance des bases de données NoSQL et la flexibilité de PostgreSQL. Microsoft promet qu'il n'y a pas de restrictions cachées ni de coûts supplémentaires. Ils pourront intégrer DocumentDB, le modifier ou le personnaliser dans leurs propres applications.
Pour optimiser le stockage et les opérations des données. DocumentDB est structuré sur deux composants principaux :
pg_documentdb_core
Cette extension PostgreSQL personnalisée permet à l'utilisateur de travailler avec le format de données BSON (Binary JavaScript Object Notation), largement utilisé dans ce type de base de données. Avec cette extension, vous pouvez :
- Prend en charge la gestion avancée des documents BSON, y compris les structures profondément imbriquées.
- Il prend en charge de nombreux index : simples, composites, multichamps, texte et géospatiaux (qui sont pris en charge par l'extension PostGIS).
- Il permet les requêtes de recherche vectorielles utilisées dans les applications d'intelligence artificielle générative, la détection de fraudes et d'anomalies, la recherche de similarité et les systèmes de recommandation dans les applications de commerce électronique et de traitement du langage naturel.
pg_documentdb_ap
Avec ce module, nous pouvons implémenter des opérations NoSQL importantes comme CRUD ainsi que des fonctionnalités d'indexation avancées. D'autre part, il intègre un mécanisme d'authentification basé sur SCRAM (Salted Challenge Response Authentication Mechanism) pour renforcer la sécurité des bases de données.
Expliquons les termes :
Cru
CRUD est l'acronyme utilisé pour décrire les quatre opérations de base effectuées sur les données :
- Créer: C'est l'opération d'ajout d'un nouveau document à la base de données.
- Lire) : C’est l’opération de récupération d’un document de la base de données.
- Mise à jour: C'est l'opération de modification de la base de données.
- Supprimer: Opération dans laquelle un document est supprimé de la base de données.
SCRAM
Le mécanisme d'authentification SCRAM Il s'agit d'un protocole d'authentification sécurisé conçu pour faciliter l'échange d'informations d'identification entre le serveur et le client., minimisant les risques d'exposition des mots de passe et garantissant que les mots de passe ne sont pas envoyés directement via le réseau mais sont d'abord traités à l'aide de techniques de cryptographie.
Comment tester DocumentDB ?
Les développeurs qui souhaitent travailler avec cette plateforme peuvent télécharger le code source depuis le référentiel officiel sur GitHub. Une autre alternative est l'installation à l'aide de Docker ou d'autres méthodes de configuration d'un environnement local qui peuvent être trouvées dans le lien au début de l'article. De plus, il est possible de participer aux discussions sur la conception, de contribuer au projet et d'obtenir des informations mises à jour via les canaux Discord.
Pour les utilisateurs qui ont besoin d'un environnement prêt à l'emploi, ils peuvent facilement intégrer DocumentDB à FerretDB, qui est également une solution documentaire open source et est basée sur le moteur DocumentDB. FerretDB possède une interface qui implémente le protocole de base de données documentaire et est conçue pour fournir l'expérience NoSQL sans avoir de connaissances sur PostgreSQL.
Il s'agit sans aucun doute d'un engagement ambitieux de la part de Microsoft d'essayer de faire de DocumentDB un standard ouvert pour les bases de données documentaires. Le projet est que DocumentDB soit l'équivalent de la norme ANSI pour les bases de données relationnelles. L'objectif est de minimiser les différences entre les implémentations de bases de données NoSQL et de créer une expérience plus cohérente pour les développeurs.