Gestion de données réparties. Cours 1



Documents pareils
Module BDR Master d Informatique (SAR)

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

Module BDR Master d Informatique (SAR)

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

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

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

Intégration de données hétérogènes et réparties. Anne Doucet

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

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

Implémentation des SGBD

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

Cours Bases de données

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

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

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

Architectures d'intégration de données

CESI Bases de données

Bases de données avancées Introduction

Bases de données réparties et fédérées

INTRODUCTION AUX BASES de DONNEES

Bases de données Cours 1 : Généralités sur les bases de données

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Gestion des transactions et accès concurrents dans les bases de données relationnelles

CHAPITRE 1 ARCHITECTURE

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

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

Données Réparties. Thibault BERNARD.

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

Bases de données cours 1

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

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Module BD et sites WEB

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

Réplication des données

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Le modèle client-serveur

Bases de données distribuées et fédérées

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

TP Bases de données réparties

Les bases de données Page 1 / 8

Cours de Base de Données Cours n.12

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

Bases de données et sites WEB

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

et les Systèmes Multidimensionnels

Année Universitaire 2009/2010 Session 2 de Printemps

Java et les bases de données

Information utiles. webpage : Google+ : digiusto/

Bases de données relationnelles : Introduction

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Introduction aux Bases de Données Relationnelles Conclusion - 1

UE 8 Systèmes d information de gestion Le programme

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Le Langage SQL version Oracle

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

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Bases de données avancées Concurrence d'accès et reprise

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Chapitre 1 : Introduction aux bases de données

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Le Network File System de Sun (NFS)

Les Entrepôts de Données

Bases de Données Avancées

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

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

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

PHP 4 PARTIE : BASE DE DONNEES

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

CHAPITRE 1. Introduction aux bases de données

Application web de gestion de comptes en banques

2 Serveurs OLAP et introduction au Data Mining

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

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

Introduction aux bases de données

Bases de données - Modèle relationnel

Architectures web/bases de données

PROJET 1 : BASE DE DONNÉES REPARTIES

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Datawarehouse and OLAP

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Java DataBaseConnectivity

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

SQL Server 2012 et SQL Server 2014

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Les Géodatabases en 9.2

Qu est-ce que ArcGIS?

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

IFT3030 Base de données. Chapitre 1 Introduction

Structure fonctionnelle d un SGBD

Gestion répartie de données - 1

Du 10 Fév. au 14 Mars 2014

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Fiche Produit Global Directory pour Jabber

Les bases de données

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

Bases de Données Avancées

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Transcription:

Gestion de données réparties Cours 1

SGBD distribué Rend la distribution (ou répartition) des BD locales transparente catalogue des BD traitement des requêtes distribuées gestion de transactions distribuées cohérence, sécurité, réplication, etc. SGBD1 SGBDR SGBD2

Evaluation Avantages extensibilité partage des données hétérogènes et réparties performances avec le parallélisme disponibilité (tolérance aux pannes) avec la réplication Difficultés administration complexe distribution du contrôle difficulté de migration

Migration vers une BDR Décomposition physique en BD locales BD BD1 BD2 BD3 Intégration logique des BD locales existantes BD BD1 BD2 BD3

Architecture de schémas application 1 application 2 Schéma global Schéma local 1 Schéma local 2 Schéma local 3 Avantage: indépendance applications/bdr Inconvénient : schéma global à gérer

Architecture Processeur de requêtes décomposition de la requête schéma local sous-requêtes Adaptateur1 Source1 Requêtes Résultats Schéma global composition du résultat schéma local schéma local Catalogue global des sources interfaces identiques Adaptateur2 Adaptateur3 Source2 Source3 interfaces différentes

Schéma global schéma conceptuel global donne la description globale et unifiée de toutes les sources de données (e.g., des relations globales) ex. Offres (emploi, ville, date), Demandes (nom, emploi) schéma de placement règles de correspondance avec les données locales Offres = Offres@site1 Offres@site2 Demandes = Demandes@site1

Fonctions d un adaptateur Adaptateur Table virtuelle JDBC Extraction Structuration Filtrage et fusion Transformation Source

