Bases de Données Parallèles

publicité
Machines Bases de Données
Bases de Données Parallèles
Polytech’IG4 Traitement de Données Distribuées
Esther Pacitti
1. Machine base de données
• SGBD sur multiprocesseur ou cluster
•  On parle aussi de SGBD parallèes
• Performances grâce au parallélisme
•  haut débit transactionnel (OLTP)
•  bon temps de réponse des requêtes décisionnelles
(OLAP)
• Haute disponibilité et fiabilité grâce à la
réplication
• Extensibilité avec idéalement
•  speed-up linéaire
•  scale-up linéaire
2
Patrick Valduriez
Machines Bases de Données
Speed-up linéaire
• Augmentation linéaire des performances pour
une BD et charge constantes en augmentant la
configuration (processeurs, mémoire, disque)
•  par ex. en doublant la config., t(Q) est divisé par 2
perf. obtenue
perf. initiale
idéal
configuration
3
Scale-up linéaire
• Performance constante pour une augmentation
proportionnelle de la BD ou de la charge et de la
configuration
•  par ex. en doublant la BD et la config., même t(Q)
perf. obtenue
perf. initiale
idéal
Configuration et
(taille (bd) ou charge (bd))
4
Patrick Valduriez
Machines Bases de Données
Architecture à disque partagé
Partage des disques (shared disk)
  Network Attached Storage (NAS)
simple, niveau fichier (NFS), ok pour
qqs noeuds
P
…
P
P
M
  Storage Area Network (SAN)
sophistiqué, niveau block, passe à
l’échelle
…
P
M
• Critique
+ simplicité et extensibilité
- gestion de la cohérence des caches
(M) peut limiter les performances
5
Architecture à mémoire distribuée
Pas de partage de mémoire ou
disque (shared-nothing)
+ extensibilité et disponibilité
excellentes
-  complexe: besoin de partitionner
statiquement les données sur
disque
P
…
M
P
P
…
P
M
Utilisée pour clusters de PC
•  Excellent rapport performancecoût avec des nœuds standards
•  Avec ou sans partage de disque
6
Patrick Valduriez
Machines Bases de Données
Architecture de cluster
Backbone de 2-10 Gbps entre racks
Switch
1 Gbps entre
noeuds d’un rack
Switch
CPU
Mem
…
Switch
CPU
CPU
Mem
Mem
Disk
Disk
Disk
CPU
…
Mem
Disk
Un rack = 16-64 noeuds
7
2. Techniques
•  Partitionnement des données sur n nœuds
•  Round-robin, fonction de hachage, index, etc.
•  Réplication
•  Augmente les performances et la disponibilité
•  Traitement de requêtes parallèles
•  Décomposition des requêtes lourdes en sous requêtes en
fonction du partitionnement
•  Equilibrage de charge
•  Allocation des requêtes aux nœuds les moins chargés
•  Failover: basculement automatique des requêtes
•  Depuis un nœud primaire en panne vers un nœud secondaire
•  Transactions
•  2PC
8
Patrick Valduriez
Machines Bases de Données
Partitionnement des données
•  Chaque relation est gérée comme n partitions
•••
•••
•••
•••
Round-Robin
a-g
Hachage
•••
h-m
•••
u-z
Intervalle
9
Réplication
•  Améliore la haute
disponibilité
•  Disques miroirs
•  Heurte l’équilibrage
de charge lorsqu’un
nœud tombe en
panne
•  Solution élaborée, ex.
partitionnement chaîné
de Teradata
Noeud
Table
R1
R2
R3
R4
1
2
R1 R2
r12
r21
r31 r32
r41 r42
3 4
R3 R4
r13 r14
r23 r24
r34
r43
10
Patrick Valduriez
Machines Bases de Données
Traitement de requêtes parallèles
•  1. Parallélisation des
requêtes
Select … from R,S
where …group
by…
Parallélisation
•  traduction en plans
d’exécution parallèles
•  2. Exécution des
opérations parallèles
•  algorithmes parallèles pour
les opérateurs relationnels
•  adaptation du degré de
parallélisme pour équilibrer
la charge
R1
R2
R3
Sel. Sel.
S1 S2
R4
Sel. Sel.
S3 S4
Join Join Join Join
Grb
Grb
Grb
Grb
Grb
11
Equilibrage de charge
•  Choix du nœud qui peut
exécuter Q
Q4
Q3
Q2
Q1
•  round robin
•  le moins chargé
•  référentiel de charge
•  Fail over
Equilibrage de
charge
•  en cas de panne d’un
nœud, Q est basculée sur
un autre nœud
•  En cas d’interférence
•  déplacement des données
vers un autre nœud
Q1
Q2
Q3
Q4
12
Patrick Valduriez
Machines Bases de Données
Join Processing
•  Three basic algorithms for intra-operator
parallelism
•  Parallel nested loop join: no special assumption
•  Parallel associative join: one relation is declustered on
join attribute and equi-join
•  Parallel hash join: equi-join
•  They also apply to other complex operators such
as duplicate elimination, union, intersection, etc.
with minor adaptation
13
Parallel Nested Loop Join
node 1
node 2
R1:
R2:
send
partition
S2
S1
node 3
R�S=
node 4
n
�
(R � Si )
i=1
14
Patrick Valduriez
Machines Bases de Données
Parallel Associative Join
node 1
node 2
R1:
R2:
S2
S1
node 3
node 4
R�S=
n
�
(Ri � Si )
i=1
15
Parallel Hash Join
node
R1:
node
R2:
node
S1:
S2:
node 2
node 1
R�S=
node
p
�
(Ri � Si )
i=1
16
Patrick Valduriez
Machines Bases de Données
Oracle Transparent Application Failover
•  En cas de panne d’1
nœud
•  Détection par un autre
•  Reprise de la connexion
et des données
Client
Nœud 1
Ping
Nœud 2
•  Transparence pour
requêtes Select
connect1
17
Microsoft Failover Cluster Topology
Client PCs
Réseau d’entreprise
Réseau interne
Commutateur
Fibre Channel
18
Patrick Valduriez
Machines Bases de Données
3. Principaux produits
Editeur
Produit
Architecture
Plateformes
IBM
DB2 Pure Scale
DB2 Database Partitioning
Feature (DPF)
SQL Server
SQL Server 2008 R2 Parallel
Data Warehouse
Disque partagé
Mém. Dist.
AIX sur SP
Linux sur cluster
Disque partagé
Mém. Dist.
Windows sur SMP et
cluster
Oracle
Real Application Cluster
Database machine (avec
Sun)
Disque partagé
Windows, Unix, Linux
sur SMP et cluster
NCR
Teradata
Mém. Dist.
BYnet
NCR Unix et Windows
Oracle
MySQL
Mém. Dist.
Cluster Linux
Microsoft
19
Architecture Exadata
Real Application Cluster
Commutateurs
Infiniband
Cellule de
stockage
20
Patrick Valduriez
Machines Bases de Données
Disque partagé vs mémoire distribuée
•  Disque partagé
•  Plus simple à administrer (ajout de disques)
•  Passage à l’échelle (nombre de nœuds)
•  Adapté OLTP (mises-à-jour)
•  Max. qqs teraoctets
•  Mémoire distribuée
•  Plus complexe: besoin de partitionner la base
•  Passage à très grande échelle
•  Adapté OLAP (lectures)
•  Très grandes bases (pas de limite)
21
Patrick Valduriez
Téléchargement