58
21/06/22 © Robert Godin. Tous droits réservés. 1 18 Bases de données parallèles et réparties

1 Introduction aux systèmes de gestion de bases de données 1.1

Embed Size (px)

Citation preview

Page 1: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 1

18 Bases de données parallèles et réparties

Page 2: 1 Introduction aux systèmes de gestion de bases de données 1.1

Mesures de performance du parallélisme

Accélération (speedup)– Ap = Temp1 / Tempsp

p : nombre de processeurs Tempi : temps d’exécution de la tâche T avec i processeurs

– Ap = p Accélération linéaire

Scalabilité/extensibilité (scaleup)– Capacité d’adaptation à la montée en charge– Sp = Temp1 / Tempsp

Tempi : temps d’exécution de la tâche i*T avec i processeurs Deux stratégies

– Extension horizontale (scale out) Ajouter des noeuds (architecture répartie)

– Extension verticale (scale up) Ajouter de la capacité à un noeud (architecture parallèle)

03/05/23 © Robert Godin. Tous droits réservés. 2

Page 3: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 3

18.1 Bases de données réparties

Réseau

Logicielinterm édiaire

Pilote detélécom m unication

SGBD réparti

Serveur dedonnées

Logicielinterm édiaire

Pilote detélécom m unication

Program m ed'application

Client

Réseau

Logicielinterm édiaire

Pilote detélécom m unication

SGBD réparti

Serveur dedonnées

BDlocale

BDlocale

Page 4: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 4

18.1 Bases de données réparties Bénéfices potentiels

– Performance– Fiabilité et disponibilité– Extensibilité

Inconvénients– Complexité accrue– Coût important

conception, administration, ...

Page 5: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 5

Problèmes techniques Transparence de la répartition Transactions réparties Évaluation de requêtes réparties Interface uniforme à différents

modèles– extracteurs, médiateurs,...

Répartition du dictionnaire de données

Page 6: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 6

18.1.1 Classification des architectures de BD répartie BD répartie homogène

– même SGBD LMD compatible

– e.g. SQL Modèle de données compatible

– e.g. relationnel BD répartie hétérogène

– relationnel, fichiers, objet,...

Page 7: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 7

Autonomie Multi-SGBD

– autonomie totale SGBD fédéré

– fonctions de coordination intégrées au SGBD

– e.g. support de protocole XA SGBD réparti

Page 8: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 8

18.1.2 Architecture des schémas

Schémaexterne

Schémaexterne

Schémaexterne...

Schémaconceptuel

g lobal

Schéma delocalisation

Schémalocal

Schémalocal

Schémalocal...

Page 9: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 9

18.1.3.1 DUPLICATION RÉPARTIE Duplication synchrone

(synchronous replication)– sérialisabilité globale

Duplication asynchrone (asynchronous replication)– copie primaire– mise-à-jour en différé des autres

Page 10: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 10

18.1.3.2 FRAGMENTATION RÉPARTIE Fragmentation horizontale

– e.g. compte des clients de Montréal sur le site de Montréal

Fragmentation verticale– e.g. la colonne des salaires sur le site

de la comptabilité

Page 11: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 11

18.1.4 Transactions réparties

G estionna ire detransaction

Transactionsréparties

G estionna ire del'ordonnancement

G estionna ire dedonnées

BD et journal

S itecoordonnateur

G estionnaire detransaction

G estionnaire del'ordonnancement

G estionnaire dedonnées

BD et journal

S ite participant

Page 12: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 12

18.1.5 Contrôle de concurrence réparti Verrouillage réparti

– Site primaire Contrôle centralisé des verrous

– Contrôle réparti Chaque site verrouille ses données

– Copie primaire– Verrouillage majoritaire– Protocole biaisé

Une copie verrouillée en lecture (verrouillage P) Toutes les copies verrouillées en écriture (X)

– Généralisation : consensus par quorum Poids assigné à chaque site Qlecture : total de poids requis en lecture Qécriture : total de poids requis en écriture Qlecture + Qécriture > PoidsTotalDesSites et Qécriture*2 >

PoidsTotalDesSites

Page 13: 1 Introduction aux systèmes de gestion de bases de données 1.1

Tolérance aux pannes Read One, Write All Available

