Chapitre 10. Architectures des systèmes de gestion de bases de données



Documents pareils
Chapitre 1 : Introduction aux bases de données

Module BDR Master d Informatique (SAR)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Cours Bases de données

Implémentation des SGBD

//////////////////////////////////////////////////////////////////// Administration bases de données

Présentation du module Base de données spatio-temporelles

Notes de cours : bases de données distribuées et repliquées

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Introduction aux Bases de Données Relationnelles Conclusion - 1

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

TP Contraintes - Triggers

Les bases de données

Bases de données avancées Introduction

Bases de Données. Plan

Base de données II Module 3b

Bases de Données relationnelles et leurs systèmes de Gestion

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

AGRÉGATION «ÉCONOMIE ET GESTION»

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

1/ Présentation de SQL Server :

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

et Groupe Eyrolles, 2006, ISBN :

ORACLE TUNING PACK 11G

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Check-list de maintenance du système Instructions impératives pour l'utilisateur du système Dernière mise à jour 09 juin 2011

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

TP Bases de données réparties

Projet : PcAnywhere et Le contrôle à distance.

La haute disponibilité de la CHAINE DE

Compte-rendu de projet de Système de gestion de base de données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

En savoir plus pour bâtir le Système d'information de votre Entreprise

Guide de configuration de SQL Server pour BusinessObjects Planning

Hibernate vs. le Cloud Computing

Les bases de données Page 1 / 8

Infrastructure RDS 2012

NOTIONS DE RESEAUX INFORMATIQUES

Introduction aux Bases de Données

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

Les Utilisateurs dans SharePoint

CESI Bases de données

CREATION WEB DYNAMIQUE

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

Bases de données réparties: Fragmentation et allocation

Département Génie Informatique

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Bases de données et sites WEB Licence d informatique LI345

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Technologie SDS (Software-Defined Storage) de DataCore

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

CHAPITRE 1 ARCHITECTURE

2 Programme de formations ERP... 7

1 JBoss Entreprise Middleware

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Cours Bases de données 2ème année IUT

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Raja Bases de données distribuées A Lire - Tutoriel

PROJET 1 : BASE DE DONNÉES REPARTIES

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Présentation du PL/SQL

ORACLE DIAGNOSTIC PACK 11G

Bases de données cours 1

Structure fonctionnelle d un SGBD

Clients et agents Symantec NetBackup 7

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Le Langage SQL version Oracle

Intégrité des données

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Administration des bases de données. Jean-Yves Antoine

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Cours admin 200x serveur : DNS et Netbios

FAMILLE EMC RECOVERPOINT

Fiche méthodologique Rédiger un cahier des charges

Chapitre 9 : Informatique décisionnelle

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Réplication des données

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus..

WD et le logo WD sont des marques déposées de Western Digital Technologies, Inc, aux États-Unis et dans d'autres pays ; absolutely WD Re, WD Se, WD

Cours: Administration d'une Base de Données

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

INTRODUCTION : Données structurées et accès simplifié

StorageTek Tape Analytics

Java DataBaseConnectivity

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Politique et charte de l entreprise INTRANET/EXTRANET

ARTEMIS VIEWS EARNED VALUE MANAGEMENT. avec CostView

Transcription:

Chapitre 10 Architectures des systèmes de gestion de bases de données

Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér plusieurs ordinateurs entre eux, nous utilisons : Réseaux téléphoniques Réseaux grand débit Liaisons satellite Ce changement a favorisé une nouvelle approche, basée sur la technologie client/serveur qui a fait aussi augmenter le rôle du dans les entreprises. Le partage d informations a modifié nos entreprises et permis d appliquer des principes modernes de réduction du processus de fabrication (ex: Just-In-Time). Les bases de données deviennent actives les informations stockées dans les BD doivent maintenant favoriser les opérations et indiquer les besoins de qualité. 2

Plan du chapitre Les points abordés dans ce chapitre sont les suivants : L architecture centralisée L architecture client-serveur Structure des bases de données réparties Bases de données actives 3

L architecture centralisée L architecture centralisée est la plus ancienne. Elle se composait : d ordinateurs centraux; de terminaux. Tous le travail (les processus) s exécute sur les systèmes centraux, donc le temps de réponse aux requêtes dépend de la charge du système. Ce sont des systèmes simples, mais peu flexibles. 4

L architecture client/serveur L architecture client/serveur découle: Des améliorations des interfaces graphiques; Les ordinateurs personnels à moindre coûts; Des réseaux locaux; Des bases de données relationnelles; Des langages de traitement de données; Outils de conception assistée par ordinateur. Pour correspondre au modèle d architecture client/serveur, il faut: une communication entre des programmes tournant sur des ordinateurs différents. 5

