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 Soror.Sahri@dauphine.fr 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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche 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
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
Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche Expérimentation (Q1) SELECT TOP 10 objid FROM PhotoObj WHERE objid<=@max Variations des temps d’exécution de la requête (Q1) Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
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
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 : http://ceria.dauphine.fr Soror Sahri, U. Paris Dauphine 12 Déc 05. Séminaire de Recherche
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
Merci de Votre Attention