– Adaptation du protocole biaisé– Écrit toutes les copies disponibles

Si partition réseau– Plusieurs écritures incohérentes dans des

partitions différentes … Techniques de résolution des

incohérences– Vecteurs de version

03/05/23 © Robert Godin. Tous droits réservés. 13

Page 14: 1 Introduction aux systèmes de gestion de bases de données 1.1

Vecteur de versions Chaque site i qui maintient une copie de la donnée D

– Vij : numéro de version au site i correspondant au site j Au départ Vij := 0 A chaque mise à jour de D au site i

– Vii = Vii +1 Lorsque les sites k et l échangent leurs mises à jour

– Si Vkj = Vlj : les états sont identiques– Sinon, Si Vkj <= V lj pour tout j

Remplacer Vkj par Vlj au site k Copie de D au site k := copie de D au site l

– Sinon Les copies ont été mises à jour indépendamment pas deux sites Il faut les réconcilier … Pas de méthode universelle …

03/05/23 © Robert Godin. Tous droits réservés. 14

Page 15: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 15

18.1.6 Protocole de confirmation en deux phases (C2P)

Début

Ecrire préparer au journal Début

Attente

Préparer à confirmer

Ecrire prêt au journal (vider tampons journal)

Prêt

Site coordonnateur (usager) Site participant (données)

Vote OK

Tous ont répondu OK

Confirmer

Ecrire confirmer au journal

Confirmé

Oui

Non Ecrire annuler au journal

Annuler

Annulé

Confirmer?

Ecrire confirmer au journal

Ecrire annuler au journal

Confirmé Annulé

Oui Non

Accepter

Accepter

Ecrire fin de la transaction au journal

Page 16: 1 Introduction aux systèmes de gestion de bases de données 1.1

C2P bloquant … C2P bloque si coordonnateur en faute Solutions (plus de messages …)

– C3P choix d’un nouveau coordonnateur en cas de

faute– Confirmation PAXOS

Chaque participant – Exploite consensus PAXOS avec 2F+1 accepteurs– Pour choisir valeur PRET (ou ANNULE)– Tolère F fautes

03/05/23 © Robert Godin. Tous droits réservés. 16

Page 17: 1 Introduction aux systèmes de gestion de bases de données 1.1

Haute disponibilité malgré partition du réseau ? Théorème CAP Ne peut garantir que 2 parmi 3 Consistance

– Copies consistantes disponibilité (Availability)

– Si panne d’un site : exploite autre copie tolérance aux Partitions du réseau

– Si partition : chacune des parties continue à être disponible

03/05/23 © Robert Godin. Tous droits réservés. 17

Page 18: 1 Introduction aux systèmes de gestion de bases de données 1.1

BASE Basically Available Soft state

– copies non cohérentes suite à une partition du réseau

Eventually consistent– copies deviendront consistantes suite à la

résolution de la partition Protocole read one write all

available

03/05/23 © Robert Godin. Tous droits réservés. 18

Page 19: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 19

18.1.7 Optimisation de requête répartie Coût en communication

– Peut dominer le coût E/S ! Potentiel de parallélisme intersite

et intrarequête– surtout interopération

Page 20: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 20

18.1.7.1 ETAPES D'OPTIMISATION Décomposition

Requête (ex:SQL)

Schémaconceptuel &externe global

Requête interneglobale

Localisationdes données

Requête surfragments

Optimisationglobale

Schéma delocalisation

Plan d'exécutionréparti

Statistiques surfragments

Optimisation locale

Plan d'exécutionlocal

Shéma internelocal & statistiques

Sitecoordonnateur

Site participant

Page 21: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 21

18.1.7.2 OPTIMISATION GLOBALE

Plan 1 : Transférer T1 au site 2 T1 T2 = R au site 2 Transférer R au site 3 R T3 = Résultat final au site 3

Plan 2 : Transférer T2 au site 1 T1 T2 = R au site 1 Transférer R au site 3 R T3 = Résultat final au site 3

Plan 3 : Transférer T1 au site 3 Transférer T2 au site 3 T1 T2 T3 = Résultat final au site 3

Page 22: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 22

18.1.7.3 STRATÉGIE PAR SEMI-JOINTUREPlan 1 :

