PRÉSENTATION DU PROJET DE SESSION AUTOMNE 2004 Supports d’architectures parallèles et réparties D’Oracle et SQL Server Préparé par : M. CHARLESTON Charlemagne M. BOUAINE Moslem 13-12-2004 Cours MGL7115 1 Plan Introduction Généralité: Architecture répartie et parallèle Supports d’architectures réparties d’Oracle et SQL server Supports d’architectures parallèles d’Oracle et SQL server Architecture Les différents composants Les différentes instances Les dispositifs (Features) Les mécanismes d’exécution de requêtes parallèles La configuration requise pour les deux SGBD Conclusion Bibliographies Question 13-12-2004 Cours MGL7115 2 Introduction Les SGBD offrent une panoplie de fonctions, d’outils et de services intégrés qui permettent de satisfaire les exigences les plus subtiles des entreprises. Les entreprises opèrent dans un environnement multi annexes ou de succursales qui doivent desservir une clientèle de plus en plus exigeante. Pour permettre de savoir quelles sont les supports architecturaux parallèles et réparties qu’offre un SGBD ,nous allons présenter SQL server et Oracle . 13-12-2004 Cours MGL7115 3 Notions d’un système informatique parallèles et réparties Répartition : pourquoi? Comment ? Un système informatique est dit réparti si : les fonctions qu’il donne et/ou les données qu’il gère Sont géométriquement éloignées et donc dispersées sur plusieurs sites ,et interconnecté par un réseau 13-12-2004 Cours MGL7115 4 Notions d’un système informatique parallèles et réparties Pourquoi répartir? Répartition des utilisateurs; Répartition des sources de données plusieurs users et plusieurs sites L’objectif : rapprocher l’information de l’utilisateur(transparence à la répartition,l’utilisateur doit avoir l’impression de travailler sur une seule BD ) ne doit pas gérer les problèmes relatifs à la répartition des données ). Plusieurs solutions existent pour réaliser la répartition; Accès par terminal distant; Application répartie; SGBD répartis; 13-12-2004 Cours MGL7115 5 Notions d’un système informatique parallèles et réparties Accès par terminal distant; la BD est située sur un ordinateur autre que celui de l’utilisateur terminal Une interface permettant de poser la question et de récupérer la réponse réponse entrée Réseaux application et SGBD centrale Site N 13-12-2004 Site centrale Cours MGL7115 6 Notions d’un système informatique parallèles et réparties Application répartie; Application frontale qui est dupliqué sur chaque site qui gère aussi le dialogue avec l’utilisateur ainsi elle effectue les traitement locaux dans le site demandeur Une application dorsale qui réside sur le site centrale qui gère les traitements nécessitant un accès à la BD ou mettant en jeu différent site réponse entrée Réseaux et SGBD centrale Application Frontale Site N 13-12-2004 application dorsale Site centrale Cours MGL7115 7 Notions d’un système informatique parallèles et réparties SGBD répartis; ; gère une collection de base de donnée qui sont reliées d’une façon logique faisant appel à des SGBD locaux qui sont répartis sur différents sites L’utilisateur n’utilise le réseaux que si ses traitements nécessitent des données sur un autre site 13-12-2004 ; . Cours MGL7115 8 Notions d’un système informatique parallèles et réparties Présentation schématique entrée Réseaux Application j +SGBD R réponse nœud 1+BD 1 nœud j+BD j Application 1+SGBD nœud i+BD i 13-12-2004 Application i +SGBD R Cours MGL7115 9 Supports d’architectures distribuées d’Oracle versus SQL Server 13-12-2004 Cours MGL7115 10 Supports d’architectures distribuées d’Oracle versus SQL Server Configurations matérielles Oracle Net services Modules d’écoute/listeners Oracle Connection Manager Outils de configuration et de gestion : Oracle Net Configuration Assistant, Oracle Net Manager Connections entre serveur Les pilotes de Net8 s’appuient sur le protocole de communication local Chacun des serveurs doit exécuter Net8 13-12-2004 Cours MGL7115 11 Supports d’architectures distribuées d’Oracle versus SQL Server Les liens de base de données Pour interroger une base distante, il faut créer le lien DATABASE LINK . C’est un chemin unidirectionnel d’un serveur à un autre. Un lien est soit privé ou public Identification des Objets BD centralisée : nom du propriétaire d’un objet et nom de l’objet BD répartie:deux couches d’identification sont ajoutées :nom de l’instance et nom de la hot. Le quadruplet [hôte, instance, schéma, objet] forme un nom d’objet complet ou FQON Pour accéder à une table distante son identifiant FQON doit être connu La transparence d’emplacement dissimule à l’utilisateur le triplet [hôte, instance, schéma] 13-12-2004 Cours MGL7115 12 Supports d’architectures distribuées d’Oracle versus SQL Server Transparence d’emplacement les vues, et les synonymes peuvent servir à cacher la distribution des données aux utilisateurs . les synonymes sont des noms simples qui permettent d’identifier de façon unique dans un système distribué les objets qu’ils nomment. peuvent être crées pour différents objets : Tables, Types, Views, Snapshots, Procedures, Functions, Packages. Ils figurent dans le dictionnaire de données. 13-12-2004 Cours MGL7115 13 Supports d’architectures distribuées d’Oracle versus SQL Server les requêtes distribuées Un serveur BD Oracle génère à partir d’une requête distribuée, des requêtes distantes, envoie aux sites distants pour exécution. retournent les résultats au serveur local. Plusieurs stratégies peuvent être déployées pour optimiser les requêtes, entre autres Collocated Inline Views mettre plusieurs vues de tables en ligne, afin de forcer les restrictions sur les sites distants. Cost based SQL optimizer basée sur le calcul des coûts pour générer la requête SQL qui extrait uniquement les données nécessaires des tables distantes. Les données subissent un premier traitement sur le site distant, puis le site distant envoie le résultat au site local, d’où la requête a été émise. Hints Cette technique convient aux requêtes distribuées contenant des fonctions agrégats, des sous-requêtes, L’instruction DRIVING_SITE permet de préciser manuellement le site d’exécution Cours MGL7115 13-12-2004 de la requête. 14 Supports d’architectures distribuées d’Oracle versus SQL Server Réplication des données Dans un modèle répartit, il se peut que des données soient momentanément inaccessibles. répliquer les données d'une base en créant un SNPASHOT , multi master replication snapshots répliquer les données depuis une source maître vers plusieurs cibles. ne sont pas mis à jour régulièrement, mais à des intervalles précis nommés asynchronous replication. Ces instants sont précisés par le paramètre NEXT de la commande CREATE SNAP SHOT . par défaut READ-ONLY. On peut faire ce dernier modifiable, en créantr un "updatable snapshot". Réplication avancée ou réplication multi-maîtres (multi master replication) Cette méthode permet de maintenir une table sur différents sites, tout en pouvant faire des modifications sur chacune des tables. Les modifications seront prises en compte sur tous les sites immédiatement dans le cas de la réplication synchrone ou ultérieurement dans le cas de la réplication asynchrone 13-12-2004 Cours MGL7115 15 Supports d’architectures distribuées d’Oracle versus SQL Server SQL server prise en charge de XML l’édition SQL server 2000 Édition Entreprise supporte le concept des bases de données distribuées Les fonctionnalités de SQL Server reposent sur l’exécution de 4 services : • MSSQLServer gère les requêtes, les transactions et assure l’intégrité des données • MSSQLServerAgent permet la remontée d’informations sur l’état de SQL Server • Microsoft Distributed Transaction Coordinator prend en charge la gestion des transactions distribuées. • Microsoft Search gère l’indexation en texte intégral 13-12-2004 Cours MGL7115 16 Supports d’architectures distribuées d’Oracle versus SQL Server Deux modèles de stockage de données • OLTP (optimise la vitesse de mise à jour et de traitement) • OLAP (permet la création de rapports et une analyse en entreprise) SAN (System Area Network).Accélérez les communications entre les serveurs la réplication SQL Server Le mécanisme de réplication SQL Server est basé sur la métaphore éditeur-abonné. de trois entités : l’éditeur, le distributeur, et l’abonné. L’éditeur : • Il héberge les données et les met à disposition d’un distributeur en vue d’une réplication. Le distributeur : • Il stocke les métadonnées, les données d’historique, et les transactions. Il stocke les modifications afin de les transmettre aux abonnés. L’abonné : • L’abonné possède une copie de la base de données et applique les modifications transmises par le distributeur. 13-12-2004 Cours MGL7115 17 Supports d’architectures distribuées d’Oracle versus SQL Server Types de réplications SQL server Réplication de capture instantanée :transfert en blocs périodique de nouvelles capture instantanées de données . Réplication transactionnelle : les données sont répliquées en temps réels. Réplication de fusion :les modifications autonomes apportées au données répliquées sont fusionnées ultérieurement Les modèles physique de réplication Modèle Éditeur central/Distributeur distant Ce modèle est très utile pour partitionner une base de données via l’utilisation du filtrage horizontal. 13-12-2004 Cours MGL7115 18 Supports d’architectures distribuées d’Oracle versus SQL Server Les modèles physique de réplication Editeur Le modèle Abonné central/Éditeurs multiples centralise des données entre plusieurs sites tous les sites distants sont éditeurs/distributeurs et un site central Editeur Abonné centrale Editeur Editeur est abonné à tous ces sites chaque site héberge sa propre base maîtresse 13-12-2004 Cours MGL7115 19 Supports d’architectures distribuées d’Oracle versus SQL Server Les modèles physique de réplication Le modèle Éditeurs multiples/Abonnés multiples Ce modèle s’apparente au modèle réseau « Full mesh » : chaque site est à la fois éditeur et abonné aux autres sites. 13-12-2004 Cours MGL7115 Editeur/abonné Editeur/abonné Editeur/abonné 20 Supports d’architectures parallèles d’Oracle et SQL server Architecture d’Oracle • Plusieurs instances accèdent à une BD partagée • Offre : Une grande Scalabité Haute disponibilité • Oracle Parallel Server Activé ou désactivé 13-12-2004 Cours MGL7115 21 Architecture avec trois instances 13-12-2004 Cours MGL7115 22 Les différents composants d’Oracle Parallel Server 13-12-2004 Cours MGL7115 23 Les différentes instances d’Oracle Parallel Server • Instances d’OPS: • System Global Area (SGA) • Background processes • ORACLE_SID • Ensemble de redo logs • Elles coordonnent avec : • Nœuds • Cluster • Database • Elles partagent : 13-12-2004 Cours MGL7115 24 • Une instance d’OPS (Oracle Parallel Server) contient : • PMON Éléments de base d’ Oracle Parallel Server 13-12-2004 ARCH, CKPT, Dnnn et RECO • SMON • DBWR • LGWR Cours MGL7115 25 Les dispositifs (Features) d’OPS • Les dispositifs d’OPS sont : 1. Integrated Distributed Lock Manager (IDLM) 2. Parallel Cache Management (PCM) 3. Oracle Parallel Query Multiple instances mettent à jour la même block de données The IDLM Checks Status of Locks 13-12-2004 Cours MGL7115 26 • Implémentation du PCM lock • GC_FILES_TO_LOCKS • Deux chemins pour implémenter les PCM locks : 1) Hash PCM Locks • • • Alloue un startup à l’instance, résultant d’un startup lent Libère seulement à l’arrêt l’instance Statiquement haché aux blocs au temps de démarrage, exigeant plus de mémoire. 2) Fine-Grain PCM Locks Alloue un block quand les requêtes de l’utilisateur, résultant d’un statup rapide d’une instance • Dynamiquement réutilisé par d’autres blocks et requiert moins de mémoire • 13-12-2004 Cours MGL7115 27 Les mécanismes d’exécution des requêtes parallèles 13-12-2004 Cours MGL7115 28 • Oracle 10g server • Oracle PX engine comprend: •Parallel Execution Coordinator (PEC) •Parallel Execution Server (PES) (Tread ou Process) • Parallel Execution Plan (PEP) comprend 4 clés d’abstractions: 13-12-2004 1. Dataflow Operators (DFOs) 2. Table Queues (TQs) 3. Granule Iterators (GRA) 4. Parallelizer Cours MGL7115 29 PEC Parallelizer PES serial Parallelizer serial PX Send DFO 2 Hach join PX receive PX Send DFO 2 PX receive Hash join PX receive PX Send TSC serial PX receive PX Send GRA PX Send PX Send TSC GRA DFO 1 TSC serial DFO 1 TSC PEP execution on the QC et parallel slaves 13-12-2004 Cours MGL7115 30 Architecture parallèle d’SQL server 2000 • Vues partitionnées distribuées • Les transactions distribuées Clusters SQL Server 13-12-2004 Cours MGL7115 31 Conclusion Dans les systèmes de gestion de bases de données ,l’introduction d’une architecture répartie ou parallèle dépend de la structure de l’entreprise ainsi que son besoin en information ,le choix entre un SGBD SQL server ou d’Oracle dépend de ces derniers . 13-12-2004 Cours MGL7115 32 Bibliographies WWW.oracle.com WWW.microsoft.com Oracle Distributed Systems By Charles Dye 1st Edition April 1999 1-56592-432-0, Order Number: 4320 SQL Server 7.0 On Deck par Divya Chaturvedi & Vipul Minocha www.dbpd.com/vault/9807chat.htm Oracle Real Application Clusters 10g Diagnostics and Verification An Oracle White Paper November, 2003 http://www.csee.umbc.edu/help/oracle8/server.815 Oracle Database 10g vs.Microsoft SQL Server 2000: Technical Overview An Oracle White Paper March 2004 www.incepto.com/support.htm Support - SQL server database disaster protection Performing a SQL Distributed Query by Using ADSI www.support.microsoft.com/default.aspx? SQL Server 2005 Express Features By Vidya Vrat www.codeproject.com/Purgatory/ SQL_Server_2005__Features.asp 13-12-2004 Cours MGL7115 33