350 likes | 501 Vues
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. Plan. Introduction G énéralité: Architecture répartie et parallèle
E N D
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 Cours MGL7115
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 Cours MGL7115
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 . Cours MGL7115
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 Cours MGL7115
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; Cours MGL7115
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 Site centrale Cours MGL7115
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 Application Frontale entrée Réseaux application dorsale et SGBD centrale Site N Site centrale Cours MGL7115
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 . Cours MGL7115
Notions d’un système informatique parallèles et réparties • Présentationschématique entrée Réseaux Application j +SGBDR réponse nœud 1+BD 1 nœud j+BD j Application 1+SGBD nœud i+BD i Application i +SGBD R Cours MGL7115
Supports d’architectures distribuées d’Oracle versus SQL Server Cours MGL7115
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 Cours MGL7115
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] Cours MGL7115
Supports d’architectures distribuées d’Oracle versus SQL Server Cours MGL7115 Transparence d’emplacement les vues, et les synonymes peuvent servir à cacher la distribution des données aux utilisateurs . les synonymessont 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.
Supports d’architectures distribuées d’Oracle versus SQL Server Cours MGL7115 • 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 Viewsmettre 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 de la requête.
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 Cours MGL7115
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 Cours MGL7115
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. Cours MGL7115
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. Cours MGL7115
Supports d’architectures distribuées d’Oracle versus SQL Server Les modèles physique de réplication • 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 est abonné à tous ces sites • chaque site héberge sa propre base maîtresse Editeur Abonné centrale Editeur Editeur Editeur Cours MGL7115
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. Editeur/abonné Editeur/abonné Editeur/abonné Cours MGL7115
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é Cours MGL7115
Architecture avec trois instances Cours MGL7115
Les différents composantsd’Oracle Parallel Server Cours MGL7115
Les différentes instancesd’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 : Cours MGL7115
ARCH, CKPT, Dnnn et RECO • Une instance d’OPS (Oracle Parallel Server) contient : • PMON • SMON • DBWR • LGWR FACULTATIFS OBLIGATOIRE Éléments de base d’ Oracle Parallel Server Cours MGL7115
Multiple instances mettent à jour la même block de données The IDLM Checks Status of Locks • Les dispositifs (Features) d’OPS • Les dispositifs d’OPS sont : • Integrated Distributed Lock Manager (IDLM) • Parallel Cache Management (PCM) • Oracle Parallel Query Cours MGL7115
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 Cours MGL7115
Les mécanismes d’exécution des requêtes parallèles Cours MGL7115
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: • Dataflow Operators (DFOs) • Table Queues (TQs) • Granule Iterators (GRA) • Parallelizer Cours MGL7115
PEC PES Parallelizer serial Parallelizer serial PX Send DFO 2 Hach join PX Send DFO 2 PX receive PX receive Hash join PX receive PX receive PX Send PX Send PX Send PX Send GRA TSC DFO 1 serial TSC GRA TSC DFO 1 serial TSC PEP execution on the QC et parallel slaves Cours MGL7115
Architecture parallèle d’SQL server 2000 • Vues partitionnées distribuées • Les transactions distribuées Clusters SQL Server Cours MGL7115
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 . Cours MGL7115
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 PaperNovember, 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.htmSupport - SQLserver database disaster protection • Performing a SQL Distributed Query by Using ADSI www.support.microsoft.com/default.aspx? • SQL Server 2005 Express FeaturesBy Vidya Vrat www.codeproject.com/Purgatory/ SQL_Server_2005__Features.asp Cours MGL7115