L architecture client/serveur Le client un ordinateur qui contient un module informatique intelligent qui est utilisé par un seul usager. fournit une interface entre l'usager et l'application informatique. possède son propre système d'opération, celui-ci: 1. Accepte les demandes de l'utilisateur; 2. Ensuite effectuer une requête au serveur d'application; 3. Finalement, affiche le résultat à l'écran. Peut calculer, afficher des données, modifier les données, fournir de l'aide Mais il ne peut pas avoir accès directement aux données. 6

L architecture client/serveur Le serveur Est un ordinateur connecté à un réseau qui fournit des services à d'autres ordinateurs (clients). Est un module informatique intelligent qui n'est pas accédé directement par l'usager. 1. reçoit des requêtes des ordinateurs clients, 2. exécute les requêtes à l'aide du, 3. retourne le résultat aux clients. Note: L'application client/serveur peut utiliser plusieurs serveurs pour fournir différents services aux clients. Ex: Serveur de fichier, d'imprimante, de Fax, de communication et de base de données. 7

La division du travail par l approche client/serveur Le module serveur exécute les requêtes SQL provenant des clients et retourne le résultat. Le module client consiste en un ordinateur client qui possède: l'interface personne-machine qui est une application de la base de données son système d'opération propre, un programme de communication hardware/software 8

La division du travail par l approche client/serveur La figure ci-contre illustre comment un client peut fournir de l'information à partir d'un serveur de base de données via un lien LAN (Local Area Network) à d'autres clients. 9

La division du travail par l approche client/serveur Une mauvaise intégration des ressources informatiques peut engendrer une complexité pour la gestion de l information. Cette situation se produit souvent lors de l'acquisition ou la consolidation d'entreprises. Les clients de SQL Server ou d'oracle ne peuvent accéder aux données d'informix et vice-versa. Un interface client pour chaque système!!! 10

La division du travail par l approche client/serveur Voici la possibilité d une interface universelle qui permet à chaque client d'avoir accès à l'ensemble des données. 11

La division du travail par l approche client/serveur Exemple d application client/serveur pour gérer un atelier de réparation: 1. Le préposé au service entre les détails des réparations dans la BD; 2. L'analyste des opérations lit les données de la BD; 3. Il envoie un rapport via le courrier électronique au management; 4. le groupe dédié aux réparations reçoit la liste des réparations. 12

Structure des bases de données réparties Une BD répartie se compose d'un ensemble de sites dont chacun héberge un système local de gestion de base de données. Chaque site est donc capable de traiter des transactions locales, qui ne concernent que les données de ce site particulier. d'exécuter des transactions globales sur les données de plusieurs sites. Ce qui nécessite une liaison entre les sites. Les BD réparties communiquent au moyen de: de réseaux téléphoniques, de réseau à grand débit, de liaisons par satellite. 13

Structure des bases de données réparties Voici les configurations les plus communément adoptées pour ce genre de réseau. 14

Structure des bases de données réparties Ces configurations se différencient par les paramètres suivants: coût d'installation : frais d'établissement d'une liaison physique entre les sites; coût d'exploitation : frais de transmission et durée de transmission entre les sites; fiabilité : fréquence de pannes de liaison ou de site des liaisons établies; disponibilité : niveau d'accessibilité du système en dépit des pannes de quelques liaisons ou de quelques sites. L'avantage essentiel de la répartition des données réside dans l'efficacité et la fiabilité d'accès à des données partagées. 15

Inconvénients de la répartition des données L'inconvénient majeur de la répartition des données d'une BD entre plusieurs sites est la complexité résultant de leur coordination. Cette complexité se répartit de la façon suivante : Le coût de mise au point du logiciel; Le nombre d'erreurs logicielles plus important; Les servitudes du système accrues. Note: la répartition des données peut s'effectuer à des degrés divers entre un système fortement centralisé et un système à dispersion quasi totale. 16

Architecture des bases réparties Une BD relationnelle peut avoir ses relations stockées dans la base de plusieurs façons : avec réplication: les divers sites stockent chacun une copie de la relation; avec fragmentation: la relation est découpée en plusieurs fragments hébergés par un site donné; avec réplication et fragmentation: combinaison des deux processus précédent. 17

Réplication des données La réplication des données implique qu une relation est répliquée et stockée intégralement dans deux ou plusieurs sites. Avantages et inconvénients: disponibilité des données: une relation peut être atteinte sur n'importe quel site en cas d'avarie affectant un site donné; parallélisme des traitements: pour des transactions de lectures, plusieurs sites peuvent travailler en parallèle sur une même relation; servitudes de mise à jour: toutes mises à jour (écritures) sur une relation doivent être appliquées à l'ensemble des sites, ce qui alourdit la procédure de gestion de la BD. 18

