1 Manipulations multibases et distribues Partie 1 Witold Litwin
[email protected] 2011 - 12
Page 3
2 2 * Management of Heterogeneous and Autonomous Database
Systems. Elmagarmid A. Rusinkiewicz, M. Sheth, A. Morgan Kaufmann
Livres de Support
Page 4
3 3 * Principles of Distributed Databases. 2 ed. Tamer Ozsu,
Patrick Valduriez, Prentice Hall & Web (download) Livres de
Support
Page 5
4 4 Visionneuse PPT libre sur le site Microsoft Chaque cours
est une union de tous les cours sur le sujet que je donne Dauphine
Les cours peuvent tre imprims par la visionneuse en plusieurs
formats & en couleur Format recommand : 3 diapos / page,
Internet & Powerpoint
http://ceria.dauphine.fr/cours98/BD-wl-98.html Support des Cours
Polies N/B imprimes par la Fac pour les ayant droit
Page 6
5 5 SGBD Support : MsAccess 2007 Disponible Dauphine par MSDN
Voir CRIO InterUFR (2 me tage, Nouvelle Aile) Vendu + que tous les
autres SGBD ensemble 11M licences / mois = 132 M / an La plus
amicale interface usager sur le march
http://office.microsoft.com/home/video.aspx?assetid=ES102552011033&width=884&heig
ht=540&startindex=0&CTT=11&Origin=HA102552031033#http://office.microsoft.com/home/video.aspx?assetid=ES102552011033&width=884&heig
ht=540&startindex=0&CTT=11&Origin=HA102552031033# (Pub.
MS) Trs complet 4 GL, SQL2, QBE, OLE, ODBC, Multimdia, Multibase,
Web-enabled 1er SGBD pour tout un chacun
Page 7
6 6 Contrle de connaissances Selon le cours Examen ? Projet
Aprs le vote populaire au 1r cours Questions ?
[email protected] Bureau B209 http://ceria.dauphine.fr
Page 8
7 Plan u Introduction u Problmes techniques rsoudre u Origines
du concept Approche Base Centralise (ANSI-SPARC) Approche BDR
(top-down) Approche Schma Global (bottom-up) u Architectures de
rfrence Architecture multibase Architecture Fdre u Autonomie,
Htrognit smantique, Modle commun
Page 9
8 Modle multibase u Modle base unique ANSI-SPARC : L'univers
rel doit tre model par une base de donnes u L'univers rel sera
model par plusieurs bases de donnes autonomes smantiquement
htrognes 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 10
9 Modle multibase Cours & tudiants Bibliothque Employs
Rest. Mes-amis Autres BDs sur Internet Paris 9 Priv Teletel Folio
Cine
Page 11
10 Problmes majeurs u Architecture de rfrence u Htrognit
smantique en prsence d'autonomie locale u Modle de donnes commun u
Fonctions de langage multibases u Transactions u Protocoles &
standards u Performances
Page 12
11 Architecture de rfrence u Architecture multibase
Gnralisation de l'architecture BD de ANSI-SPARC u Architecture
bases fdres Gnralisation de l'architecture BD fdre u Autres
Page 13
12 Architecture BD de ANSI-SPARC Une BD centralise intgre
(Annes 1960-70) ES - Schma Externe CS - Schma Conceptuel PS - Schma
Physique ou Interne
Page 14
13 Base de donnes Rpartie u Origine du concept (annes 1970)
Dveloppement de rseaux (lents : 20 Kb/s) Surcharge d'une BD
centralise
Page 15
14 Base de donnes Rpartie u 1 re Conf Intl. sur le sujet
(1980)
Page 16
15 Base de donnes Rpartie u Ide : distribution de fonctions
autres que la communication locale (approche "top-down") u
Lesquelles ? Excution rpartie (OS) Accs aux fichiers La base u
Alors quel modle de donnes pour le CS ? Hirarchique & rseau
Relationnel
Page 17
16 Fragmentation de relations Hotels (H#, Ville, Cat,
#Chambres) (H#, Ville) (H#, Cat, #Chambres) Un fragment
Page 18
17 Problmes u Scalabilit du schma global u Utilit du schma
global pour un usager local u Performances de requtes (mauvais cas)
u Ncessit de migration de donnes existantes dans de bases multiples
d'une mme entreprise IMS, IDMS, Socrate...
Page 19
18 LAN Serveurs Clients
Page 20
19 u Fragmentation type BDP Par hachage En gnral statique u
Teradata, IBM Adr = Hash(Cl) mod N_Serveurs u Hash est une
signature de la cl Par SHA, MD5, SA u Teradata, DB2 Fragmentation
BDP/P2P/GRID
Page 21
20 u Fragmentation type BDP Par intervalles pr-dfinis dun
attribut ordonn Serveur 1 : Ville = A*..D*, Serveur 2 Ville =
E*..I* etc u SQL Server, Oracle u Fragmentation par colonne u Utile
pour les systmes OLAP u Monet, Vertica Fragmentation
BDP/P2P/GRID
Page 22
21 Architecture BDP/P2P (exemples) u SQL Server 256 serveurs
(2006) u Sybase 64 serveurs u DB2 16 (gros ?) serveurs ? u Oracle
parallle non-BDR (CPUs partagent les disques)
Page 23
22 Un usager peut avoir les donnes dans plusieurs BDs
compatibles ANSI- SPARC et htrognes u Un GS prsente toutes les
donnes comme une seule BD classique relationnelle ou fonctionnelle
(DAPLEX) u les ES sont drivs de GS Un usager peut avoir les donnes
dans plusieurs BDs compatibles ANSI- SPARC et htrognes u Un GS
prsente toutes les donnes comme une seule BD classique
relationnelle ou fonctionnelle (DAPLEX) u les ES sont drivs de GS
Architecture "bottom-up" Schma Conceptuel Global (GS) CS GS ES PS
Approche GS ("bottom-up")
Page 24
23 Problmes avec l'approche "bottom-up" u Cration du schma
global u Htrognit smantique de donnes u Temps d'intgration /
autonomie de restructuration locale u Mises jour u Performances u
Vues htrognes u Cration du schma global u Htrognit smantique de
donnes u Temps d'intgration / autonomie de restructuration locale u
Mises jour u Performances u Vues htrognes CS GS ES PS Approche GS
("bottom-up")
Page 25
24 Un usager peut avoir les donnes dans plusieurs BDs
compatibles ANSI- SPARC u En gnral il sera impossible de crer un
Schma Global (GS) u L'usager peut tre en face de plusieurs CSs Un
usager peut avoir les donnes dans plusieurs BDs compatibles ANSI-
SPARC u En gnral il sera impossible de crer un Schma Global (GS) u
L'usager peut tre en face de plusieurs CSs Architecture MBD
(Multibase) Absence de Schma Conceptuel Global (GS) CS PS
26 Architecture MBD (Multibase) Fonctions du Langage Multibase
Un langage de dfinition et de manipulation de collections de BDs
(multibases) au niveau conceptuel MDB Formulation de requtes
(explicitement) multibases u se referant aux noms de BDs u avec des
jointures multibases... Trouver dans la base Michelin et dans la
base Gaumont tous les restaurants '**' et cinmas sur une mme rue Un
langage de dfinition et de manipulation de collections de BDs
(multibases) au niveau conceptuel MDB Formulation de requtes
(explicitement) multibases u se referant aux noms de BDs u avec des
jointures multibases... Trouver dans la base Michelin et dans la
base Gaumont tous les restaurants '**' et cinmas sur une mme
rue
Page 28
27 Architecture MBD (Multibase) Concept de Langage Multibase
Dfinition de ES multibase (MES) Prsente plusieurs bases comme une
seule BD Peut intgrer des CSs ou des ES ou des MES Dfinition de ES
multibase (MES) Prsente plusieurs bases comme une seule BD Peut
intgrer des CSs ou des ES ou des MES
Page 29
28 Architecture MBD (Multibase) Concept de Langage Multibase u
Dfinition de dpendances multibases entre les CSs (la composante DS)
smantiques (ontologies), p.ex. en RDF City Is Ville ; Town Is Ville
; Township Is Ville intgrit Intgrit rfrentielle multibase u Aucun
SGBD ne permet encore de dclarer celle- ci Pourquoi ? u Bonne
question sans bonne rponse u Dfinition de dpendances multibases
entre les CSs (la composante DS) smantiques (ontologies), p.ex. en
RDF City Is Ville ; Town Is Ville ; Township Is Ville intgrit
Intgrit rfrentielle multibase u Aucun SGBD ne permet encore de
dclarer celle- ci Pourquoi ? u Bonne question sans bonne
rponse
Page 30
29 Architecture MBD (Multibase) Concept de Langage Multibase u
Dfinition de dpendances multibases entre les CSs Scurit Un usage ne
peut pas slectionner une donne D1 de la base B1 et la donne D2 de
la base B2 manipulation... Dclencheurs multibases u Create Trigger
Flux de diffusion u RSS. u Dfinition de dpendances multibases entre
les CSs Scurit Un usage ne peut pas slectionner une donne D1 de la
base B1 et la donne D2 de la base B2 manipulation... Dclencheurs
multibases u Create Trigger Flux de diffusion u RSS.
Page 31
30 Architecture MBD (Multibase) Concept de Multibase u Une
multibase (MBD) est une collection de BDs munie d'un langage
multibase par exemple le langage MSQL que l'on verra u Une
collection de BDs sans langage multibase n'est pas une MDB, mais
juste une collection de BDs d'une mme manire qu'une collection de
fichiers plats (tables) sans langage de base de donnes, SQL par
exemple, n'est pas une BD
Page 32
31 Quelques multibases potentielles Cours & tudiants
Bibliothque Employs Rest. Mes-amis Autres BDs sur Internet Paris 9
Priv Teletel Folio Cine MSQL: Create MDB Paris 9 Include Employs
Include Bibliothque.....
Page 33
32 Architecture MBD Concept de Sous-niveau Interne Logique Les
modles de donnes de BDs existantes peuvent tre htrognes diffrent
dialectes de SQL Relationnel XML CCS u Il est prfrable d'avoir un
seul modle au niveau multibase Il faut avoir une possibilit d'un
sous-niveau de traduction
Page 34
33 Architecture MBD Concept de Sous-niveau Interne Logique Par
ailleurs un DBA peut ne pas vouloir montrer son CS local au niveau
multibase u Solution gnrale ILS - Schma Interne Logique inconnu de
ANSI-SPARC appel par la passerelle (Gateway) ou mdiateur u
terminologie populaire u Origine: G. Wiederhold (Stanford)
Page 35
34 Systme de Gestion Multibases (SGMB) Un systme offrant
linterface multibase 1. Sans tre SGBD lui-mme Gre le niveau CS et
ES de larch. MBD 1. Appel souvent: Mdiateur Wrapper Intgrateur Meta
Engine Mta-SGBD.
Page 36
35 Systme de Gestion Multibases (SGMB) Exemples Historiques
relationnels: UniSQL/M, EDASQL Actuels: Relationnel QBE dExcell,
Web par mots Cls: MetaCrawler, DogPile, IBoogie Web documentaire
(CCS) MetaPhys, Folio (Stanford U.) XML & XQuery: BEA
AquaLogic
Page 37
36 Systme de Gestion Multibases (SGMB ) 2. SGMB = SGBD muni du
langage multibase Relationnels : SQL et QBE Principaux SGBDs
MsAccess SQL et QBE multibases SQL multibase: SQL Server, Oracle,
MySQL, DB2, Sybase, Interbase SQL (encore) monobase: PostgreSQL XML
: Aucun SGMB connu
Page 38
37 Interoprabilit u Les bases dun SGMB sont dites interoprables
u Elles peuvent ne pas ne pas tre a priori conues pour u Nanmoins
en gnral, il faut une coopration entre les DBA u Dans les limites
pratiques de compromis entre Autonomie locale / Autonomie MBD
Page 39
38 Architecture Fdre (Hambiger & McLeod, annes 1980) u
Toute BD doit tre autonome u En gnral il n'y aura pas d'un GS
L'intgration globale est contraire l'autonomie u Les BDs utilises
en commun doivent former une fdration de BDs autonomes u Toute BD
doit tre autonome u En gnral il n'y aura pas d'un GS L'intgration
globale est contraire l'autonomie u Les BDs utilises en commun
doivent former une fdration de BDs autonomes
Page 40
39 Architecture Fdre (Hambiger & McLeod, annes 1980) u
Toute BD d'une fdration doit avoir trois schmas: ES: Schma
d'Exportation: pour les donnes permises l'exportation IS: Schma
d'Importation: pour les donnes importes PS: Schma Priv: pour
l'ensemble de donnes prives, ES et IS inclus u Il doit y avoir un
Dictionnaire de Fdration (FD) u Toute BD d'une fdration doit avoir
trois schmas: ES: Schma d'Exportation: pour les donnes permises
l'exportation IS: Schma d'Importation: pour les donnes importes PS:
Schma Priv: pour l'ensemble de donnes prives, ES et IS inclus u Il
doit y avoir un Dictionnaire de Fdration (FD)
41 Comparaison u Architecture MDB axe sur le concept de langage
multibase u Architecture Fdre axe sur le concept d'autonomie pas de
notion de langage multibase mais il y a une notion d'autonomie
aussi dans l'arch. MDB
Page 43
42 Comparaison u Architecture MDB est + dcentralise pas
d'quivalent de Dictionnaire de Fdration plusieurs DSs pour ce rle u
Les deux architectures sont populaires Contrairement aux nombreuses
autres propositions aujourd'hui oublies en pratique
Page 44
43 Comparaison MDB Fd
Page 45
44 Autonomie d'une base ( autonomie locale) u Facult de contrle
de donnes d'une base locale par le DBA 1.Noms de donnes 2.Type de
valeurs 3.Structures de donnes 4.Structures physiques 5.Excution de
requtes 6.Scurit 7.Priorit aux requtes locales
Page 46
45 Autonomie multibase u Choix des aspects multibases Par un
MBA (souvent une Comit) u Mmes facettes que de l'autonomie locale
Modle commun, Certains nom de donnes... u Peut gnrer un conflit
avec l'autonomie locale B1 B2 B3
Page 47
46 Autonomie multibase u Si conflit: u Priorit l'autonomie
locale u Ou priorit lautonomie mbd u Emploi dun mdiateur HTML au
niveau MBD (CS), SQL-Server, MySQL au niveau BD (ILS) ->
Sharepoint etc entre les deux B1 B2 B3
Page 48
47 Autonomie: solutions u On na pas de baguette magique u
Probablement on naura jamais u On propose des solutions limites
Pour cas particuliers de chaque facette u Cest dailleurs la dmarche
gnrale en BDs
Page 49
48 Autonomie: solutions u Les solutions proposes devraient
assurer introprabilit il est dsirable que celle-ci soit scalable u
Cet but signifie que toute nouvelle base devenant accessible aux
manipulations multibase devrait tre automatiquement
introperable
Page 50
49 Autonomie: solutions u Si lon cherche tout bon restaurant
sushi Paris et une nouvelle base de restaurants est mise en
service, alors la requte devrait ladresser automatiquement aussi u
Un but de lensemble de concepts qui suivent Notamment de ceux de
multibase et de requte multiple
Page 51
50 Htrognit smantique u Diffrences dans les reprsentations de
mmes proprits relles Noms Andr Andrew u Types de valeurs type de
reprsentation unit de mesure cm/s pied/h prcision 1 g 1 Kg u
Structures de donnes une table en 2 NF plusieurs tables en 3
NF
Page 52
51 Htrognit smantique u Diffrences dans les reprsentations de
mmes proprits relles Noms Andr Andrew u Types de valeurs type de
reprsentation unit de mesure cm/s pied/h prcision 1 g 1 Kg u
Structures de donnes une table en 2 NF plusieurs tables en 3
NF
Page 53
52 Solutions (partielles) u Schmas + descriptifs u Protocoles +
descriptifs u Dictionnaires de donnes u Thesaurus u Conversion
automatique de reprsentations u Conversion automatique d'units u
Equijointures de valeurs prcision diff. u Jointures implicites
Page 54
53 Modle commun u Relationnel SQL MSQL et SchemaSQL (recherche)
Federated Database (IBM) ODBC Microsoft & al u CCS langage pour
les bases documentaires u Nombreuses passerelles (gateways) vers
SQL u Web 2 dit aussi Web Smantique Extended Web Services XML &
XQuery RDF & SQL or RDQL
Page 55
54 UniSQL/M (approche historique) UniSQL/M DB2 Oracle UniSQL
IMS UniSQL/ tait un SGMB, mais pas un SGBD EDA-SQL tait un autre
SGMB populaire
57 Conclusion u Les bases de principaux SGBD ne sont pas BDRs,
mais peuvent tre distribues et parallles Oracle Grid Sybase DB2
Teradata SQL Server AsterData, Greenplum (clouds)
Page 59
58 Conclusion u Les principaux SGBD sont dsormais en en gnral
des systmes multibases MsAccess Oracle Sybase DB2 MySQL
Interbase...
Page 60
59 Conclusion u Certains sont aussi fdrs DB2 MsAccess Une
tables dite Attache est une vue importe u Il y a aussi des SGMB
wrappers Dj cits
Page 61
60 Conclusion u L'accs multibase ncessite nanmoins (toujours)
de nouvelles fonctions au niveau de SGBD pour grer l'autonomie en
gnral l'htrognit smantique en particulier la distribution physique
de donnes u On na toujours pas de baguette magique u Mais on
progresse
Page 62
61 Conclusion u Les solutions techniques sont bases sur:
nouvelles architectures de rfrence architecture multibase
architecture fdre modles communs de donnes ODBC, XML ou RDF
peut-tre Passerelles directes de traduction de dialectes SQL
MsAccess -> SQL Server, Paradox Oracle -> SQL Server,
Sybase
Page 63
62 Conclusion u Langages multibases Dialectes SQL MSQL,
SchemaSQL (recherche) u Nouveaux modles de transaction u Protocoles
et Standards ODBC, DCE, EWS u Tout a voir + en dtail dans la suite
du cours dans les livres prsents durant le cours
Page 64
63 Exercices u Diffrence entre les notions dune BD, BDR, MBD et
FBDs. u Que est ce que cest une architecture de rfrence ,
ANSI-SPARC par exemple ? u Diffrences entre larchitecture top-down
, bottom-up , multibase et fdre. Commentez la notion de bases fdres
dans DB2 V. 6 travers la description dans le Help de ce systme, de
RedBooks sur le site web dIBM. Et sous Google en gnral. P. ex.
http://www.ibm.com/developerworks/data/library/techarticle/0203haas/0203h
aas.html
http://www.ibm.com/developerworks/data/library/techarticle/0203haas/0203h
aas.html
Page 65
64 Exercices u Concevoir les ordres SQL ralisant la
fragmentation de la base des htels du cours. De deux manires: 1.
Les fragments sous forme de commande Create Fragment as Select Into
Base.Fragment From Hotels Where 2. Dfinir vue globale des fragments
sous forme CREATE VIEW Hotels AS SELECT u Commentez le concept
dILS, de passerelle et de mdiateur u Quel est le modle multibase le
plus rpandu aujourdhui ?
Page 66
65 Exercices u Commentez le concept dautonomie locale (quoi,
pourquoi, comment) u Donnez des exemples de divers types dhtrognit
smantique Prouvez que lassociativit dquijointures nexiste plus si
les valeurs joindre peuvent tre de prcision diffrente u Les
consquences pour les SGBDs relationnels ? P Proposez une extension
de SQL introduisant les units de mesure et le traitement de requtes
correspondant (sujet de Thse).