Exemple d adaptateur Offres 1 EMPLOI VILLE DATE MECANO TECHNIC MECANO MECANO TECHNIC MECANO MECANO TECHNIC MECANO MECANO TECHNIC MECANO LYON LYON GRENOBLE ANNECY LYON GRENOBLE ANNECY ANNECY LYON GRENOBLE ANNECY LYON 09/99 12/99 03/98 05/98 09/99 12/99 03/98 05/98 09/99 12/99 03/98 05/98 SQL Adaptateur Offres 1 H T T P emploi ville date select * from Annonces 1 where (emploi=mécano or emploi=technicien) and région=rhône-alpes Extraction Structuration Transformation Filtrage Serveur Web pages HTML/XML

Offres d adaptateurs Fournisseurs indépendants extracteurs indépendants entre les données sources et les outils cibles Information Builders Inc. (IBI), Evolutionary Technology Inc. (ETI), Prism, Carleton, etc. Editeurs de SGBD passerelles entre le SGBD et les données sources interface standard : ODBC, JDBC, OLE/DB, ADO Oracle, DB2, Microsoft, Sybase, etc.

Intégration de bases de données N modèles SD 1 SD 2 SD n nnn Traduction de schémas Traducteur 1 Traducteur 2 Traducteur n Le même modèle Schéma local 1 Schéma local 2 Schéma local n Intégration de schémas Intégrateur Schéma Global

Modèles d intégration Modèle relationnel structures de données simples et régulières Modèle objet structures de données complexes et régulières Modèle semi-structuré (XML) structures de données complexes et irrégulières pas de schéma obligatoire

Intégration de schémas 1. pré-intégration identification des éléments reliés et établissement des règles de conversion (e.g. 1 pouce = 2,54 cm) 2. comparaison identification des conflits de noms (synonymes et homonymes) et des conflits structurels (types, clés) 3. mise en conformité résolution des conflits de noms et des conflits structurels (changements de types, de clés) 4. fusion et restructuration fusion des schémas intermédiaires pour créer le schéma intégré

Intégration en relationnel Emp = Emp@Site1 U Emp@Site2 prenom nom ville tel. null Anne null Jean P. Dupont Martin A. Martin Smith Paris Nantes Nantes Lille 0140... null 0235 null Emp@Site1 Emp@Site2 nom ville tel. prenom nomf ville P. Dupont A. Martin Paris Nantes 0140... 0235... Anne Jean Martin Smith Nantes Lille Problèmes: renommage et introduction de valeurs nulles

Interrogation en relationnel (SQL) select prenom, nom, tel. from Emp where ville = "Nantes" prenom nom ville null Anne null Jean P. Dupont Martin A. Martin Smith Paris Nantes Nantes Lille tel. 0140... null 0235 null prenom Anne null nom Martin A. Martin tel. null 0235

Intégration en objet Emp nom ville tel. : null Emp@site1 tel. Emp@site2 nom: (prenom, nomf) A. Martin, Nantes, 0235... (Anne, Martin), Nantes Problème: redéfinition d attribut

Interrogation en objet (SQL3) select nom, tel. from Emp where ville = "Nantes" A. Martin, 0235 (Anne, Martin), null

Traitement de requête distribuée Requête Processeur de requête Reformuler sur les schémas locaux Identifier les opérations exécutables par les adaptateurs Produire un plan d exéc. distribué Système d exécution Intégrer les résultats call call résultat Adaptateur Adaptateur résultat

Exemple de traitement de requête simple Select A from R where B = b Fragmentation R = R1 U R2 Select A from R1 where B =b union Select A from R2 where B = b Optimisation R1 = R1 @ Site1 R2 = R2 @ Site2 R2 = R2 @ Site3 Select A from R1 @ Site1 where B = b union Select A from R2 @ Site3 where B = b

SGBD distribués SGBD relationnels Oracle, Ingres, Sybase, DB2, Informix DataJoiner (IBM) basésur DB2 VirtualDB (Enterworks) basé sur GemStone, vue objet des tables Open Database Exchange (B2Systems)