Fragmentation des données La fragmentation des données implique le découpage d une relation en plusieurs sous-relations pour chaque site donné. Il existe deux façons de fragmenter: horizontalement ou verticalement. Agence Compte Client Position Hillside 305 Lowman 500 Ex: relation Dépôt Hillside 226 Camp 336 Valleyview 117 Camp 205 Valleyview 402 Kahn 10000 Hillside 155 Kahn 2 Valleyview 408 Kahn 1123 Valleyview 639 Camp 750 19

Fragmentation horizontale Par exemple, on peut subdiviser la relation Dépôt par agence: Dépôt 1 = σ agence = Hillside (Dépôt) Agence Compte Client Position Hillside 305 Lowman 500 Hillside 226 Camp 336 Hillside 155 Kahn 62 La relation Dépot 1 est stockée à l agence Hillside Dépôt 2 = σ agence = Valleyview (Dépôt) : Agence Compte Client Position Valleyview 117 Camp 205 Valleyview 402 Kahn 10000 Valleyview 408 Kahn 1123 Valleyview 639 Camp 750 La relation Dépot 2 est stockée à l agence Valleyview 20

Fragmentation horizontale Voici un autre exemple de fragmentation horizontale sur deux sites différents. Département de recherche Département d administration 21

Fragmentation verticale La fragmentation verticale permet de séparer une relation au niveau des colonnes (attributs). Cette séparation s'obtient en ajoutant un attribut spécial à la relation, tuple-id. Ce tuple-id représente l'adresse physique du tuple et représente une clé primaire. Agence Compte Client Position tuple-id Hillside 305 Lowman 500 1 Hillside 226 Camp 336 2 Valleyview 117 Camp 205 3 Valleyview 402 Kahn 10000 4 Hillside 155 Kahn 62 5 Valleyview 408 Kahn 1123 6 Valleyview 639 Camp 750 7 22

Fragmentation verticale Voici la fragmentation verticale de la relation Dépôt: Dépôt 3 = s agence,client,tuple-id (Dépôt) Agence Client tuple-id Hillside Lowman 1 Hillside Camp 2 Valleyview Camp 3 Valleyview Kahn 4 Hillside Kahn 5 Valleyview Kahn 6 Valleyview Camp 7 Les colonnes agence et client sont conservées. Dépôt 4 = s compte,position,tuple-id (Dépôt) Les colonnes compte et position sont conservées. Compte Position tuple-id 305 500 1 226 336 2 117 205 3 402 10000 4 155 62 5 408 1123 6 639 750 7 L'attribut tuple-id est en général invisible à l'utilisateur et il sert essentiellement à recombiner les relations verticales. 23

Fragmentation mixte La fragmentation mixte est une combinaison des fragmentations horizontales et verticales. Par exemple, on peut fragmenter horizontalement la relation Dépôt 3 : Dépôt 3a = σ agence = Hillside (Dépôt 3 ), Agence Client tuple-id Hillside Lowman 1 Hillside Camp 2 Hillside Kahn 5 Dépôt 3b = σ agence = Valleyview (Dépôt 3 ). Agence Client tuple-id Valleyview Camp 3 Valleyview Kahn 4 Valleyview Kahn 6 Valleyview Camp 7 24

Réplication et fragmentation des données Les techniques qui précèdent peuvent être appliquées séquentiellement à une même relation : Imaginons un système réparti sur 10 sites, S 1, S 2,..., S 10 ; avec la fragmentation mixte de Dépôt en : Dépôt 3a, Dépôt 3b et Dépôt 4, puis stockée de cette façon: une copie de Dépôt 3a sur les sites S 1, S 3 et S 7, une copie de Dépôt 3b sur les sites S 7 et S 10 et une copie de Dépôt 4 sur les sites S 2, S 8 et S 9. 25

Transparence et Autonomie La dispersion d une relation sur plusieurs sites devrait être transparente à l utilisateur. Pour obtenir l'autonomie locale, le système utilise une désignation particulière pour identifier les sous-relations réparties sur la BD. Par exemple : site10.dépôt.f 3.r 2 désigne, sur le site 10, la réplique 2 du fragment 3 de la relation Dépôt. Inconvénient: Restreint la transparence des données puisqu'elles sont marquées par leur origine. Solution: Création pour chaque sous-relations des alias à l'usage de l'utilisateur. Ce dernier peut alors manipuler ces sous-relations au moyen d'étiquettes de substitution plus simples que le système transcrit en désignations complètes. 26

