SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri...
-
Upload
juliet-pham -
Category
Documents
-
view
107 -
download
0
Transcript of SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri...
SD-SQL Server:
Un Système de Gestion de Bases de
Données Distribuées et Scalables
Soror SahriSoror Sahri [email protected] [email protected]
http://ceria.dauphine.fr/soror/soror.html
Directeur de Thèse : Pr. Witold Litwin
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 2
Plan
ProblématiquePrincipes des SDDSsSD-SQL Server
Gross Architecture Interface d’Application
ExpérimentationsConclusion et Perspectives
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 3
Problématique
Les SGBDs actuels ne fournissent pas un partitionnement distribué et scalable des données.
Si une table monte en échelle, le DBA réorganise ses données manuellement.
Conception d’une architecture de SGBD capable de gérer
le Partitionnement Dynamique des données
Solution?
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 4
Notre proposition
Application de la technologie des SDDSs aux SGBDs.
Pourquoi les SDDSs?
Les SDDSs proposent plusieurs schémas de partitionnement dynamique.
Les SDDSs permettent des distributions sur plusieurs sites.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 5
Qu’est ce qu’une SDDS?
Une SDDS est une nouvelle structure de données spécifique pour les multi-ordinateurs.
Les SDDSs assurent : La Scalabilité Le Traitement parallèle et distribué
Plusieurs SDDSs ont été proposées. Hash Partitioning (LH*) Range Partitioning (RP)
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 6
Notre Proposition
Mariage des principes des SDDSs et des SGBDs Application sur le SGBD SQL Server 2000.
Structure ScalableTables Scalables
SGBD SDDS
Tables
ImageImage/Vue Scalable
Vue Partionnée
et Distribuée
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 7
SD-SQL Server
SD-SQL Server est un Système de Gestion de Bases de Données Distribuées et Scalables (SD-DBS).
Il est basé sur une architecture distribuée et scalable SD-DBS.
L’architecture SD-DBS a été proposé par :Pr. Litwin, Pr. Schwartz & Pr. Rich (2002).
SD-SQL Server est appliqué au SGBD Microsoft SQL Server 2000.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 8
Architecture de SD-SQL Server
Split
User/ApplicationUser/Application
Linked
SQL
Servers
D1Node DBs
D2 Di
SD-SQLpeer
Di+1
_D1_T
SD-SQLserver
SD-SQLserver
SD-SQL client
S S PC I I
T(2..i)
T(1,2)
SD-SQL Server
Managers
_D1_T I
_D1_T
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 9
Architecture de SD-SQL Server :
Les Noeuds SD-SQL Server
SD-SQL Server est composé d’une collection de noeuds distribués.
Un noeud SD-SQL Server représente une instance d’un SGBD. Un noeud SD-SQL Server est un serveur lié (linked server)
SQL Server 2000. Les noeuds SD-SQL Server détiennent les bases de
données scalables (SDBs).
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 10
Architecture de SD-SQL Server :Les SDBs
Une SDB est une collection de bases de noeuds (NDBs).
Une NDB est une base de données qui se trouve sur un noeud SD-SQL Server.
Dans chaque SDB, il y a une NDB primaire : Il s’agit de la première NDB crée pour la SDB.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 11
Architecture de SD-SQL Server :
La MétaBase
Les noeuds SD-SQL Server, les SDBs et les NDBs sont liés à la MétaBase (MDB).
MDB est une NDB système. Elle sauvegarde toutes les méta-données sur
les composants de l’architecture SD-SQL Server.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 12
SDB DB1
Architecture de SD-SQL Server
Noeud1 Noeud2 Noeud3 Noeudi
DB1
……
DB1 DB1
SDB DB2
DB2 DB2
SDB DB2
DB3DB3
MDB
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 13
Architecture de SD-SQL Server :
Les SDBs
Une NDB peut jouer le rôle d’un serveur, client ou pair.
Une NDB de type serveur gère les tables scalables. Leur éclatement.
Une NDB de type client gère l’interface d’application. Gestion des images.
Une NDB de type pair joue le rôle d’un serveur et d’un client.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 14
Architecture de SD-SQL Server
Une SDB contient au moins une NDB serveur et une NDB client.
Une SDB peut grandir pour contenir plus de NDBs.
Une SDB grandit à l’aide du partitionnement dynamique de ses tables scalables.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 15
Les Tables Scalables
Une Table Scalable est une collection de segments distribués.
Un segment d’une table scalable correspond à une table dans un SGBD.
Un segment est une table de SQL Server.
Chaque segment est placé sur une NDB différente de la même SDB.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 16
Tables Scalables
N1.DB1 N2.DB1 N3.DB1 …
S S S…
S
SDB DB1
Table Scalable T
Ni.DB1
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 17
Les Tables Scalables
Les méta-données décrivant une table scalable sont stockées dans des méta-tables. La capacité d’un segment. L’état actuel du partitionnement d’une table scalable. Les contraîntes d’intégrité pour chaque segment d’une
table scalable.
Ces méta-données sont sauvegardées dans les méta-tables.
Une Contraînte d’intégrité
définit les limites Min et Max sur une table
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 18
Les Tables Scalable
S S S…
S
SDB DB1
N1.DB1 N2.DB1 N3.DB1
S S S
Table Scalable T
Ni.DB1
1000Size
N1.DB1Primary
Méta-Tables
Ni.DB1Nodes
N1.DB1
N2.DB1
N3.DB1
RP
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 19
Les Tables Scalables
Si un segment d’une table scalable déborde, son éclatement est déclenché.
Le débordement d’un segment est dû au dépacement de sa capacité (sa taille maximale).
Le taille maximale est fixe pour chaque segment de la même table scalable.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 20
Tables Scalables :Eclatement
L’éclatement d’un segment est déclenché suite à une insertion.
Par un trigger au niveau du segment. Le trigger vérifie la capacité du segment; Et lance le splitter.
Un éclatement crée un ou plusieurs nouveaux segments pour une table scalable.
Chaque nouveau segment résultant d’un éclatement possède une contraînte d’intégrité. Le partitionnement est horizontale selon le rang de la clé
primaire.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 21
Eclatement
S
b+1
S S1
pb+1-p
p=INT(b/2)
C( S)= { c: c h = c (b+1-p)}
C( S1)={c: c > l = c (b+1-p)}
Contraîntes d’Intégrité?
b
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 22
Les Images
Les segments d’une table scalable sont cachés des user/applications derrière les images.
Les images définissent le partitionnement actuel d’une table scalable.
Les images sont représentées par des vues partitionnées distribuées de SQL Server.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 23
Les Images
SDB DB1
N1.DB1 N2.DB1 N3.DB1
S S S
Table Scalable T
Image
CREATE VIEW T AS SELECT * FROM N1.DB1.S
UNION ALL SELECT * FROM N2.DB1.S
UNION ALL SELECT * FROM N3.DB1.S
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 24
Les Images
Chaque table scalable a une image : Il s’agit de son image primaire.
L’image primaire d’une table scalable est crée sur le NDB qui lance la création de la table scalable.
Une table scalable peut avoir d’autres images sur d’autres NDBs clients :
Il s’agit des images secondaires
Les images peuvent être utilisées par d’autres vues appelées vues scalables.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 25
Les Images
Les images sont utilisées dans des requêtes client.
Les méta-données sur les images sont stockés dans la méta-table Image.
Si une image n’est pas correcte, elle sera alors ajustée.
Elle ne contient pas tous les segments de sa table scalable.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 26
Ajustement des Images
Récupérer le nombre de segments dans la méta-table Image, N1.
Récupérer le nombre de segments de la méta-table RP, N2.
Comparer N1 et N2 : Si N1<N2 alors Ajuster l’image
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 27
Interface d’Application
L’interface d’application manipule les tables scalables à travers leurs images.
Il s’agit des manipulations SQL.
La manipulation des tables scalables comprend :
La créationL’alteration : schema de la table et ses indexLa suppressionRecherche : select, select intoMise à jour : insert, update, delete
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 28
Interface d’Application
Les manipulations sur les tables scalables sont réalisées à l’aide des commandes scalables.
Une commande scalable est une procédure stockée sur SQL Server. INSERT sd_insert CREATE TABLE sd_create_table
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 29
Interface d’Application
Exemple
EXEC sd_select ‘FROM T’, ‘Size’
EXEC sd_select ‘T SELECT * FROM T1’
SELECT * FROM T
INSERT INTO T SELECT * FROM T1
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 30
Interface d’Application
Gestion des Nœuds SD-SQL Server Création d’un nœud Modification d’un nœud Suppression d’un nœud
Gestion des SDBs Création d’une SDB Modification d’une SDB (Création ou Suppression d’une
NDB) Suppression d’une SDB
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 31
Interface d’Application
Exemples Création d’un noeud EXEC sd_create_node ‘Dell1’
Création d’une SDB
EXEC sd_create_scalable_database ‘SkyServer, ‘Dell1’ Modification d’une SDB EXEC
sd_create_node_database‘SkyServer’,‘Dell2’,’Client’
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 32
Interface d’Aplication :Traitement des commandes
Image BindingSoit Q une requête utilisant l’image I d’une table scalable
Trouver les images dans la Requête Q
Vérifier si I est ajustée
Exécution de la Requête Q
Ajustement de l’image I
Image
Binding
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 33
Interface d’Aplication :Traitement des commandes
Les commandes scalables peuvent s’éxécuter simultanément.
Elles utilisent les mêmes ressources sur SD-SQL Server. Exemple : Une commande de recherche sd_select et un
splitter. Gestion de la concurrence entre les commandes
scalables est nécessaire. Assurer la sérialisabilité entre les commandes.
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 34
Interface d’Aplication : Traitement des commandes
Splitter sd_alter
N2.DB1
N1.DB1
N2.DB1
N3.DB1
RP
S
Verrou Exclusif attente
Verrou Exclusif
Verrou Partagé
Verrou Exclusif
X
X
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 35
Expérimentations
Utilisation de la BD SkyServer : http://research.microsoft.com/~gray/SDSS Utilisation de la table PhotoObj de la base
SkyServer comme une table scalable. PhotoObj contient 158,426 tuples (environ 260
MB)
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 36
Expérimentation
86.293
48.6863.03 7.076 14.72 21.75
207.28
145.156
85.173
5.7030
50
100
150
200
250
Number of Tuples
Sp
lit T
ime
(s
)Split of PhotoObj on 2 Segments
Temps d’éclatement de la table Scalable PhotoObj en 2 segments
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 37
Expérimentation
0
0,5
1
39500 79000 158000
Segment's Size
View Update+Query Execution
Query Execution
Execution directly on SQL Server
Variations des temps d’exécution de la requête (Q1)
(Q1) SELECT TOP 10 objid FROM PhotoObj WHERE objid<=@max
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 38
Expérimentation
0
0.5
1
0 level 1 level 2 levels 3 levels
View' Level
Execu
tio
n
Tim
e (
sec)
View Update + Query Execution
Query Execution
Variations des temps d’exécution de la requête (Q2)
(Q2) SELECT COUNT (*) FROM T1
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 39
Expérimentation
(Q3) SELECT COUNT (*) FROM PhotoObj
Comparaison des temps d’exécution entre SQL Server et SD-SQL Server
326
250220
15693
343
256226
164
106
436
356
93203
283
1676
123203 220
0
100
200
300
400
500
1 2 3 4 5
Number of Segments
Exe
cuti
on
Tim
e (m
s)
SQL Server-Distr SD-SQL Server
SQL Server-Centr. SD-SQL Server LSV
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 40
Conclusion
Les tables scalables sont devenues une réalité avec SD-SQL Server.
Les mesures de performance montrent l’efficacité de notre conception. Partitionnement dynamique des tables scalables. Temps d’éclatement raisonable. Temps d’ajustement des images négligeable.
Le prototype est disponible au Ceria : http://ceria.dauphine.fr
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 41
Perspectives
Gestion des pannes.Gestion des fusionnements des tables
scalables.Application des principes des tables
scalables sur d’autres SGBDs.
Merci de Votre Attention