Manipulations multibases et distribuées Partie 1

39
Manipulations multibases et distribuées Partie 1 Witold Litwin [email protected]

description

Manipulations multibases et distribuées Partie 1. Witold Litwin [email protected]. Plan. Introduction Problèmes techniques à résoudre Origines du concept Approche Base Centralisée (ANSI-SPARC) Approche BDR (top-down) Approche Schéma Global (bottom-up) Architectures de référence - PowerPoint PPT Presentation

Transcript of Manipulations multibases et distribuées Partie 1

Page 1: Manipulations multibases et distribuées Partie 1

1

Manipulations multibases et distribuées

Partie 1

Manipulations multibases et distribuées

Partie 1

Witold [email protected]

Page 2: Manipulations multibases et distribuées Partie 1

2

Plan

Introduction Problèmes techniques à résoudre Origines du concept

– Approche Base Centralisée (ANSI-SPARC)

– Approche BDR (top-down)

– Approche Schéma Global (bottom-up)

Architectures de référence– Architecture multibase

– Architecture Fédérée

Concepts d'autonomie, d'hétérogénéité sémantique et du modèle commun

Page 3: Manipulations multibases et distribuées Partie 1

3

Modèle multibase

Modèle base unique ANSI-SPARC : – L'univers réel doit être modelé par une base de

données

L'univers réel sera modelé par plusieurs bases de données – autonomes

– sémantiquement hétérogènes

– munies d'un langage multibases "Multidatabase Interoperability". Litwin, W. Abdellatif, A. Multidatabase

Systems: An Advanced Solution for Global Information Sharing. Hurson, A., R., Bright, M., W., Pakzad, S., H., (ed.). IEEE Press, 1993

Page 4: Manipulations multibases et distribuées Partie 1

4

Modèle multibase

Cours & étudiants

Bibliothèque

Employés

Rest.

Mes-amisAutres BDs

surInternet

Paris 9Privé

Teletel

FolioCine

Page 5: Manipulations multibases et distribuées Partie 1

5

Problèmes majeurs

Architecture de référence Hétérogénéité sémantique en présence

d'autonomie locale Modèle de données commun Fonctions de langage multibases Transactions Protocoles & standards Performances

Page 6: Manipulations multibases et distribuées Partie 1

6

Architecture de référence

Architecture multibase– Généralisation de l'architecture BD

de ANSI-SPARC Architecture bases fédérées

– Généralisation de l'architecture BD fédérée Autres

Page 7: Manipulations multibases et distribuées Partie 1

7

Architecture BD de ANSI-SPARCUne BD centralisée intégrée (Années 1960-70)

CS

PS

ES ES

Niveau interne

Niveau externe

Niveau conceptuel

Univers réeel

ES - Schéma Externe

CS - Schéma Conceptuel

PS - Schéma Physique ou Interne

Page 8: Manipulations multibases et distribuées Partie 1

8

Base de données Répartie Origine du concept (années 1970)

– Développement de réseaux (lents : 20 Kb/s)

– Surcharge d'une BD centralisée

Page 9: Manipulations multibases et distribuées Partie 1

9

Base de données Répartie

Idée : distribution de fonctions autres que la communication locale (approche "top-down")

Lesquelles ? Exécution répartie (OS) Accès aux fichiers

La base Alors quel modèle de données pour le CS ?

Hiérarchique & réseau Relationnel

Page 10: Manipulations multibases et distribuées Partie 1

10

Fragmentation de relations

ParisLyon

