Bases de données orientées documents : JSON et moteurs d'indexation
Sciences de l'information · Master 1
NoSQL orienté documents : JSON, schéma souple, comparaison au relationnel et moteurs d'indexation.
Introduction
Les bases orientées documents stockent des enregistrements sous forme de documents autonomes, le plus souvent en JSON, dont la structure peut varier d'un document à l'autre. Elles conviennent bien à des données hétérogènes comme des notices de métadonnées, des journaux ou des résultats d'extraction de textes.
Elles ne remplacent pas le relationnel : elles répondent à d'autres besoins, notamment la souplesse du schéma et la montée en charge. Elles se combinent souvent à des moteurs d'indexation pour la recherche plein texte dans des collections numérisées.
Objectifs d'apprentissage
- Décrire le modèle de document et le format JSON
- Comparer base orientée documents et base relationnelle
- Identifier des cas d'usage documentaires adaptés
Concepts clés
- Document
- Unité de stockage autonome en JSON, avec champs imbriqués et listes.
- Schéma souple
- Les documents d'une même collection peuvent avoir des champs différents.
- Dénormalisation
- On regroupe dans un document des données liées, au prix d'une redondance.
- Moteur d'indexation
- Un système spécialisé dans la recherche plein texte, souvent associé à un stockage de documents.
Conclusion
Relationnel et documents répondent à des besoins différents. Un professionnel de l'information choisit selon la nature des données, l'exigence d'intégrité et le besoin de recherche, et sait combiner les deux dans une même architecture.
Cartes
- Qu'est-ce qu'une base orientée documents ?
- Une base NoSQL qui stocke des documents structurés, généralement en JSON, regroupés en collections.
- Que signifie NoSQL ?
- Une famille de bases non exclusivement relationnelles, souvent « not only SQL ».
- Qu'est-ce qu'un schéma souple ?
- Une structure qui peut varier d'un document à l'autre sans modifier la base entière.
- Quel est l'avantage pour des notices hétérogènes ?
- On peut stocker des champs propres à un type de ressource sans colonnes vides.
- Quel est un inconvénient par rapport au relationnel ?
- Les jointures et les contraintes d'intégrité sont moins naturelles, et la redondance accrue complique les mises à jour.
- Qu'est-ce que la dénormalisation ?
- Le fait d'inclure dans un document des données liées pour accélérer la lecture, au prix de doublons.
- Que sont les propriétés ACID ?
- Atomicité, cohérence, isolation et durabilité, garanties classiques des transactions relationnelles.
- Qu'est-ce qu'un index inversé ?
- Une structure associant chaque terme aux documents qui le contiennent, base de la recherche plein texte.
- Quand choisir le relationnel plutôt qu'un document ?
- Quand les données sont très structurées, interconnectées et nécessitent une forte intégrité, comme un système de prêt.
- Citez un cas documentaire pour une base de documents.
- Stocker des notices de métadonnées issues de plusieurs schémas, ou des résultats d'extraction de textes numérisés.
Glossaire
- NoSQL
- Famille de bases de données non strictement relationnelles.
- Collection
- Ensemble de documents dans une base de documents.
- JSON
- Format textuel de documents avec champs et listes.
- Dénormalisation
- Regroupement de données liées dans une même structure.
- Index inversé
- Structure terme vers documents pour la recherche plein texte.
- ACID
- Propriétés garantissant la fiabilité des transactions.