SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri...

42
SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror Sahri [email protected] [email protected] http://ceria.dauphine.fr/soror/so ror.html Directeur de Thèse : Pr. Witold Litwin

Transcript of SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri...

Page 1: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 2: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 3: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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?

Page 4: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 5: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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)

Page 6: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 7: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 8: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 9: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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).

Page 10: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 11: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 12: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 13: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 14: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 15: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 16: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 17: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 18: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 19: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 20: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 21: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 22: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 23: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 24: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 25: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 26: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 27: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 28: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 29: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 30: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 31: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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’

Page 32: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 33: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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.

Page 34: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 35: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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)

Page 36: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 37: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 38: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 39: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 40: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

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

Page 41: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@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.

Page 42: SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Soror.Sahri@dauphine.fr .

Merci de Votre Attention