Hotels (H#, Ville, Cat, #Chambres)

(H#, Ville) (H#, Cat, #Chambres)

Un fragment

Page 11: Manipulations multibases et distribuées Partie 1

11

Problèmes

Scalabilité du schéma global Utilité du schéma global pour un usager local Performances de requêtes (mauvais cas) Nécessité de migration de données existantes

dans de bases multiples d'une même entreprise» IMS, IDMS, Socrate...

Page 12: Manipulations multibases et distribuées Partie 1

12

Un usager peut avoir les données dans plusieurs BDs compatibles ANSI-SPARC et hétérogènes

Un GS présente toutes les données comme une seule BD classique – relationnelle ou fonctionnelle

(DAPLEX) les ES sont dérivés de GS

Un usager peut avoir les données dans plusieurs BDs compatibles ANSI-SPARC et hétérogènes

Un GS présente toutes les données comme une seule BD classique – relationnelle ou fonctionnelle

(DAPLEX) les ES sont dérivés de GS

Architecture "bottom-up"à Schéma Conceptuel Global (GS)

CS CS CS

GS

ES ES

PS PS PS

Approche GS ("bottom-up")

Page 13: Manipulations multibases et distribuées Partie 1

13

Problèmes avec l'approche "bottom-up"

Création du schéma global Hétérogénéité sémantique de

données Temps d'intégration / autonomie

de restructuration locale Mises à jour Performances Vues hétérogènes

Création du schéma global Hétérogénéité sémantique de

données Temps d'intégration / autonomie

de restructuration locale Mises à jour Performances Vues hétérogènes

CS CS CS

GS

ES ES

PS PS PS

Approche GS ("bottom-up")

Page 14: Manipulations multibases et distribuées Partie 1

14

Un usager peut avoir les données dans plusieurs BDs compatibles ANSI-SPARC

En général il sera impossible de créer un Schéma Global (GS)

L'usager peut être en face de plusieurs CSs

Un usager peut avoir les données dans plusieurs BDs compatibles ANSI-SPARC

En général il sera impossible de créer un Schéma Global (GS)

L'usager peut être en face de plusieurs CSs

Architecture MBD (Multibase)Absence de Schéma Conceptuel Global (GS)

CS CS CS

PS PS PS

Page 15: Manipulations multibases et distribuées Partie 1

15

Architecture multibase (W. Litwin & al, années 1980)

PS

ES

CSDS DS

ILS

CS

PS

CS

PS

CS

PS

ES ES

MDB layers

Internal layer

Ext. MDB layer

CS Conc. MDB layer

Usagers

ESmultibase

Req.MDB

Page 16: Manipulations multibases et distribuées Partie 1

16

Architecture MBD (Multibase)Concept de Langage Multibase

Un langage de définition et de manipulation de collections de BDs (multibases) au niveau conceptuel MDB

» Définition de ES multibases Présentant quelques bases comme une seule BD Peut-être des GSs, si peu de BDs à intégrer

» Définition de dépendances multibases entre les CSs dépendances sémantiques, intégrité, sécurité, manipulation...

» Formulation de requêtes (explicitement) multibases se referant aux noms de BDs avec des jointures multibases...

Trouver dans la base Michelin et dans la base Gaumont tous les restaurants '**' et cinémas sur une même rue

Un langage de définition et de manipulation de collections de BDs (multibases) au niveau conceptuel MDB

» Définition de ES multibases Présentant quelques bases comme une seule BD Peut-être des GSs, si peu de BDs à intégrer

» Définition de dépendances multibases entre les CSs dépendances sémantiques, intégrité, sécurité, manipulation...

» Formulation de requêtes (explicitement) multibases se referant aux noms de BDs avec des jointures multibases...

Trouver dans la base Michelin et dans la base Gaumont tous les restaurants '**' et cinémas sur une même rue

Page 17: Manipulations multibases et distribuées Partie 1

17

Architecture MBD (Multibase)Concept de Multibase

Une multibase (MBD) est une collection de BDs munie d'un langage multibase– par exemple le langage MSQL que l'on verra

Une collection de BDs sans langage multibase n'est pas une MDB, mais juste une collection de BDs– d'une même manière qu'une collection de

fichiers plats (tables) sans langage de base de données, SQL par exemple, n'est pas une BD

Page 18: Manipulations multibases et distribuées Partie 1

18

Quelques multibases potentielles

Cours & étudiants

Bibliothèque

Employés

Rest.

Mes-amisAutres BDs

surInternet

Paris 9Privé

Teletel

FolioCineMSQL: Create MDB Paris 9 Include Employés Include Bibliothèque .....

Page 19: Manipulations multibases et distribuées Partie 1

19

Architecture MBD Concept de Sous-niveau Interne Logique

Les modèles de données de BDs existantes peuvent être hétérogènes– différent dialectes de SQL– Relationnel, hiérarchique, réseau– OO et Relationnel-Objet– OO comme-ceci et OO comme-cela

Il est préférable d'avoir un seul modèle au niveau multibase– Il faut avoir une possibilité d'un sous-niveau de traduction

Par ailleurs un DBA peut ne pas vouloir montrer son CS local au niveau multibase

Solution: ILS - Schéma Interne Logique» inconnu de ANSI-SPARC» appelé par la passerelle (Gateway) ou médiateur

terminologie industrielle

Page 20: Manipulations multibases et distribuées Partie 1

20

Architecture multibase (W. Litwin & al, années 1980)

PS

ES

CSDS DS

ILS

CS

PS

CS

PS

CS

PS

ES ES

MDB layers

Internal layer

Ext. MDB layer

CS Conc. MDB layer

Usagers

ESmultibase

Req.MDB

Page 21: Manipulations multibases et distribuées Partie 1

21

Architecture Fédérée (Hambiger & McLeod, années 1980)

Toute BD doit être autonome En général il n'y aura pas d'un GS

– L'intégration globale est contraire à l'autonomie

Les BDs utilisées en commun doivent former une fédération de BDs autonomes

Toute BD d'une fédération doit avoir trois schémas:– ES: Schéma d'Exportation: pour les données permises à

l'exportation

– IS: Schéma d'Importation: pour les données importées

– PS: Schéma Privé: pour l'ensemble de données privées, ES et IS inclus

Il doit y avoir un Dictionnaire de Fédération (FD)

Toute BD doit être autonome En général il n'y aura pas d'un GS

– L'intégration globale est contraire à l'autonomie

Les BDs utilisées en commun doivent former une fédération de BDs autonomes

Toute BD d'une fédération doit avoir trois schémas:– ES: Schéma d'Exportation: pour les données permises à

l'exportation

– IS: Schéma d'Importation: pour les données importées

– PS: Schéma Privé: pour l'ensemble de données privées, ES et IS inclus

Il doit y avoir un Dictionnaire de Fédération (FD)

Page 22: Manipulations multibases et distribuées Partie 1

22

Architecture Fédérée (Hambiger & McLeod, années 1980)

PS

ESIS

PSES

IS

PSES

IS

PSES

IS

Fig 3. Federated databases architecture

FD

Page 23: Manipulations multibases et distribuées Partie 1

23

Comparaison

Architecture MDB axée sur le concept de langage multibase

Architecture Fédérée axée sur le concept d'autonomie– pas de notion de langage multibase

– mais il y a une notion d'autonomie aussi dans l'arch. MDB

Architecture MDB est + décentralisée– pas d'équivalent de Dictionnaire de Fédération

– plusieurs DSs pour ce rôle

Les deux architectures sont populaires– Contrairement aux nombreuses autres propositions

» aujourd'hui oubliées en pratique

Page 24: Manipulations multibases et distribuées Partie 1

24

Comparaison MDB <-> FédArch. MDB Arch. Féd.

Multibase Féderation

Autonomie Autonomie

Lang. MDB

¬ GS ¬ GS

CS PS

ES multibase IS

ES monobase ES

ILS ES

DSs Dict. Féd.

Page 25: Manipulations multibases et distribuées Partie 1

25

Autonomie d'une base( autonomie locale)

Faculté de contrôle de données d'une base locale par le DBA– Noms de données

– Type de valeurs

– Structures de données

– Structures physiques

– Exécution de requêtes

– Sécurité

– Priorité aux requêtes locales

Page 26: Manipulations multibases et distribuées Partie 1

26

Autonomie multibase

Faculté de contrôle de bases multiples par un DBA

Mêmes aspects que pour l'autonomie locale– Nom de données...

Peut générer un conflit avec l'autonomie d'une base

Priorité à l'autonomie locale

B1 B2 B3

Page 27: Manipulations multibases et distribuées Partie 1

27

Hétérogénéité sémantique

Différences dans les représentations de mêmes propriétés réelles

Noms André Andrew

Types de valeurs– type de représentation– unité de mesure cm/s pied/h– précision 1 g 1 Kg

Structures de donnéesune table en 2 NF plusieurs tables en 3 NF

Page 28: Manipulations multibases et distribuées Partie 1

28

Solutions (partielles)

Schémas + descriptifs Protocoles + descriptifs Dictionnaires de données Thesaurus Conversion automatique de représentations Conversion automatique d'unités Equijointures de valeurs à précision diff. Jointures implicites

Page 29: Manipulations multibases et distribuées Partie 1

29

Modèle commun

Relationnel étendu– EDA-SQL

– MSQL (recherche)

– ODBC Microsoft SQL

Relationnel-Objet– UniSql/M, DB2, le standard SQL 3

CCS langage pour les bases documentaires Nombreuses passerelles (gateways) vers SQL

– IMS SQL

– Codasyl SQL

XML pour le Web

Page 30: Manipulations multibases et distribuées Partie 1

30

UniSQL/M

UniSQL/M

DB2OracleUniSQL

IMS

Page 31: Manipulations multibases et distribuées Partie 1

31

Autres passerelles

UniSQL/M

OracleUniSQL

IMS

DB2

Page 32: Manipulations multibases et distribuées Partie 1

32

Encore autres passerelles

UniSQL/M

OracleUniSQL

IMS

EDA-SQL

DB2

Page 33: Manipulations multibases et distribuées Partie 1

33

L'avenir

ODBC x

Page 34: Manipulations multibases et distribuées Partie 1

34

Conclusion

Les SGBD modernes sont désormais en général des systèmes multibases– UniSQL/M, Oracle, Sybase, MsAccess...

L'accès multibase nécessite de nouvelles fonctions au niveau de SGBD pour gérer

– l'autonomie

– l'hétérogénéité sémantique

– la distribution physique de données

Page 35: Manipulations multibases et distribuées Partie 1

35

Conclusion Les solutions techniques sont basées sur:

– nouvelles architectures de référence» architecture multibase

» architecture fédérée

– modèles communs de données» relationnel et relationnel-objet

– Passerelles de traduction de modèles, en développent rapide

» UniSQL/M -> IMS, Oracle, Sybase

» Oracle -> IMS, Sybase

» Tout SGBD vers tout autre SGBD à travers ODBC

Page 36: Manipulations multibases et distribuées Partie 1

36

Conclusion

Langages multibases– MSQL et SQL-x ; x > 2

Nouveaux modèles de transaction Protocoles et Standards

– RDA, SQL-Access, ODBC

Tout ça à voir + en détail – dans la suite du cours– dans les livres présentés durant le cours

Page 37: Manipulations multibases et distribuées Partie 1

37

Exercices Tous ceux déjà dans le texte Différence entre les notions d’une BD, BDR, MBD et FBDs. Que est ce que c’est « une architecture de référence », ANSI-SPARC par exemple ? Différences entre l’architecture « top-down », « bottom-up », multibase et fédérée. Commentez la notion de bases fédérées dans DB2 V. 6 à travers la description dans le Help de ce

système et de RedBooks sur le site web d’IBM. Concevoir les ordres SQL réalisant la fragmentation de la base des hôtels du cours. Commentez le concept d’ILS, de passerelle et de médiateur Quel est le modèle multibase commun le plus répandu aujourd’hui ? Commentez le concept d’autonomie locale (quoi, pourquoi, comment) Observez des exemples de divers types d’hétérogénéité sémantique Prouvez que l’associativité habituelle d’équijointures n’existe plus si les unités de valeurs à joindre

peuvent être de précisions différentes Les conséquences pour les SGBDs relationnels ? Proposez une extension de SQL introduisant les unités de mesure et le traitement de requêtes

correspondant (sujet de Thèse).

Page 38: Manipulations multibases et distribuées Partie 1

FIN

Page 39: Manipulations multibases et distribuées Partie 1