Télécharger la présentation
1
Directeur de Thèse : Pr. Witold Litwin
SD-SQL Server: Un Système de Gestion de Bases de Données Distribuées et Scalables Soror Sahri Directeur de Thèse : Pr. Witold Litwin
2
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
26/03/2017 Plan Problématique Principes des SDDSs SD-SQL Server Gross Architecture Interface d’Application Expérimentations Conclusion 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. Solution? Conception d’une architecture de SGBD capable de gérer le Partitionnement Dynamique des données Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
4
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
26/03/2017 Notre Proposition Mariage des principes des SDDSs et des SGBDs Application sur le SGBD SQL Server 2000. SGBD SDDS Tables Structure Scalable Tables Scalables Vue Partionnée et Distribuée Image Image/Vue Scalable Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
7
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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/Application Linked SQL Servers D1 Node DBs D2 Di SD-SQL peer Di+1 _D1_T SD-SQL server SD-SQL client S P C I T(2..i) T(1,2) SD-SQL Server Managers 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
Architecture de SD-SQL Server
MDB Noeud1 Noeud2 Noeud3 Noeudi …… DB1 DB2 DB1 DB2 DB3 DB1 DB3 SDB DB2 SDB DB2 SDB DB1 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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Tables Scalables SDB DB1 N1.DB1 N2.DB1 N3.DB1 Ni.DB1 … S … S Table Scalable T Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
17
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Les Tables Scalable SDB DB1 N1.DB1 N2.DB1 N3.DB1 S Table Scalable T Ni.DB1 … S S S S Méta-Tables N1.DB1 Primary N1.DB1 N2.DB1 N3.DB1 RP 1000 Size Ni.DB1 Nodes Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
19
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Eclatement Contraîntes d’Intégrité? p b+1-p p=INT(b/2) C( S)= { c: c h = c (b+1-p)} C( S1)={c: c > l = c (b+1-p)} b+1 b S S S1 Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
22
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Les Images SDB DB1 N1.DB1 N2.DB1 N3.DB1 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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
26/03/2017 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éation L’alteration : schema de la table et ses index La suppression Recherche : select, select into Mise à 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 SELECT * FROM T INSERT INTO T SELECT * FROM T1 EXEC sd_select ‘FROM T’, ‘Size’ EXEC sd_select ‘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 Binding Soit Q une requête utilisant l’image I d’une table scalable Image Binding Trouver les images dans la Requête Q Vérifier si I est ajustée Ajustement de l’image I Exécution de la Requête Q 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
N2.DB1 N1.DB1 N3.DB1 RP S Splitter sd_alter X Verrou Exclusif Verrou Partagé attente X Verrou Exclusif Verrou Exclusif Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
35
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Expérimentations Utilisation de la BD SkyServer : 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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Expérimentation 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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Expérimentation (Q1) SELECT TOP 10 objid FROM PhotoObj WHERE Variations des temps d’exécution de la requête (Q1) Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
38
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Expérimentation (Q2) SELECT COUNT (*) FROM T1 Variations des temps d’exécution de la requête (Q2) 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 Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
40
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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 : Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
41
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
Perspectives Gestion des pannes. Gestion des fusionnements des tables scalables. Application des principes des tables scalables sur d’autres SGBDs. Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
42
Merci de Votre Attention
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.