Article de reference

Base de données parallèle

Un système de base de données parallèle vise à améliorer les performances grâce à la parallélisation de diverses opérations, telles que le chargement des données, la création d'...

Un système de base de données parallèle vise à améliorer les performances grâce à la parallélisation de diverses opérations, telles que le chargement des données, la création d'index et l'évaluation des requêtes. Bien que les données puissent être stockées de manière distribuée, cette distribution est uniquement dictée par des considérations de performance. Les bases de données parallèles améliorent la vitesse de traitement et d'entrée/sortie en utilisant plusieurs processeurs et disques en parallèle. Les systèmes de bases de données centralisés et client-serveur ne sont pas suffisamment puissants pour gérer de telles applications. En traitement parallèle, de nombreuses opérations sont exécutées simultanément, contrairement au traitement séquentiel où les étapes de calcul sont effectuées séquentiellement. Les bases de données parallèles peuvent être globalement divisées en deux groupes : le premier groupe d'architectures est l'architecture multiprocesseur, dont les variantes sont les suivantes :

Architecture à mémoire partagée
Dans ce système, plusieurs processeurs partagent la mémoire vive (RAM) , mais chaque processeur dispose de son propre disque dur (HDD). Si de nombreux processus s'exécutent simultanément, la vitesse est réduite, tout comme pour un ordinateur dont les performances sont ralenties par l'exécution simultanée de nombreuses tâches.
Architecture de disque partagé
Chaque nœud possède sa propre mémoire principale, mais tous les nœuds partagent un stockage de masse, généralement un réseau de stockage (SAN ). En pratique, chaque nœud dispose également de plusieurs processeurs.
Architecture sans partage
Chaque nœud possède son propre stockage de masse ainsi qu'une mémoire principale.

L'autre groupe d'architectures est appelé architecture hybride, et comprend :

  • Architecture mémoire non uniforme (NUMA), qui implique un accès mémoire non uniforme .
  • Cluster (sans partage + disque partagé : SAN/NAS), formé par un groupe d'ordinateurs connectés.

Dans ce cas, des commutateurs ou des concentrateurs sont utilisés pour connecter différents ordinateurs ; c'est la solution la plus économique et la plus simple, car seules des topologies simples sont utilisées. L'utilisation de commutateurs est bien plus judicieuse .

Types de parallélisme

Parallélisme intra-requête
Une requête unique exécutée en parallèle à l'aide de plusieurs processeurs ou disques.
Parallélisme indépendant
L'exécution de chaque opération individuellement sur différents processeurs n'est envisagée que si elles peuvent être exécutées indépendamment les unes des autres. Par exemple, pour joindre quatre tables, deux peuvent être jointes sur un processeur et les deux autres sur un autre. La jointure finale peut être effectuée ultérieurement.
Parallélisme en pipeline
L'exécution des différentes opérations se fait en cascade. Par exemple, pour joindre trois tables, un processeur peut en joindre deux et transmettre les enregistrements du jeu de résultats au fur et à mesure de leur production à un autre processeur. Ce dernier joint alors la troisième table aux enregistrements entrants pour produire le résultat final.
Parallélisme intraopératoire
Exécution en parallèle d'opérations complexes ou volumineuses sur plusieurs processeurs. Par exemple, la clause ORDER BY d'une requête portant sur des millions d'enregistrements peut être parallélisée sur plusieurs processeurs.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index