Oracle et la distribution des données Admin. Requête SGBD Oracle Net8 OCI Net8 SQL*Connect SQL Server OCI Net8 SQL*Connect DB2 SGBD Oracle gestion du catalogue de la BDR SQL*Net connexion client-serveur, login à distance automatique requêtes distribuées, transactions distribuées, réplication SQL*Connect : passerelle vers les bases non-oracle

Database link Lien à une table dans une BD distante specifié par : nom de lien nom de l'utilisateur et password chaîne de connexion Net8 (protocole réseau, nom de Exemple site, options, etc ) CREATE DATABASE LINK empparis CONNECT TO patrick IDENTIFIEDBY monpw USING Paris.emp

Le problème d intégration d information Prolifération des sources de données distribuées publiques et privées (payantes) très nombreuses autonomes (contrôle local) incohérentes (redondance) hétérogènes Famine d information difficile d extraire l information pertinente filtrage manuel coût élevé

Les problèmes en client-serveur Appli1 Appli2 Appli3 Source1 Source2 Source3 Source4 Chaque application doit gérer les communications la manipulation de données les performances Ne passe pas à l échelle

Entrepôt de données utilisateur requête réponse Entrepôt (BD relationnelle) Intégrateur Extraction et nettoyage de données Schéma local Schéma local Schéma local Source 1 Source 2 Source 3

Entrepôts de données Fonctions Regroupement et récupération de données existantes Référencer les données de manière uniforme Stockage des données et de l historique des données Mise à disposition des données pour analyse Bilan Bonnes performances Données pas toujours fraîches Nettoyage et filtrage des données

Médiateur utilisateur requête réponse Schéma global Médiateur adaptateur adaptateur adaptateur Schéma local Source 1 Schéma local Source 2 Schéma local Source 3

Fonctions Médiateurs d information catalogue global des données intégration de schémas génération d adaptateurs requêtes distribuées Bilan point d accès unique et uniforme indépendance application/sources => évolution les données sont toujours fraîches traitement de requêtes peut être coûteux performances

Réseaux Pair-à-pair Réseau d ordinateurs, où chaque nœud est à la fois client et serveur : met à disposition des ressources, et accède à des données se trouvant sur d autres nœuds. Pas de vision centralisée du système Pas de coordination centralisée Pas de schéma Principe de propagation des requêtes Grande autonomie des nœuds Accès à des fichiers

Comparaison Modèle Requêtes Admin. Hétérog énité Autono mie Nb de sources SGBD répartis Relationnel Requêtes complexes, transactions Globale Faible Faible dizaines Entrepôts Relationnel Complexes, lecture Globale Faible Forte dizaines Médiateurs Relationnel, objet, semistructuré Simples, textuelles Locale Forte Forte centaines P2P Fichiers Simples Locale Forte Forte milliers

Quelques systèmes Systèmes utilisant une approche GAV TSIMMIS (Stanford) : modèle semi-structuré HERMES (Maryland) : relationnel YAT : semi-structuré AGORA : relationnel XMLMedia : semi-structuré Systèmes utilisant une approche LAV Information Manifold (AT&T) : relationnel (+ quelques concepts objet) Tukwila (U.Washington) Xyleme : semi-structuré Produits commerciaux : Les constructeurs ont maintenant des produits (IBM Information Integrator, Microsoft : OLE-DB-NET ) Nombreuses startups

Bibliographie A. Halevy, Answering queries using views : a survey, VLDB Journal, 2001. http://www.cs.washington.edu/homes/alon/ S. Chawathe, H. Garcia-Molina, J. Hammer, K. Ireland, Y. Papakonstantinou, J.D.Ullman, J. Widom : The TSIMMIS Project: Integration of heterogeneous information sources, in 16th Meeting of the Information Processing Society of Japan, Tokyo, 1994. I. Manolescu, D. Florescu, D. Kossman : Answering XML queries over heterogeneous data sources, BDA 2001. G. Wiederhold: Mediators in the architecture of future information systems, Computer, 25(3):38-49, 1992. G. Wiederhold: Mediation in information systems. ACM Computing Surveys, 27(2), 1995.

Transactions réparties

Concept de transaction Une transaction est une collection d'actions qui transforment la BD (ou des fichiers) depuis un état cohérent en un autre état cohérent BD cohérente (garantie par le système) transaction cohérente (garantie par le programmeur) BD dans un état cohérent exécution de la transaction Begin BD dans un état cohérent End