Transférer T2 au site 1 T1 T2 = Résultat final au site 1

Plan 2 : Transférer A(T2) au site 1 T1 A(T2) (= T1 T2) = R au site 2 Transférer R au site 2 R T2 = Résultat final au site 2

Page 23: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 23

Parallélisme interopération et intersite T1 T2 T3 T4

Transférer T2 au site 1T1 T2 = R au site 1En parallèle, transférer T4 au site 3T3 T4 = S au site 3Transférer S au site 1Ensuite, R S = Résultat final au site 1

Page 24: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 24

18.1.8 Conception d'une BD répartie Rapprocher les données des

traitements Nouvelles opportunités

– duplication synchrone ou asynchrone ?

– fragmentation

Page 25: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 25

CREATE DATABASE LINK Bd2.nomDomaineDuSite2 ... ;

18.1.9 BD répartie avec Oracle

Au site 1 :

Réseau

O racle N et

P ilo te deté lécom m unication

ins tance O racle

Serveur dedonnées du

Site 2

O racle N et

P ilo te deté lécom m unication

Program m ed'applica tion

Client

Réseau

O rac le N et

P ilo te deté lécom m unication

instance O racle

Serveur dedonnées du

Site 1

Bd1 Bd2

Page 26: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 26

Transparence de localisation par SYNONYM

CREATE PUBLIC SYNONYM Table2 FOR Sché[email protected]

SELECT …FROM Schéma1.Table1, Table2WHERE …

Page 27: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 27

Duplication répartie (REPLICATION) Master replication (duplication

complète)– synchrone ou asynchrone

MATERIALIZED VIEW (remplace SNAPSHOT)

– Paramètres de contrôle du rafraîchissement

CREATE MATERIALIZED VIEW ClichéTable2 ASSELECT * FROM Sché[email protected]

Page 28: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 28

18.2 Base de données parallèle Exploitation du parallélisme

intrasite Parallélisme de disques

Mémoire viveUnité detraitement

Disque Disque Disque Disque Disque

Page 29: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 29

18.2.1 Disques parallèles Duplication

– disques mirroirs Code détecteur/correcteur

d ’erreur– Parité– Hamming– …

Répartition cyclique (striping)– par bloc– par bit (moins populaire)

A A

Page 30: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 30

Code Correcteur d’Erreur (CCE) de type Hamming Bit 1=20 : bit de parité pour les bits 3=112, 5=1012,

7=1112 Bit 2=21 : bit de parité pour les bits 3=112, 6=1102,

7=1112

Bit 4=22 : bit de parité pour les bits 5=1012, 6=1102, 7=1112

Parité OK

Parité des bits 1 et 4 en erreur, donc bit 5 (= 1+4) inversé

0

1=12

0

2=102

1

3=112

1

4=1002

0

5=1012

0

6=1102

1

7=1112Position

0

1=12

0

2=102

1

3=112

1

4=1002

1

5=1012

0

6=1102

1

7=1112Position

Page 31: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 31

18.2.2 Architecture RAID (Redundant Array of Independent Disks )

RAID 0– répartition par bloc

RAID 1– disques miroirs

RAID 2– codes correcteurs (e.g. type Hamming)– moins de disque que 1

RAID 3– répartition par bit (ou octet)– un disque de parité (détection)– récupération d ’une faute d ’un disque

RAID 4– répartition par bloc– disque de parité

RAID 5 – répartition par bloc– blocs de parité répartis– permet les écritures parallèles

RAID 6– répartition par bloc– codes correcteurs répartis

Bloc 0Bloc 4Bloc 8

...

Bloc 1Bloc 5Bloc 9

...

Bloc 2Bloc 6

Bloc 10...

Bloc 3Bloc 7Bloc 11

...

Raid 0 : Répartition par bloc

A A B B

Raid 1 : Mirroirs

A1B1C1

A2B2C2

A3B3C3

A4B4C4

Raid 2 : Codes correcteurs d’erreurs

CCEA1CCEB1CCEC1

CCEA2CCEB2CCEC2

CCEA3CCEB3CCEC3

Bit 0Bit 4Bit 8

...

Bit 1Bit 5Bit 9

...

Bit 2Bit 6

