Bases de données, parallèles, informatique, performance
Un système parallèle de bases de données combine la gestion de bases de données et le traitement parallèle afin d'augmenter les performances et la disponibilité des données
Objectifs : Haute performance
Disponibilité des données
Possibilité d'extension
[...] Version parallèle partitionnement de R pour le hachage hybride Jointure par hachage non bloquant (pipeline hash join) consiste à : considérer les deux relations de façon symétrique comme relation interne et externe Lorsqu'un tuple d'une des deux relations arrive, il est tout d'abord haché comparé à la table de build de l'autre relation placé dans la table de build de sa propre relation quelque soit le résultat de comparaison Comparaison des algorithmes de jointure Le nombre de processeurs assignés à la jointure noté p. Le nombre totale des tuples de la relation R (resp noté n (resp m). [...]
[...] Donc une architecture hiérarchique peut être au niveau interne une architecture à mémoire partagée, et au niveau externe une architecture à mémoires distribuées. L'idée est, ici, de construire une machine à mémoire distribuée, dont chaque noeud adopte une architecture parallèle à mémoire partagée Architecture hiérarchique (suite) Architecture hiérarchique Placement des données Le partitionnement et le placement des données dans les SGBDs parallèles est l'un des facteurs critiques qui font d'un SGBDs parallèle un système performant ou non le placement de données décide la qualité de l'équilibrage de la charge assurée par le système Placement des données (suite) Deux techniques de placement de données Le partitionnement des données sur tous les processeurs du système Le regroupement de toute les données sur un seul disque Placement des données (suite) Trois techniques de partitionnements sont généralement utilisées: Répartition circulaire. [...]
[...] Résultat (Matricule, code_mod, note). [...]
[...] Parallélisme inter-operateurs exécuter en parallèle plusieurs opérateurs du graphe de la requête, afin de réduire le temps nécessaire à la résolution de cette dernière. Le parallélisme inter-opérateurs indépendant et le pipeline Parallélisme intra_opérateurs l'opérateur initial est décompose en sous_operateurs identiques utilisant chacun en entrée un paquet de chaque relation nécessite la définition du nombre de noeuds alloués à un même opérateur Algorithmes de jointure Jointure par produit cartésien (boucle imbriquée) Jointure par tri fusion (sort merge) Jointure par hachage Jointure par produit cartésien (boucle imbriquée) Jointure par produit cartésien simple Jointure par produit cartésien par bloc Jointure par produit cartésien par bloc avec indexe Jointure par produit cartésien simple jointure par boucle imbriqué Jointure par produit cartésien par bloc jointure par produit cartésien par bloc Jointure par produit cartésien par bloc avec indexe chaque tuple de R est comparé à l'ensemble des tuples de S L'index sur les tuples de S permet, pour chaque tuple de de récupérer un pointeur sur les pages de S contenant des tuples correspondant au tuple de R il suffit ensuite de charger les pages contenant les tuples de afin d'en extraire ceuxci et de les joindre au tuple de R en cours de traitement Parallélisation Une version parallèle de cet algorithme consiste à partitionner la relation externe S sur les différents processeurs constituants la machine parallèle Une amélioration certaine consiste à repartir les deux relations à l'aide d'une fonction (commune) de hachage (ou par intervalle) portant sur l'attribut de jointure Jointure par tri fusion (sort merge) Algorithme Tri fusion simple Algorithme tri fusion avec filtre Parallélisation redistribution de R pour algorithme de tri fusion parallèle Jointure par hachage Jointure par hachage classique Jointure par hachage grâce Jointure par hachage hybride Jointure par hachage non bloquant (pipeline hash join) Jointure par hachage classique jointure par hachage simple Jointure par hachage classique hachage classique avec la gestion de la mémoire Version parallèle Pour paralléliser cet algorithme, on doit redistribuer la relation interne R sur l'ensemble des sites effectuant la jointure, à l'aide de la table de division (split table). [...]
[...] Test et résultats Schéma de la base de données Etudiant (Matricule, Nom, Prénom, code_fil, Année_inscri). Filière (code_fil, Nom_fil, nb_etudiant). Module (code_mod, Nom, code_fil). [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture