• Aucun résultat trouvé

Gestion de données réparties. Cours 1

N/A
N/A
Protected

Academic year: 2022

Partager "Gestion de données réparties. Cours 1"

Copied!
47
0
0

Texte intégral

(1)

Gestion de données réparties

Cours 1

(2)

SGBD distribué

SGBDR

SGBD1 SGBD2

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.

(3)

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

(4)

Migration vers une BDR

Décomposition physique en BD locales

Intégration logique des BD locales existantes

BD

BD1 BD2 BD3

BD

BD1 BD2 BD3

(5)

Architecture de schémas

Schéma global

application 1 application 2

Schéma local 1 Schéma local 2 Schéma local 3

– Avantage: indépendance applications/BDR

– Inconvénient : schéma global à gérer

(6)

Architecture

Schéma

décomposition de la requête

schéma local

schéma local

global

composition du résultat

schéma local

Résultats Requêtes

interfaces différentes interfaces

identiques

Processeur de requêtes

Source1 Adaptateur1

Source2 Adaptateur2

Source3 Adaptateur3

sous-requêtes

Catalogue global des sources

(7)

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

(8)

Fonctions d’un adaptateur

JDBC

Adaptateur

Extraction Structuration Filtrage et fusion Transformation Table

virtuelle Source

(9)

Exemple d’adaptateur

H T T P

SQL

Adaptateur Offres 1

Serveur Web pages HTML/XML Transformation

EMPLOI MECANO TECHNIC MECANO MECANO TECHNIC MECANO MECANO TECHNIC MECANO MECANO TECHNIC MECANO

VILLE LYON LYON GRENOBLE ANNECY LYON GRENOBLE ANNECY ANNECY LYON GRENOBLE ANNECY LYON

DATE 09/99 12/99 03/98 05/98 09/99 12/99 03/98 05/98 09/99 12/99 03/98 05/98

Offres 1

Filtrage Structuration

Extraction

emploi

ville

date

select * from Annonces 1

where (emploi=mécano oremploi=technicien) and région=Rhône-Alpes

(10)

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.

(11)

Intégration de bases de données

SD 1 SD 2 SD n

N modèles

Intégration

de schémas Intégrateur

Schéma Global Traduction

de schémas

Schéma local 1

Traducteur 1 Traducteur 2 Traducteur n

Le même modèle

n n n

Schéma local 2 Schéma local n

(12)

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

(13)

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é

(14)

Intégration en relationnel

• Problèmes: renommage et introduction de valeurs nulles

nom ville P. Dupont

A. Martin

Paris Nantes

nomF ville Martin

Smith

Nantes Lille Emp@Site1

tel.

0140...

0235...

Emp@Site2 prenom

Anne Jean prenom nom ville

P. Dupont Martin A. Martin Smith

Paris Nantes Nantes Lille

Emp = Emp@Site1 U Emp@Site2

null Anne null Jean

tel.

0140...

null 0235…

null

(15)

Interrogation en relationnel (SQL)

select prenom, nom, tel.

from Emp

where ville = "Nantes"

prenom nom ville P. Dupont

Martin A. Martin Smith

Paris Nantes Nantes Lille null

Anne null Jean

tel.

0140...

null 0235…

null

prenom nom

Martin A. Martin Anne

null

tel.

null 0235…

(16)

Intégration en objet

• Problème: redéfinition d’attribut

Emp nom ville

tel. : null

Emp@site1 tel.

Emp@site2

nom: (prenom, nomF)

A. Martin, Nantes, 0235...

(Anne, Martin), Nantes

(17)

Interrogation en objet (SQL3)

select nom, tel.

from Emp

where ville = "Nantes"

(Anne, Martin), null A. Martin, 0235…

(18)

Traitement de requête distribuée

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

résultat

Adaptateur Adaptateur Requête

(19)

Exemple de traitement de requête simple

Fragmentation

Optimisation

R = R1 U R2 Select A from R where B = b

Select A from R1 where B =b union Select A from R2 where B = b

Select A from R1 @ Site1 where B = b union Select A from R2 @ Site3 where B = b

R1 = R1 @ Site1 R2 = R2 @ Site2 R2 = R2 @ Site3

(20)

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)

(21)

Oracle et la distribution des données

SGBD

Oracle Net8

SQL Server Net8 SQL*Connect

Requête

OCI

OCI DB2 Admin.

• 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

Net8 SQL*Connect

(22)

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 site, options, etc…)

• Exemple

CREATE DATABASE LINK empParis

CONNECT TO patrick IDENTIFIEDBY monPW USING Paris.emp

(23)

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é

(24)

Les problèmes en client-serveur

Appli1

Source1

Appli2 Appli3

Source2 Source3 Source4

• Chaque application doit gérer – les communications

– la manipulation de données – les performances

Ne passe pas à l’échelle

(25)

Entrepôt de données

Intégrateur Entrepôt (BD relationnelle)

requête réponse

Schéma local Schéma local Schéma local

Extraction et nettoyage de données utilisateur

Source 1 Source 2 Source 3

(26)

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

(27)

Médiateur

Schéma global

Schéma local Source 1

Schéma local Source 2

Schéma local Source 3 Médiateur

requête réponse

utilisateur

adaptateur

adaptateur adaptateur

(28)

Médiateurs d’information

• Fonctions

– 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

(29)

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

(30)

Comparaison

milliers Forte

Forte Locale

Simples Fichiers

P2P

centaines Forte

Forte Locale

Simples, textuelles Relationnel,

objet, semi- structuré Médiateurs

dizaines Forte

Faible Globale

Complexes, lecture

Relationnel Entrepôts

dizaines Faible

Faible Globale

Requêtes complexes, transactions Relationnel

SGBD répartis

Nb de sources Autono

mie Hétérog

énité Admin.

Requêtes Modèle

(31)

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

(32)

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.

(33)

Transactions réparties

(34)

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)

Begin

Begin EndEnd

BD dans un état cohérent

BD dans un état cohérent exécution de la transaction

(35)

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

(36)

Isolation par verrouillage 2 Phases

verrous

temps T

• 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.

(37)

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

(38)

Gestion de transactions réparties

application

Gérant de

Transactions Globales

Gérant de

Transactions Locales

Gérant de

Transactions Locales résultats

Begin Read Write Abort Commit

STrans.

STrans.

(39)

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

(40)

Actions du protocole

Participant Coordinator

INITIAL

write abort in log

No

Yes write ready

in log VOTE-COMMIT

Yes GLOBAL-ABORT

write commit in log

No

write abort in log

Abort

Commit INITIAL

WAIT

READY

write commit in log write abort

in log

ABORT COMMIT

COMMIT ABORT

write begin_commit in log

ACK

ACK

write end_of_transaction

in log Any No?

Type of msg ? Ready to Commit ? PREPARE

VOTE-ABORT

GLOBAL-COMMIT

(41)

Validation normale

préparer

prêt

valider

finifini préparer

prêt

valider

finifini

P1P1 Coordinateur P2P2

(42)

Panne d'un participant avant d'être prêt

timeout

abandon abandon

panne panne

reprise reprise

}

prêt

**

**

**

**

**

**

**

**

finifini

finifini

préparer préparer

P1P1 Coordinateur P2P2

(43)

Panne d'un participant après s'être déclaré prêt

**

**

**

}

finifini

reprise reprise panne panne prêt

préparer préparer

P1P1 Coordinateur P2P2

prêt

faitfait

valider valider

valider prêt

(44)

Panne du coordinateur

préparer

finifini préparer

prêt

valider finifini

**

**

**

prêt

valider

*

préparer préparer

prêt prêt

P1P1 Coordinateur P2P2

(45)

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)

(46)

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

(47)

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.

Références

Documents relatifs

Je suis d'accord avec vous, mais cette décision va quand même dans le sens général de la jurisprudence de la Chambre sociale de la Cour de cassation qui soutient que le contrat

La seconde partie du rapport rassemble plusieurs annexes (220 pages), qui permettent de mieux cerner la transaction dans certains domaines spéciaux où elle est

Cet événement vous est présenté par Desjardins et le journal Les Affaires, en collaboration avec Miller Thomson Pouliot et RSM Richter Chamberland, avec le soutien de l’École

Alors qu’un modèle de transaction pour le calcul mobile n’a pas encore été élaboré, il semble évident qu’une certaine notion de transaction demeurera nécessaire pour

[r]

Le résultat net du Groupe est passé de 53,2 MDHs en 2010 à 46,1 MDHs en 2011 du fait notamment de l’augmentation des charges financières relatives notamment à un crédit

L'établissement ou la modification du règlement de copropriétéà la suite d'une décision du syndicat prise en application de l'article 26 de la loi du 10 juillet 1965 (si

– un agent commerciale dont la clientèle se compose pour moitié d'acquéreurs et vendeurs Bellifontains, et pour l'autre moitié de clients parisiens (acquéreurs cherchant