ScholarGate
Assistant

Bases de données distribuées et parallèles

Les bases de données distribuées et parallèles répartissent les données et le traitement des requêtes sur plusieurs machines afin d'atteindre l'évolutivité, la disponibilité et des performances élevées, tout en préservant une vue cohérente des données.

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 distribuée stocke les données sur plusieurs sites en réseau qui apparaissent aux utilisateurs comme une base de données unique, et une base de données parallèle utilise plusieurs processeurs et disques (généralement à architecture sans partage) pour exécuter des opérations de base de données concurremment afin d'obtenir un débit plus élevé et une latence plus faible.

Scope

Ce domaine couvre la gestion des données sur de nombreux nœuds : comment les données sont partitionnées (fragmentées) et répliquées ; comment les requêtes sont traitées en parallèle sur les partitions et les sites distribués ; et comment les transactions sont validées de manière atomique et les répliques restent cohérentes grâce aux protocoles de validation et de consensus. Il aborde la distinction architecturale entre les bases de données parallèles à architecture sans partage (shared-nothing) et les bases de données géographiquement distribuées. Il constitue le complément spécifique aux bases de données des sujets généraux de l'informatique distribuée, qu'il cite mais ne duplique pas ; il exclut la théorie générale du consensus et des systèmes distribués au-delà de leur utilisation dans les bases de données.

Sub-topics

Core questions

  • Comment les données sont-elles partitionnées et répliquées sur les nœuds, et pourquoi ?
  • Comment les requêtes sont-elles exécutées en parallèle sur les partitions et les sites ?
  • Comment une transaction est-elle validée de manière atomique lorsqu'elle s'étend sur plusieurs nœuds ?
  • Comment les répliques restent-elles cohérentes en présence de défaillances ?
  • En quoi les conceptions parallèles (à architecture sans partage) et géographiquement distribuées diffèrent-elles ?

Key concepts

  • fragmentation horizontale et verticale
  • réplication
  • architecture sans partage
  • parallélisme partitionné et par pipeline
  • traitement distribué des requêtes
  • validation en deux phases
  • consensus et cohérence des répliques
  • accélération (speedup) et mise à l'échelle (scaleup)

Key theories

Partitionnement et réplication des données
Les tables sont fragmentées horizontalement ou verticalement et distribuées sur les nœuds pour l'évolutivité, et des copies sont répliquées pour la disponibilité et les performances de lecture ; la stratégie de placement détermine l'équilibrage de charge et la tolérance aux pannes.
Traitement parallèle des requêtes
Les bases de données parallèles à architecture sans partage atteignent une accélération (speedup) et une mise à l'échelle (scaleup) quasi linéaires en partitionnant les données et en exécutant des opérateurs tels que les balayages (scans) et les jointures en parallèle sur les nœuds, exploitant le parallélisme partitionné et par pipeline.
Validation distribuée et cohérence des répliques
Les protocoles de validation atomique, tels que la validation en deux phases, garantissent des résultats tout-ou-rien sur l'ensemble des sites, et les protocoles de consensus et de réplication maintiennent la cohérence des répliques malgré les défaillances des nœuds et du réseau.

Clinical relevance

Les bases de données distribuées et parallèles permettent aux systèmes de données de s'adapter aux charges de travail d'Internet : les entrepôts de données parallèles exécutent des analyses sur des pétaoctets, les bases de données géographiquement distribuées maintiennent les services mondiaux disponibles et à faible latence, et les techniques de partitionnement, de réplication et de validation présentées ici sous-tendent presque toutes les plateformes de données à grande échelle.

History

La recherche sur les bases de données distribuées a débuté à la fin des années 1970 avec des systèmes tels que SDD-1 et Ingres distribué. Les années 1980 ont vu l'émergence de bases de données parallèles à architecture sans partage (Gamma, Teradata) que DeWitt et Gray ont présenté en 1992 comme l'avenir de la gestion des données haute performance. Les exigences à l'échelle d'Internet ont ensuite conduit au développement des systèmes partitionnés et répliqués qui définissent les plateformes de données cloud modernes.

Key figures

  • M. Tamer Özsu
  • Patrick Valduriez
  • David DeWitt
  • Jim Gray

Related topics

Seminal works

  • ozsu2011
  • dewitt1992
  • silberschatz2019

Frequently asked questions

Quelle est la différence entre une base de données distribuée et une base de données parallèle ?
Une base de données parallèle utilise de nombreux processeurs et disques étroitement couplés, généralement dans un seul emplacement avec une interconnexion rapide (souvent un cluster à architecture sans partage), pour exécuter les requêtes plus rapidement. Une base de données distribuée répartit les données sur des sites distincts, souvent géographiquement dispersés, pour la disponibilité et la localité. La distinction tend à s'estomper, mais les bases de données parallèles mettent l'accent sur les performances et les bases de données distribuées sur la distribution et l'autonomie.
Pourquoi l'architecture sans partage est-elle l'architecture parallèle dominante ?
Dans une conception à architecture sans partage, chaque nœud possède son propre CPU, sa propre mémoire et son propre disque, de sorte qu'il n'y a pas de ressource centrale susceptible de devenir un goulot d'étranglement à mesure que des nœuds sont ajoutés. Cela permet au système d'atteindre une accélération (speedup) et une mise à l'échelle (scaleup) quasi linéaires, c'est pourquoi elle est devenue l'architecture standard pour les bases de données parallèles et analytiques évolutives.

Methods for this concept

Related concepts