Problèmes liés à la répartition Les mises à jour sont effectuées sur TOUS les sites, ou sur AUCUN => nécessité de coordonner. Items locaux (physique) et items globaux (logique). Transaction globale et transaction locale : le système doit garantir la sérialisabilité globale. Verrouillage centralisé vs décentralisé verrous logiques et verrous physiques verrous mortels intersites

Isolation par verrouillage 2 Phases verrous T temps Les verrous en lecture sont partageables; ceux en écriture sont exclusifs Règle 1 avant d'accèder à un granule x, une transaction doit acquérir un verrou sur x. Si x est déjà verrouillé de façon exclusive, la transaction attend Règle 2 dès qu'une transaction relâche un verrou, elle ne peut plus acquérir de nouveau verrou 2phases strict : tous les verrous sont libérés à la fin de la transaction. Plus contraignant. Utilisé dans les SGBD répartis pour minimiser le nombre de messages.

Performances L'objectif est de réduire: les blocages une transaction attend qu'une autre transaction relâche ses verrous les inter-blocages un ensemble de transactions attend que l'une d'entre elles relâche ses verrous

Gestion de transactions réparties Begin Read Write Abort Commit application résultats Gérant de Transactions Globales STrans. STrans. Gérant de Transactions Locales Gérant de Transactions Locales

Protocole de validation en deux étapes (2PhaseCommit) Objectif : Exécuter COMMIT pour une transaction répartie Phase 1 Préparer à écrire les résultats des mises à jour dans la BD Phase 2 Ecrire ces résultats dans la BD Coordinateur composant système d un site qui applique le protocole (lance la transaction, la découpe en sous-transactions à exécuter sur les différents sites, coordonne la terminaison de la transaction) Participant composant système d un autre site qui participe dans l'exécution de la transaction

Actions du protocole Coordinator Participant INITIAL PREPARE INITIAL write begin_commit in log VOTE-ABORT write abort in log No Ready to Commit? Yes WAIT VOTE-COMMIT write ready in log Any No? Yes write abort in log GLOBAL-ABORT READY No GLOBAL-COMMIT write commit in log COMMIT ABORT ACK write abort in log Abort Type of msg? Commit ACK write commit in log write end_of_transaction in log ABORT COMMIT

Validation normale P1 Coordinateur P2 préparer préparer prêt prêt valider valider fini fini

Panne d'un participant avant d'être prêt P1 Coordinateur P2 préparer prêt abandon fini préparer timeout abandon fini } reprise panne

Panne d'un participant après s'être déclaré prêt P1 Coordinateur P2 préparer préparer prêt prêt valider fini valider prêt } panne reprise valider fait

Panne du coordinateur P1 Coordinateur P2 préparer prêt préparer prêt valider fini préparer prêt préparer prêt valider fini

Protocoles de verrouillages répartis Traduire le verrouillage logique en verrouillages physiques. 1. Pas de réplication : - gestionnaire de verrous local sur chaque site + facile à implémenter + peu de messages (2 pour verrouiller, 1 pour libérer) - gestion des verrous mortels complexe 2. Avec réplication : - plusieurs méthodes, dont le coût (nb de messages) dépend du nombre de copies, du rapport lectures/écritures, de la concurrence (verrous refusés)

Détection des verrous mortels 1. Timeout Pb : bien déterminer le délai + pas de messages - risque d annulation de plusieurs transactions au lieu d une seule 2. Graphe d attente Les nœuds sont les transactions. On a un arc de Ti ->Tj si Ti attend un verrou tenu par Tj. On construit des graphes locaux, mais les cycles doivent être détectés sur le graphe global (union des graphes locaux). T1 T2 T1 T2 T1 T2 Site 1 Site 2 Graphe global

Détection des verrous mortels Estampilles même principe qu en centralisé. Les transactions s exécutent sur n importe quel site, et laissent une estampille pour la copie en question. En cas d écriture, la transaction écrit sur tous les sites où se trouvent des copies. Comparaison des estampilles wait-die et wound-wait Pb. Étendre la notion d estampille au réparti, harmoniser les horloges.