Supports d`architectures parallèles d`Oracle et SQL server

publicité
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
Téléchargement