ScholarGate
Assistant

Bases de données NoSQL

Les bases de données NoSQL sont des bases de données non relationnelles — clé-valeur, document, à colonnes larges et graphe — qui adoptent des modèles de données flexibles et des stratégies de distribution pour évoluer horizontalement et maintenir leur disponibilité, au détriment de certaines garanties relationnelles.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Une base de données NoSQL est une base de données qui s'écarte du modèle relationnel, organisant les données sous forme de paires clé-valeur, de documents, de colonnes larges et éparses, ou de graphes, et les distribuant généralement sur un cluster avec réplication et une cohérence assouplie pour atteindre l'évolutivité et la disponibilité.

Scope

Ce sujet couvre les principales catégories de systèmes NoSQL et leurs modèles de données : les magasins clé-valeur pour des recherches simples, les magasins de documents pour des enregistrements imbriqués, les magasins à colonnes larges pour des tables éparses et volumineuses, et les bases de données graphe pour des données fortement connectées. Il aborde les choix de conception communs à ces systèmes — le partitionnement (sharding), la réplication et la cohérence ajustable (tunable consistency) — ainsi que les modèles d'accès adaptés à chaque modèle. Il exclut la théorie générale de la cohérence (CAP et modèles de cohérence) et les frameworks de traitement, qui sont des sujets adjacents.

Core questions

  • Quel modèle de données chaque catégorie NoSQL (clé-valeur, document, à colonnes larges, graphe) offre-t-elle ?
  • Quels modèles d'accès et charges de travail conviennent à chaque catégorie ?
  • Comment les bases de données NoSQL partitionnent-elles (sharding) et répliquent-elles les données pour l'évolutivité et la disponibilité ?
  • Quelles fonctionnalités relationnelles (jointures, transactions, schémas) assouplissent-elles, et pourquoi ?
  • Comment les paramètres de cohérence ajustable permettent-ils aux applications d'équilibrer la latence et la fraîcheur des données ?

Key concepts

  • magasin clé-valeur
  • magasin de documents
  • magasin à colonnes larges
  • base de données graphe
  • partitionnement (sharding) et réplication
  • cohérence ajustable
  • flexibilité du schéma
  • modèles d'accès dénormalisés

Key theories

Modèles clé-valeur et à colonnes larges
Les magasins clé-valeur associent des clés opaques à des valeurs pour des recherches simples et rapides, tandis que les magasins à colonnes larges organisent les données en lignes avec des familles de colonnes flexibles et éparses ; les deux, exemplifiés par Dynamo et Bigtable, s'adaptent à d'énormes clusters grâce au partitionnement (sharding) et à la réplication.
Modèles de documents et de graphes
Les magasins de documents contiennent des enregistrements imbriqués auto-descriptifs (souvent JSON) et prennent en charge les requêtes sur leur structure, tandis que les bases de données graphe modélisent les entités et les relations sous forme de nœuds et d'arêtes optimisés pour la traversée de données fortement connectées.
Garanties assouplies pour l'évolutivité
Pour évoluer horizontalement et rester disponibles, de nombreuses bases de données NoSQL assouplissent les schémas, abandonnent les transactions multi-lignes et les jointures, et offrent une cohérence ajustable ou éventuelle, déplaçant une partie de la responsabilité de l'intégrité vers l'application.

Clinical relevance

Les bases de données NoSQL sont des éléments constitutifs largement utilisés des services internet : les magasins clé-valeur et à colonnes larges prennent en charge l'état de session, les catalogues et les données de séries chronologiques à une échelle massive, les magasins de documents conviennent aux données d'application flexibles, et les bases de données graphe alimentent les systèmes de recommandation et de détection de fraude, rendant la connaissance de leurs modèles essentielle pour l'ingénierie des données.

History

Le mouvement NoSQL est né du besoin des entreprises internet d'évoluer au-delà des bases de données relationnelles à nœud unique. Bigtable de Google (2006/2008) a introduit le modèle à colonnes larges et Dynamo d'Amazon (2007) le modèle clé-valeur hautement disponible et à cohérence éventuelle ; ces conceptions influentes ont engendré une génération de bases de données open source clé-valeur, document, à colonnes larges et graphe à la fin des années 2000 et dans les années 2010.

Key figures

  • Werner Vogels
  • Jeffrey Dean
  • Sanjay Ghemawat

Related topics

Seminal works

  • decandia2007
  • chang2008

Frequently asked questions

Comment choisir entre les magasins clé-valeur, de documents, à colonnes larges et de graphes ?
Faites correspondre le modèle au modèle d'accès : clé-valeur pour des recherches simples par une clé connue ; document pour des enregistrements imbriqués et autonomes interrogés par leurs champs ; à colonnes larges pour des tables très volumineuses et éparses avec un accès prévisible par clé de ligne ; et graphe pour des données dominées par les relations et les traversées, comme les réseaux sociaux ou les recommandations.
Les bases de données NoSQL prennent-elles en charge les transactions ?
Historiquement, de nombreuses bases de données NoSQL n'offraient que des opérations atomiques sur une seule clé et aucune transaction multi-enregistrements, les échangeant contre l'évolutivité. Cela a changé : un certain nombre de systèmes NoSQL modernes et 'NewSQL' offrent désormais des transactions multi-documents, voire distribuées, le support transactionnel varie donc considérablement et doit être vérifié pour chaque système.

Methods for this concept

Related concepts