Les bases de données NoSQL renoncent délibérément à la structure de table fixe et partagée du modèle relationnel, et obtiennent en échange un modèle de données choisi précisément pour correspondre à un type de problème particulier. Les bases de données documentaires stockent chaque enregistrement comme un document flexible et autonome, les magasins clé-valeur récupèrent les données par le biais d'une seule clé de recherche, et les bases de données en graphe représentent les relations entre enregistrements comme l'élément principal réellement stocké, plutôt que de traiter ces relations comme un ajout après coup superposé à des tables séparées.
Un schéma fixe et partagé devient une contrainte réelle pour des données irrégulières ou à recherche simple
Le schéma de table fixe d'une base de données relationnelle exige que chaque enregistrement d'un même type partage exactement la même structure, ce qui devient une contrainte réelle et pratique lorsque les données sont naturellement irrégulières, un catalogue de produits où différents types de produits ont véritablement des attributs différents, par exemple, ou lorsque l'objectif principal d'une application est une recherche extrêmement rapide et simple plutôt que des requêtes relationnelles complexes s'étendant sur de nombreuses tables séparées à la fois.
Trois modèles NoSQL véritablement différents existent parce qu'ils résolvent trois problèmes véritablement différents
Les bases de données documentaires conviennent bien aux enregistrements irréguliers et autonomes, en stockant chacun comme un document flexible sans forcer chaque enregistrement dans une forme partagée identique. Les magasins clé-valeur conviennent aux recherches extrêmement rapides et simples, comme un cache de session, où rien de plus complexe que récupérer une valeur par une clé exacte n'est jamais réellement nécessaire. Les bases de données en graphe conviennent aux données où les relations entre enregistrements, pas seulement les enregistrements eux-mêmes, sont ce qui doit véritablement être interrogé efficacement, les connexions d'un réseau social étant l'exemple courant le plus clair.
Ce dont nous ne sommes toujours pas certains
Le fait que les bases de données NoSQL échangent la structure partagée du modèle relationnel contre un modèle adapté à un problème précis relève d'une ingénierie de bases de données bien établie et non controversée. Ce qui relève véritablement d'un arbitrage d'ingénierie vivant et activement débattu, c'est le choix du bon modèle NoSQL, ou celui d'une base de données relationnelle à la place, pour une application réelle donnée, puisqu'une base de données documentaire peut finir par avoir besoin de jointures de type relationnel réimplémentées de manière maladroite dans le code applicatif à mesure que les données d'une application deviennent véritablement plus interconnectées au fil du temps, et prédire à l'avance si cela se produira pour une nouvelle application donnée reste un jugement réel et imparfait plutôt que quelque chose qu'une règle fixe pourrait trancher.
Ceci s'inscrit dans Modèles NoSQL (documentaire, clé-valeur, graphe), l'un des sept sujets en Bases de données, l'un des sept domaines en Informatique, l'une des dix-sept matières sur lesquelles l'appli peut t'interroger.