Traitement des requêtes sur BD répartie Au chapitre 9, nous avons vu diverses techniques de calcul de la réponse à une requête. Dans le cas d'un système réparti, il faut prendre en compte d autres paramètres : le coût de transmission des données sur le réseau; le gain potentiel de performance résultant d'un traitement parallèle par plusieurs sites d'une requête donnée. 27

Traitement des requêtes sur BD répartie Traitement par jonction naturelle Considérons l'expression algébrique relationnelle : Clientèle X Dépôt X Banque Ex:Supposons que les 3 relations ne sont pas répliquées ni fragmentées et que Clientèle est stockée sur le site S 3, Dépôt sur le site S 4 et Banque sur le site S 2. Le système doit fournir le résultat au site S 10. Le système peut utiliser l'une des trois stratégies suivantes : 1. expédier des copies des trois relations au site S10 et calculer la jonction; 28

Traitement des requêtes sur BD répartie 2. expédier une copie de Clientèle au site S 4 et calculer : r i = Clientèle X Dépôt sur ce site; expédier le résultat intermédiaire r i sur le site S 2 et calculer : r f = r i X Banque sur ce site; expédier le résultat final r f sur le site S 10, 3. une stratégie semblable à la stratégie 2 avec permutation des sites de façon à optimiser la jonction naturelle. L optimiseur choisira la stratégie la moins coûteuse pour la requête. 29

Traitement des requêtes sur BD répartie Traitement par jonction naturelle en exploitant le parallélisme Considérons l'expression algébrique relationnelle suivante : r 1 X r 2 X r 3 X r 4 Une façon de résoudre le problème consiste à calculer en parallèle deux jonctions. Par exemple, r 1 peut être expédiée sur S 2 : r 1,2 = r 1 X r 2 est calculée sur S 2. Simultanément, r 3 peut être expédiée sur S 4 : r 3,4 = r 3 X r 4 est calculée sur S 4. Il reste à expédier r 1,2 sur le site S 4 et calculer : r 1,2,3,4 = r 1,2 X r 3,4 Et ce résultat final est expédié au site où la requête s'est effectuée. 30

Bases de données actives La base de données active est flexible aux variations externes: Ce sont les forces du marché qui déterminent ce qui doit être produit, comment le fabriquer et ou le distribuer. Pour une entreprise en compétition sur le marché mondial le savoir correspond au pouvoir. Pour être compétitive, elle doit pouvoir utiliser ses données d'opération en information tactique servant à maximiser ses chances de succès. La source principale qui alimente cette force est la base de données de l'entreprise. 31

Bases de données actives Cycle de fabrication assisté d une base de données active 32

Le pouvoir de l information Exemple de schéma hiérarchique d une entreprise qui tente d imposerle résultat de sa production Pour réussir à implanter les concepts modernes de fabrication (Just-In-Time, Atelier Flexible, etc..., ), il faut changer notre vision des systèmes d'information. Ce modèle illustre l'interaction entre les différents départements. Basé sur les demandes des clients. 33

Serveur passif VS serveur actif Un serveur passif est contrôlé par ses clients, il fait des opérations sur les données qui sont dictées par les clients. il ne peut pas exécuter de programme de base de données. Un serveur actif incorpore sa propre logique de contrôle. opère à partir de ses clients, d'autres serveurs gère ses événements internes. il peut exécuter des fonctions SQL. 34

Exemple de base de données active La figure illustre le processus de coopération entre deux serveurs de base de données. Par exemple, un contracteur qui magasine chez Rona demande 4 caisses de peinture. Le préposé au comptoir fait une requête pour vérifier la disponibilité du produit. Le serveur local du centre de distribution détecte qu'il n'y a que 2 caisses en stock. Il réserve donc ces deux caisses et en commande 2 autres d'un autre centre de distribution. 35

Concepts de BD actives Voici un serveur actif qui est commandé indirectement par des événements (alarme) et par des commandes directes (usager) pour rétablir le système. Évènement Application de l action Serveur actif à l écoute des évènements Déclenchement de la procédure Action à prendre 36

Concepts de BD actives Règles actives : ex : Déclencheurs (triggers), comporte 3 composantes: 1. Un évènement déclencheur 2. Une condition (optionnel) 3. Une action à prendre Oracle, Sybase, DB2 Ex: END; CREATE TRIGGER SalaireTotale AFTER UPDATE OF DNO ON EMPLOYE FOR EACH ROW BEGIN UPDATE DEPARTEMENT SET TOTAL_SAL = TOTAL_SAL + NEW.SALARY WHERE DNO= NEW.DNO UPDATE DEPARTEMENT SET TOTAL_SAL = TOTAL_SAL - OLD.SALARY WHERE DNO= OLD.DNO 37

En résumé Les bases de données actives permettent de créer des systèmes d'information: plus performants, plus rapides, à meilleur coût que dans le passé. 38