Bit 10...

Bit 3Bit 7

Bit 11...

Raid 3 : Répartition par bit + parité

Parité

Bloc 0Bloc 4Bloc 8

...

Bloc 1Bloc 5Bloc 9

...

Bloc 2Bloc 6

Bloc 10...

Bloc 3Bloc 7Bloc 11

...

Raid 4 : Répartition par bloc + parité

Parité

ParitéBloc 4Bloc 8

Bloc 12Bloc 16

Bloc 0ParitéBloc 9

Bloc 13Bloc 17

Bloc 1Bloc 5Parité

Bloc 14Bloc 18

Bloc 2Bloc 6Bloc 10Parité

bloc 19

Raid 5 : Répartition par bloc + parité répartie

Bloc 3Bloc 7

Bloc 11Bloc 15Parité

Bloc 0Bloc 2Bloc 4

...

Bloc 1Bloc 3Bloc 5

...

Bloc 0Bloc 2Bloc 4

...

Bloc 1Bloc 3Bloc 5

...

Raid 0+1

Page 32: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 32

Suite Implémentation dans couche basse

– transparent au SGBD– logiciel

pilote RAID– matériel

Choix dépend des contraintes de l ’application– performance : 0– fiabilité : 1– performance + fiabilité (RAID10)

coût élevé amène à considérer d’autres alternatives 2 et 4 supplantés par 3 et 5

Page 33: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 33

Comparaison des niveaux RAID

Niveau Répartition

Redondance

Espace

Fiabilité Lecture Écriture

0 bloc aucune - ++ (inter-bloc) ++1 miroir --- +++ +

0+1 bloc miroir --- +++ ++ (inter-bloc) ++2 CCE -- ++ - -3 bit parité bit - + (une faute) ++ (un bloc à la fois) -

4 bloc parité bloc - + (une faute) ++ (inter-bloc) -

5 bloc parité bloc répartie

- + (une faute) ++ (inter-bloc) ++

6 bloc CCE réparti -- ++ ++ (inter-bloc) +

Page 34: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 34

18.2.3 Parallélisme d’entrée-sortie au niveau du SGBD Fragmentation de table

– Aléatoire requêtes difficilement prévisibles

– e.g. entrepôt de données– Partition par intervalles de valeurs

clé de partition– Partition par hachage

sélection par égalité

Page 35: 1 Introduction aux systèmes de gestion de bases de données 1.1

Hachage distribué tolérant aux fautes Hache les objets et sites sur un

cercle Place les objets sur le site suivant sur

le cercle– Sur les n sites suivants pour tolérance

aux fautes Réorganisation locale des objets

suite à un ajout/suppression d’un site

03/05/23 © Robert Godin. Tous droits réservés. 35

Page 36: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 36

18.2.4 Autres formes de parallélisme Plusieurs processeurs Plusieurs unités de mémoire Duplication des processus SGBD

– processus miroirs pour fiabilité

Page 37: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 37

Architecture à mémoire partagée (Symmetric MultiProcessor – SMP)

Disque Disque Disque Disque

Unité detraitement

Unité detraitement

Unité detraitement

Disque

Mémoire vive

Page 38: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 38

Architecture à disques partagés

Disque Disque Disque Disque

Unité detraitement

Unité detraitement

Unité detraitement

Disque

Mémoire vive Mémoire vive Mémoire vive

Unité detraitement

Mémoire vive

Page 39: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 39

Sans partage

DisqueUnité de

traitement

Mémoire vive

DisqueUnité de

traitement

Mémoire vive

DisqueUnité de

traitement

Mémoire vive

Page 40: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 40

Parallélisme intraopération Parallélisme à l’intérieur d’une

opération Balayage Tri Sélection Jointure Agrégats …

Page 41: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 41

Jointure parallèle Fragmentation symétrique

Fragmentation et duplication

JointurelocaleFragment 1 R

Fragment 2 R

Fragment 3 R

Fragment 1 S

Fragment 2 S

Fragment 3 S

Jointurelocale

Jointurelocale

JointurelocaleFragment 1 R

Fragment 2 R

Fragment 3 R

Copie de S

Copie de S

Copie de S

Jointurelocale

Jointurelocale

Page 42: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 42

Sélection parallèle

Fragment 1

Sélectionlocale

Fragment 2

Sélectionlocale

Fragment 3

Sélectionlocale

Sélectionglobale

Page 43: 1 Introduction aux systèmes de gestion de bases de données 1.1

Nouvelle génération de SGBD

SGBD traditionnel SQL– Couteau suisse– Fait tout bien– Non optimal pour applications particulières

Nouveaux cas d’utilisation extrêmes– Big data, Web, flux de données,

infonuagique, …– Architectures spécialisées– Mouvement noSQL (not only SQL)

03/05/23 © Robert Godin. Tous droits réservés. 43

Page 44: 1 Introduction aux systèmes de gestion de bases de données 1.1

noSQL Architecture parallèle/répartie massive

– Réseau très rapide– Grappes de machine de commodité (fiabilité limitée, faible coût)

Fragmentation et duplication – Disponibilité à tout prix– Pas de point de défaillance unique– Consistance limitée (transaction locale, BASE, …)– Hachage réparti

Localement– compression, traitement séquentiel

Scalabilité massive (élasticité)– Virtualisation d’un bassin de ressources

Flexibilité du schéma API simple

– Programmation plus complexe …

03/05/23 © Robert Godin. Tous droits réservés. 44

Page 45: 1 Introduction aux systèmes de gestion de bases de données 1.1

API noSQL Fichier brut (pas de modèle) Modèle clé/valeur

– Get(clé, valeur), Put(clé,valeur), Delete(clé) BD de documents

– Valeur structurée (ensemble d’attributs/valeurs), JSON, XML Map mutidimensionnel

– Get (clé de ligne, clé de [famille]colonne, estampille)– ~ Get(entité, attribut, estampille)– Fragmentation par famille de colonnes– Fragmentation par intervalle de clé de ligne

Graphe Tableau multidimentionnel

03/05/23 © Robert Godin. Tous droits réservés. 45

Page 46: 1 Introduction aux systèmes de gestion de bases de données 1.1

Paradigme map-reduce de traitement parallèle Fonctions map et reduce exécutées en parallèle

– Architecture massivement parallèle sans partage– Utilisateur code les fonctions map et reduce– Contrôleur central répartie les traitements Phase map Traitement indépendant sur chacun des noeuds Input : (clé input map, valeur input map) Output : {(clé output map, valeur output map)} Phase reduce Input : {(clé output map, valeur output map)} Output : {clé output map, valeur}

Traitement intermédiaire pour regrouper les output de map

03/05/23 © Robert Godin. Tous droits réservés. 46

Page 47: 1 Introduction aux systèmes de gestion de bases de données 1.1

E.g. Indexation de pages Web

Map– Chaque nœud traite un sous-ensemble de pages– Pour chaque page

Input : (IdPage, texte de la page) Output : ensemble de paires (IdTermeIndex, IdPage)

Reduce– Chaque nœud traite un ensemble de termes– Rassemble les paires pour un terme et forme le

résultat Output : (IdTermeIndex,{IdPage})

03/05/23 © Robert Godin. Tous droits réservés. 47

Page 48: 1 Introduction aux systèmes de gestion de bases de données 1.1

Big table (GOOGLE) Couche au dessus de GOOGLE File System (GFS) Une big table : map multidimensionnel

– (ligne, famille:colonne, estampille):valeur– Trié par ligne– Famille définie statiquement (fragmentation verticale possible par famille)

Transaction limitée à une ligne Fragmentation horizontale automatique par intervalle de lignes

– Tablet : intervalle de lignes Index hiérarchique dans un site maître pour localiser tablet

– 100-200 Meg– 10-1000 tablets par machine– Division en deux suite à croissance– Duplication (typiquement 3)– Répartition de la charge autogérée– Tablet stocké dans plusieurs SSTable de GFS

Filtrage des SSTable par filtres de Bloom (option)– SSTable : map(clé, valeur) immuable stocké dans ensemble de blocs de 64K + index – Compression locale dans SSTable

03/05/23 © Robert Godin. Tous droits réservés. 48

Page 49: 1 Introduction aux systèmes de gestion de bases de données 1.1

Filtre de Bloom Tableau de m bits Applique k fonctions de hachage à la

clé c– met à 1 les bits correspondants

Si c est présente– Tous les bits sont à 1

Sinon– Faible probabilité de faux positifs

03/05/23 © Robert Godin. Tous droits réservés. 49

Page 50: 1 Introduction aux systèmes de gestion de bases de données 1.1

Hadoop de Apache Inspiré de GOOGLE Bigtable/GFS

– Code ouvert HDFS inspiré de GFS HBASE inspiré de BigTable Implémentation de MapReduce en Java

03/05/23 © Robert Godin. Tous droits réservés. 50

Page 51: 1 Introduction aux systèmes de gestion de bases de données 1.1

HDFS de HADOOP Inspiré de Google GFS Système de gestion fichier réparti Fragments (blocs) de 64 Mo Duplication paramétrable : typiquement 3 Architecture maître/esclave

– 1 Name node : méta-données Répertoires/fichiers/sécurité/répartition sur data nodes Point de défaillance unique Sur noeud avec duplication hardware

– n Data node : données (blocs)

03/05/23 © Robert Godin. Tous droits réservés. 51

Page 52: 1 Introduction aux systèmes de gestion de bases de données 1.1

03/05/23 © Robert Godin. Tous droits réservés. 52

Oracle 10g Métaphore du « grid computing » Ressource de calcul virtuelle

– Transparence de l’architecture matérielle Supporte plusieurs combinaisons d’architectures parallèles et

réparties– Oracle Real Application Clusters (RAC)

• Un seul SGBD virtuel• Architecture cluster à disque partagé

Tire profit du coût décroissant des architectures à lames (machines peu coûteuses, Linux, réseaux très rapides, clusterware pour partage des disques, …)

– Paramétrage de haut niveau Fiabilité Performance

– Automatismes sophistiqués Mécanismes de surveillance et de mise au point intégrés Basculement transparent d’application suite à une faute Répartition automatique des services sur un bassin de ressources

Page 53: 1 Introduction aux systèmes de gestion de bases de données 1.1

Oracle exadata Cellule exadata

– Processeurs + disques + flash cache – 336 TB SATA ou 100 TB SAS– 5 TB Flash– Interconnexion infiniband 40GB/sec– Temps d’accès jusqu’à 0.001 ms

Stockage « intelligent »– Pré-traitement en parallèle

Sélection Compression par colonne Indexation

– Répartition + duplication de données

03/05/23 © Robert Godin. Tous droits réservés. 53

Page 54: 1 Introduction aux systèmes de gestion de bases de données 1.1

Anté-mémoire répartie Oracle coherence, Memcached, … Solution pour accélérer les

lectures de données statiques Stockage non persistant en

mémoire vive Fragmentation/duplication API (clé,valeur)

03/05/23 © Robert Godin. Tous droits réservés. 54

Page 55: 1 Introduction aux systèmes de gestion de bases de données 1.1

BD en mémoire centrale Limite sur la taille de la BD Performance extrême Structures optimisées pour la

mémoire centrale Duplication/répartition

03/05/23 © Robert Godin. Tous droits réservés. 55

Page 56: 1 Introduction aux systèmes de gestion de bases de données 1.1

New SQL Prototype H-store Produits commerciaux en émergence Support minimal de SQL BD parallèle en mémoire centrale

– Scalabilité horizontale sur architecture sans partage– Mémoires centrales de plus en plus grandes

64Go * 16 = 1 To Optimisée pour transactions simples (OLTP)

– Limiter le traitement pour gestion de transaction– ACID

Duplication/fragmentation– Optimisation : limiter les transactions multi-noeuds

Exécution sérielle !!!– Seulement procédures stockées– Pas de dépendance au temps de réflexion

03/05/23 © Robert Godin. Tous droits réservés. 56

Page 57: 1 Introduction aux systèmes de gestion de bases de données 1.1

Classification des SGBD http://blogs.the451group.com/information_management/2011/04/15/nosql-news

ql-and-beyond/

03/05/23 © Robert Godin. Tous droits réservés. 57

Page 58: 1 Introduction aux systèmes de gestion de bases de données 1.1

Site de référence noSQL http://nosql-database.org/

03/05/23 © Robert Godin. Tous droits réservés. 58