+ All Categories
Home > Documents > Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für...

Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für...

Date post: 05-Apr-2015
Category:
Upload: clarimond-leid
View: 105 times
Download: 1 times
Share this document with a friend
125
Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken
Transcript
Page 1: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

Speicherung globaler Relationen:Fragementierung und Allokation

À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken

Page 2: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

2

Schema-Integration bei homogenen, eng integrierten vDBMS

R1 S1 T1

Lokales Schema LDB1

R2 T2

Lokales Schema LDB2

R3 S3 T3

Lokales Schema LDB3

R S T

Globales Schemader verteilten DatenbankAP 1

AP 2

Page 3: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

3

Klassifikation verteilter DBMS

Autonomie

Heterogenität

Vertei

lung

Zentrales DBs

HeterogenesMulti-DBMSHeterogenes,

föderiertes vDBMS

Heterogenes, eng integriertes

vDBMs

Homogenes, eng integriertes

vDBMs

Homogenes,föderiertes vDBMS

HomogenesMulti-DBMS

Page 4: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

4

Entwurf eines verteilten Datenbanksystems

Globales Schema

Fragmentierungs-Schema

Zuordnungs-Schema

Lokales Schema

Lokales Schema......

Lokales DBMS Lokales DBMS

Lokale DB Lokale DB

Station S1 Station Sn

Page 5: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

5

Fragmentierung undAllokation

R R1

R2

R3

R11

R12

R21

R31

R22

Fragm

entierung

Station S

1S

tation S

2S

tation S

3

Page 6: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

6

Page 7: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

7

Horizontale PartitionierungTeile

TeileNr TeileBez ...35181 Schraube M8x13 ...36799 Mutter M8 ...37244 Mutter M7 ...42351 Bolzen B33 ...43749 Schraube M4x6 ...44812 Bolzen B27 ...45438 Schraube M3,5x5 ...... ... ...

Page 8: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

8

Horizontale PartitionierungTeile

TeileNr TeileBez ...35181 Schraube M8x13 ...36799 Mutter M8 ...37244 Mutter M7 ...42351 Bolzen B33 ...43749 Schraube M4x6 ...44812 Bolzen B27 ...45438 Schraube M3,5x5 ...... ... ...

Page 9: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

9

Horizontale PartitionierungTeile1

TeileNr TeileBez ...35181 Schraube M8x13 ...43749 Schraube M4x6 ...45438 Schraube M3,5x5 ...... ... ...

Teile2TeileNr TeileBez ...36799 Mutter M8 ...37244 Mutter M7 ...... ... ...

iTeile

TeileTeile

TeileTeile

TeileTeile

TeileTeile

i

anderealles

BolzenTeileBez

MutterTeileBez

SchraubeTeileBez

Teile

:3

:3

:2

:1

_

""

""

""

Page 10: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

10

Abgeleitete Horizontale Partitionierung

TeileTeileNr TeileBez ...35181 Schraube M8x13 ...36799 Mutter M8 ...37244 Mutter M7 ...42351 Bolzen B33 ...43749 Schraube M4x6 ...44812 Bolzen B27 ...45438 Schraube M3,5x5 ...... ... ...

LagerortTeileNr Lager35181 336799 137244 342351 243749 244812 145438 1... ...

Page 11: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

11

Abgeleitete Horizontale Partitionierung

TeileTeileNr TeileBez ...35181 Schraube M8x13 ...36799 Mutter M8 ...37244 Mutter M7 ...42351 Bolzen B33 ...43749 Schraube M4x6 ...44812 Bolzen B27 ...45438 Schraube M3,5x5 ...... ... ...

LagerortTeileNr Lager35181 336799 137244 342351 243749 244812 145438 1... ...

Page 12: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

12

Abgeleitete Horizontale Partitionierung

TeileTeileNr TeileBez ...35181 Schraube M8x13 ...36799 Mutter M8 ...37244 Mutter M7 ...42351 Bolzen B33 ...43749 Schraube M4x6 ...44812 Bolzen B27 ...45438 Schraube M3,5x5 ...... ... ...

LagerortTeileNr Lager35181 336799 137244 342351 243749 244812 145438 1... ...

Page 13: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

13

Page 14: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

14

lsjC

rsjC

Page 15: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

15

Algebraische Beschreibung der abgeleiteten Partitionierung

LagerortTeileTeile

LagerortTeileTeile

LagerortTeileTeile

LagerortTeileTeile

LagerNrlsjTeileNr

LagerNrlsjTeileNr

LagerNrlsjTeileNr

LagerNrlsjTeileNr

}3,2,1{

3

2

1

:4

:3

:2

:1

Page 16: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

16

Vertikale Partitionierung

R

R1 R2K

Page 17: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

17

Verlustlosigkeit und Rekonstruktion von R

21

)(2

)(1

21

2

1

:

:

(Surrogat)enthalten Schlüsselerzeugten künstlich einen

oder sein R von üsselPrimärschl

)()(

RRR

RR

RR

mussK

RschemaRschemaK

K

Rschema

Rschema

Eigentlich reicht fürdie Verlustlosigkeit

Kschema(R1)oder

Kschema(R2)

Page 18: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

18

Kombinierte Partitionierung: Vertikale und Horizontale Part.

R

R1

R21

R2

R22

R23

Page 19: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

19

Kombinierte Partitionierung: Vertikale und Horizontale Part.

R

R1

R21

R2

R22

R23

2322211 RRRRR

Page 20: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

20

Kombinierte Partitionierung: Horizontale und VertikalePart.

RR11

R1

R2

R3

R31 R33

R12

R32

Page 21: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

21

Kombinierte Partitionierung: Horizontale und VertikalePart.

RR11R1

R2

R3

R32 R33

R12

33323121211 RRRRRRR

R31

Page 22: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

22

Korrektheits-Anforderungen

Rekonstruierbarkeit

Vollständigkeit

Disjunktheit

Page 23: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

23

Beispiel-Schema

]},,,,{[:

]},,{[:

]},{[:

]},,,{[:

]},,,,{[:

]},,,,{[:

AbtNrAktWertAnschJahrgBezeichnunInvNrINVENTAR

StadtLiefNameLiefNrLIEFERANT

LagerNrTeileNrLAGERORT

PreisLiefNrTeileBezTeileNrTEILE

BudgetMgrPersNrBereichAbtNameAbtNrABT

AnschriftAbtNrGehaltAngNamePersNrANGEST

Page 24: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

24

Beispiel-Partitionierung

ii

TeileNr

TeileNr

TeileNr

TEILETEILE

TEILETEILE

TEILETEILE

TEILETEILE

}3,2,1{

5003

5003002

30001

:

:

:

ii

MünchenStadtPassauStadt

MünchenStadt

PassauStadt

LIEFERANTLIEFERANT

LIEFERANTLIEFERANT

LIEFERANTLIEFERANT

LIEFERANTLIEFERANT

}3,2,1{

""""1

""2

""1

:

:

:

Page 25: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

25

Beispiel: Gemischte Partitionierung

},,,,{3002

},,,,{3001

},,,,{

},{

:

:

:

:

AnschriftAbtNrMgrPersNrAngNamePersNrAbtNrpublic

AnschriftAbtNrMgrPersNrAngNamePersNrAbtNrpublc

AnschriftAbtNrMgrPersNrAngNamePersNrpublic

GehaltPersNrhvertraulic

ANGESTANGEST

ANGESTANGEST

ANGESTANGEST

ANGESTANGEST

Page 26: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

26

Beispiel aus dem Kemper/Eickler-Buch

Ab Seite 440in den PDF-Folien

URL: http://www-db.in.tum.de/research/publications/books/DBMSeinf

Page 27: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

27

Beispielrelation Professoren

Professoren

PersNr

Name Rang

Raum

Fakultät Gehalt Steuerkl.2125 Sokrates C4 226 Philosophi

e85000 1

2126 Russel C4 232 Philosophie

80000 3

2127 Kopernikus

C3 310 Physik 65000 5

2133 Popper C3 52 Philosophie

68000 1

2134 Augustinus

C3 309 Theologie 55000 5

2136 Curie C4 36 Physik 95000 3

2137 Kant C4 7 Philosophie

98000 1

Page 28: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

28

Horizontale Fragmentierung

abstrakte Darstellung:

Für 2 Prädikate p1 und p2 ergeben sich 4 Zerlegungen:

n Zerlegungsprädikate p1,...,pn ergeben 2n Fragmente

R

R1

R2

R3

R1 := p1 p2(R)

R2 := p1 p2(R)

R3 := p1 p2 (R)

R4 := p1 p2 (R)

Page 29: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

29

sinnvolle Gruppierung der Professoren nach Fakultätszugehörigkeit:

3 Zerlegungsprädikate:

p1 Fakultät = ‚Theologie‘

p2 Fakultät = ‚Physik‘

p3 Fakultät = ‚Philosophie‘

TheolProfs´ := σp1p2 p3(Professoren) =

σp1(Professoren)

PhysikProfs´ := σp1p2 p3(Professoren) =

σp2(Professoren)

PhiloProfs´ := σp1p2 p3(Professoren) =

σp3(Professoren)

AndereProfs´ := σp1p2 p3(Professoren)

Page 30: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

30

Abgeleitete horizontale Fragmentierung

Beispiel Vorlesungen aus dem Universitätsschema:Zerlegung in Gruppen mit gleicher SWS-Zahl

2SWSVorls := σSWS=2

(Vorlesungen)

3SWSVorls := σSWS=3

(Vorlesungen)

4SWSVorls := σSWS=4

(Vorlesungen)

für Anfragebearbeitung schlechte Zerlegung

Page 31: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

31

select Titel, Namefrom Vorlesungen, Professorenwhere gelesenVon = PersNr;

resultiert in:

Titel, Name((TheolProfs´ An2SWSVorls)

(TheolProfs´ A 3SWSVorls) ... (PhiloProfs´ A 4SWSVorls) )

Join-Graph zu diesem Problem:

TheolProfs´

PhysikProfs´

PhiloProfs´

2SWSVorls

3SWSVorls

4SWSVorls

Page 32: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

32

Lösung: abgeleitete Fragmentierung

TheolProfs´

PhysikProfs´

PhiloProfs´

TheolVorls

PhysikVorls

PhiloVorls

TheolVorls := Vorlesungen E gelesenVon=PersNr TheolProfs ´

PhysikVorls := Vorlesungen E gelesenVon=PersNr PhysikProfs ´

PhiloVorls := Vorlesungen E gelesenVon=PersNr PhiloProfs ´

Titel, Name((TheolProfs´ Ap TheolVorls)

(PhysikProfs´ Ap PhysikVorls)

(PhiloProfs´ Ap PhiloVorls) )

mit p (PersNr = gelesenVon)

Page 33: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

33

Algebraische Äquivalenzen

Page 34: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

34

Vertikale Fragmentierung

abstrakte Darstellung:

R1 R2

R

κ

Page 35: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

35

Vertikale Fragmentierung

jedes Fragment enthält den Primärschlüssel der Originalrelation. Aber: Verletzung der Disjunktheit

jedem Tupel der Originalrelation wird ein eindeutiges SurrogatSurrogat (= künstlich erzeugter Objektindikator) zugeordnet, welches in jedes vertikale Fragment des Tupels mit aufgenommen wird

Beliebige vertikale Fragmentierung gewährleistet keine Rekonstruierbarkeitkeine Rekonstruierbarkeit2 mögliche Ansätze, um Rekonstruierbarkeit zu garantieren:

Page 36: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

36

Vertikale Fragmentierung (Beispiel)

für die Universitätsverwaltung sind PersNr, Name, Gehalt und Steuerklasse interessant:

ProfVerw := PersNr, Name, Gehalt, Steuerklasse (Professoren)

für Lehre und Forschung sind dagegen PersNr, Name, Rang, Raum und Fakultät von Bedeutung:

Profs := PersNr, Name, Rang, Raum, Fakultät (Professoren)

Rekonstruktion der Originalrelation Professoren:

Professoren = ProfVerw AProfVerw.PersNr = Profs.PersNr Profs

Page 37: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

37

Kombinierte Fragmentierunga)) horizontale Fragmentierung nach vertikaler Fragmentierung

b)) vertikale Fragmentierung nach horizontaler Fragmentierung

R1 R2

R21

R

R22

R23

RR1

R2

R3

R32R31

Page 38: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

38

Rekonstruktion nach kombinierter Fragmentierung

Fall a)a)

R = R1 A p (R21 R22 R23)

Fall b)b)

R = R1 R2 (R31 A R31. κ = R32. κ R32)

Page 39: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

39

Baumdarstellung der Fragmentierungen (Beispiel)

v

hh

Profs ProfVerw

PhysikProfsTheolProfs PhiloProfs

Vorlesungen

PhysikVorlsTheolVorls PhiloVorls

Professoren

Page 40: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

40

Allokation Dasselbe Fragment kann mehreren Stationen

zugeordnet werden Allokation für unser Beispiel ohne

Replikationen redundanzfreieredundanzfreie Zuordnung

StationSVerw

SPhysik

SPhilo

STheol

Bemerkung

VerwaltungsrechnerDekanat Physik

Dekanat PhilosophieDekanat Theologie

zugeordnete Fragemente

{ProfVerw}{PhysikVorls, PhysikProfs}{PhiloVorls, PhiloProfs}{TheolVorls, TheolProfs}

Page 41: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

41

Transparenz in verteilten Datenbanken

Grad der Unabhängigkeit den ein VDBMS dem Benutzer beim Zugriff auf verteilte Daten vermittelt

verschiedene Stufen der Transparenz:Fragmentierungstransparenz

AllokationstransparenzLokale Schema-Transparenz

Page 42: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

42

„Monitoring“ zur Bestimmung einer guten Fragmentierungen

Welche Anwendungen greifen in welcher Form (lesend/schreibend)

wie häufig mit welchen

Auswahl/Selektionsprädikaten auf welche Relationen und Attribute zu und welche Datenmengen müssen dabei

übertragen werden

Page 43: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

43

Systematische Bestimmung horizontaler Partitionen Sei R:{[A1,A2,...,An]} eine Relation Ein einfaches Prädikat ist wie folgt

Einfache Prädikate sind also einfache Vergleiche der Art TeileNr=4711 Gehalt>5000

p definiert Partitionierung von R wie folgt:

Vorsicht bei Nullwerten

constAip ::

nichtperfüllttRtRperfüllttRtR ::

)()( RRRR pp

Page 44: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

44

Menge aller Minterme

4321432143214321

4321432143214321

4321432143214321

4321432143214321

pppppppppppppppp

pppppppppppppppp

pppppppppppppppp

pppppppppppppppp

162

2

,:

Rfür Prädikate einfache ,...,

44

},...,1{

1

PM

PM

PppmmPM

ppP

nn

iinin

n

Page 45: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

45

Es gilt folgendes

Also gilt bezüglich der Partitionierung Vollständigkeit Redundanzfreiheit

Partitionierung gemäß M(P)

)()(:),(

)(

,

)(

RRmmPMmm

RR

ki mmkiki

PMmm

Page 46: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

46

Beispiel Einfache Prädikate P

p1: Gehalt=5000 p2: Gehalt=7000 p3: AbtNr > 400 p4: AbtNr < 300

In M(P) gibt es unerfüllbare Min-Term-Prädikate, z.B. Gehalt=5000 and Gehalt=7000 and AbtNr > 400 and

AbtNr < 300

Diese werden aus M(P) entfernt

Page 47: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

47

Subsumierte Prädikate Funktionale Abhängigkeit

AbtNr schema(ABT)

Betrachte folgende Prädikate p1: AbtNr=4711 p2: AbtName=„Einkauf“ p3: AbtNr=5910 p4: AbtName=„Verkauf“

Erfüllbar sind nur Minterme mit nur positiven oder nur negativen pi´s und außerdem gilt wegen der FD:

ABTABT

ABTABT

ppp

ppp

121

121

Page 48: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

48

Entferne unerfüllbare Minterme aus M(P) Wenn ein Faktor pi (oder not pi ) durch

einen Faktor pj (oder not pj) impliziert wird, so entferne ihn aus dem Minterm p1 and ... and pi and ... and pj and pn Dadurch wird der Minterm (n-1)-stellig führe das ggfls. Mehrmals durch

Was übrig bleibt sind die praktisch relevanten Minterme

Menge der praktisch relevanten Minterme

Page 49: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

49

Elimination irrelevanter Prädikate

Beispiel p1: 100<AbtNr<300 p2: 300<AbtNr<600 p3: 100<AbtNr<600

Allgemein sollte ein Prädikat p bei der Fragemntierung nur berücksichtigt werden, wenn mindestens eine Anwendung eine wesentliche Verbesserung der Zugriffskosten „erfährt“.

p1

p2p3

P3 ergibtkeine

wesentliche Verbesserung

Page 50: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

50

... ist gegeben wenn

Rp bzw. Rp- sind die durch p bzw p- definierten Fragmente von R

access(Rp): erwartete Anzahl der Zugriffe auf Rp

card(Rp): Kardinalität des Fragments Rp

Wesentliche Verbesserung ...

)(

)(

)(

)(

p

p

p

p

Rcard

Raccess

Rcard

Raccess

Page 51: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

51

Beispiel eines Prädikates mit wesentlicher Verbesserung

300 Zugriffe pro Woche auf ANGEST Davon 100 mit Prädikat p=„AbtNr = 4711“ dadurch werden 50 von 10.000 Tupel selektiert

Also ist p ein für die Partitionierung relevantes Prädikat Alle irrelevanten Prädikate sollten eliminiert werden

)(

)(02.0

950.9

2006

50

300

)(

)(

p

p

p

p

Rcard

Raccess

Rcard

Raccess

Page 52: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

52

Fragwürdige Formel acc(...) / card(...) ???

Der „Wert“ der obigen Formel wurde in Frage gestellt --- zu Recht!

Ceri und Pelagatti definieren die Relevanz eines Prädikats pi bezogen auf eine Menge von Prädikaten P wie folgt: es gibt mindestens zwei Minterme

m1 = p1* ... pi ... Pn* und m2 = p1* ... pi- ... pn*

aus M(P), die sich nur in pi unterscheiden (also einmal pi und einmal ¬pi enthalten, bzw pi+ und pi-)

die resultierenden Fragmente m1(R) und m2(R) werden von mindestens einer Anwendung unterschiedlich referenziert

Es wird also nur die Zugriffsfrequenz acc einer bestimmten Anwendung „zu Rate“ gezogen

Page 53: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

53

IllustrationR

p1

¬ p2

¬ p1

Page 54: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

54

IllustrationR

p1

¬ p2

¬ p1

¬ p3p2

p2

p3

¬ p2

Anw.

Page 55: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

55

ResultierendeFragmentierung

Page 56: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

56

Beispiel-Rechnung Drei separate Bereiche

p1: Bereich =„LKW“ p2: Bereich =„ PKW“ p3: Bereich =„ Funk“

Verwaltung gemäß des Budget p4: Budget < 100.000

p5: Budget >= 100.000

m1: Bereich =„LKW“ and Budget < 100.000

m2: Bereich =„LKW“ and Budget >= 100.000

m3: Bereich =„PKW“ and Budget < 100.000

m4: Bereich =„PKW“ and Budget >= 100.000

m5: Bereich =„ Funk“ and Budget < 100.000

m6: Bereich =„ Funk“ and Budget >= 100.000

Page 57: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

57

Bestimmung einer guten abgeleiteten Partitionierung

R --- S : Wenn sehr oft ein Join zwischen R und S auszuführen ist, mit einer vorangehenden Selektion auf R

Partitioniere zunächst R -- gemäß den Selektionsprädikaten

Danach bestimmt man die abgeleiteten Partitionen von S

Page 58: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

58

Beispielsweise würdeman aus einer ANGEST-

Rel. die Verwaltungsdaten (Gehalt, Steuerklasse)

von Archivdaten (Lebenslauf, Paßbild, etc.)

abspalten

Bestimmung von vertikalen Partitionen

R: {[K,A1,A2,....,An]} Bestimme die Fragmente bezüglich einer

guten Ballung (Clustering) R1:{[K,Ai1,Ai2,...]} R2:{[K,Aj1,Aj2,...]}

Oder: kleine Partitionen R1: {[K,A1]} R2: {[K,A2]} ....

Page 59: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

59

Page 60: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

60

Mathematisches Modell für Nicht-redundante Allokation K Anzahl Knoten P Anzahl zu

allokierender Partitionen T Anzahl Typen von

Lese- und Änderungs-Operationen

Mi maximale Speicherkapazität am Knoten i

Si Speicherkosten pro Dateneinheit am Knoten i

Uij Übertragungskosten von Knoten i nach j

Gp Größe in Dateneinheiten der Partition p

Otp Größe einer Teiloperation vom Typ t gegen Partition p

Rtp Größe des Resultats einer Teilop t gegen Part. p

Hit Häufigkeit mit der Teilop t an Knoten i auszuführen ist

Vpi Verteilung der Partitionen auf die Knoten Vpi=1: p ist auf Knoten i

allokiert Vpi=0: sonst

Page 61: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

61

Kostenformeln Speicherkosten: Übertragungskosten

Nebenbedingung für nicht-redundante Speicherung:

Einhaltung maximaler Speicherkapazität:

SVG ipiSip

p ,

jptiU

jptiUjiVpjRtpHitUijVpjOtpHit

,,,,,,******

1:},...,1{

iPp Vpi

K ..., 1, i allefür *

MiVpiGp

p

Page 62: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

62

Kostenformeln für redundante Speicherung

Speicherkosten Übertragungskosten

Nebenbedingung für Speicherung:

Einhaltung maximaler Speicherkapazität:

SVG ipiSip

p ,

Op)-(Schreib oder Op)-(Lese MINentweder :

***

1:

,, 1:

Vpjj

t

Upti Vpjj

t UjiRtpUijOtpHit

1:},...,1{

iPp Vpi

K ..., 1, i allefür *

MiVpiGp

p

Page 63: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

63

Optimierungsproblem

Minimiere Speicher- und Übertragungskosten …

… unter Einhaltung der Nebenbedingungen

US

jptijptiipUjiVpjRtpHitUijVpjOtpHitSiVpiGp

,,,,,,,********

1:},...,1{

iPp Vpi

K ..., 1, i allefür *

MiVpiGp

p

Page 64: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

64

Optimierungsproblem für redundante Speicherung

Minimiere Speicher- und Übertragungskosten:

unter Einhaltung der Nebenbedingungen

US

jpti VpjjipUjiRtpUijOtpHitSiVpiGp t

,,, 1:,*****

1:},...,1{

iPp Vpi

K ..., 1, i allefür *

MiVpiGp

p

Page 65: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

65

Beispiel-Konfiguration K = 3 P=4 T=3 (Si)=(120 100 110)

5083

2755

10750

)(

1002001010

85300200

2010200100

)(

200050015001000)(

03530

35025

30250

)(

Hit

Rtp

Gp

Uij

Operation ti wird bevorzugt an Knoten

Ki ausgeführt

Ops t1 und t2 greifen vornehmlich auf Partitionen P1 und P2 zu; Op t3 auf P3 und P4

P1 auf K1 oder K2, P2 auf K1 oder K2,P3 auf K3, P4 auf K3

OptimalP1 auf K2, P2 auf K2,P3 auf K3, P4 auf K3

Page 66: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

66

Operation ti wird bevorzugt an Knoten

Ki ausgeführt

Redundante Speicherung K = 3 P=4 T=3 (Si)=(120 100 110)

5083

2755

10750

)(

1002001010

85300200

2010200100

)(

200050015001000)(

03530

35025

30250

)(

Hit

Rtp

Gp

Uij

Ops t1 und t2 greifen vornehmlich auf Partitionen P1 und P2 zu; Op t3 auf P3 und P4

OptimalP1 auf K1 und K2, P2 auf K1 und K2,

P3 auf K1 und K3, P4 auf K3

Page 67: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

67

Berechnung des Optimums

Vollständige Suche (exhaustive search) nicht-redundante Seicherung

K**P Möglichkeiten durchprobieren redundante Speicherung

(2**K - 1)**P Möglichkeiten Jede der P Partition kann auf jedem der K

Knoten entweder allokiert werden oder nicht, auf einem muß sie aber sein (deshalb „AnzTeilmengen - 1“)

Page 68: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

68

Diskussion O/1 Optimierungsproblem sehr hoher Rechenaufwand Ermittlung der Parameter

(Anfragehäufigkeit, Selektionsprädikate, Kostenparameter wie z.B. Netzwerkbandbreite) ist schwierig

Parameter äandern sich dynamisch Einsatz von Heuristiken

Page 69: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

Schema-Architekturen verteilter Datenbanksysteme

Verwaltung der Fragmentierungs- und Allokationsinformation

Page 70: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

70

Ziel Verstecken/Verbergen (vor dem Benutzer)

von Heterogenität in den lokalen Schemata/Datenmodellen

der Partitionierung der globalen Relation der Allokation der Partitionen/Relationen von redundanten Speicherung von Partitionen

zur Leistungssteigerung zur Ausfallsicherheit

Bereitstellung von Informationen für den Query - Optimierer und Prozessor und DBA

Page 71: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

71

ANSI/SPARC Drei-Schema Architektur

Internes Schema

Konzeptuelles Schema

Externes Schema Externes Schema Externes Schema

Page 72: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

72

ANSI/SPARC Drei-Schema Architektur -- rel. DBMS

Internes Schema

Konzeptuelles Schema

Externes Schema Views (Sichten)

Relationen Referentielle

Integritätsbedingungen

Indexe, Cluster, DB-Extents, Seiten

Page 73: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

73

Klassifikation verteilter DBMS

Autonomie

Heterogenität

Vertei

lung

Zentrales DBs

HeterogenesMulti-DBMSHeterogenes,

föderiertes vDBMS

Heterogenes, eng integriertes

vDBMs

Homogenes, eng integriertes

vDBMs

Homogenes,föderiertes vDBMS

HomogenesMulti-DBMS

Page 74: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

74

Homogene, prä-integrierte DBMSs

Von vornherein als verteilte DB ausgelegt Performance-Steigerung Ausfallsicherheit inkrementelle Erweiterbarkeit

keine Altlasten = „schöne heile Welt“ Ausgangssituation

globales Schema davon abgeleitete

Fragmentierung/Partionierung und Allokation

Page 75: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

75

Architektur

Globale externe Schemata

Globales Schema

......Lokales

konzeptuelles Schema

Lokales internesSchema

Lokale DB

Station S1 Station Sn

AnwendungAnwendung

Lokaleskonzeptuelles

Schema

Lokales internesSchema

Lokale DB

Page 76: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

76

Architektur

Globale externe Schemata

Globales Konzeptuelles Schema (GKS)

Globales Partitionierungs-Schema (GPS)

Globales Allokations-Schema (GAS)

......Lokales

konzeptuelles Schema

Lokales internesSchema

Lokale DB

Station S1 Station Sn

AnwendungAnwendung

Lokaleskonzeptuelles

Schema

Lokales internesSchema

Lokale DB

3-Schema-Architektur

Page 77: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

77

Globales Konzeptuelles Schema GKS

Globales Partitionierungs-

Schema GPS

Globales Allokations-Schema GAS

LokaleKonzeptuelle

Schemata LKS

Transformations-Regeln

Page 78: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

78

]},,,,{[:

]},,{[:

]},{[:

]},,,{[:

]},,,,{[:

]},,,,{[:

AbtNrAktWertAnschJahrgBezeichnunInvNrINVENTAR

StadtLiefNameLiefNrLIEFERANT

LagerNrTeileNrLAGERORT

PreisLiefNrTeileBezTeileNrTEILE

BudgetMgrPersNrBereichAbtNameAbtNrABT

AnschriftAbtNrGehaltAngNamePersNrANGESTGlobaler Katalog

GKS

Partitionen

Partition Attribute GlobaleRel.

Selektions-präd.

ABT1 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr<=300

ABT2 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr>300

ANGEST1 PersNr,AngName,AbtNr,Anschrift

ANGEST ---

ANGEST2 PersNr, Gehalt ANGEST ---

INVENTAR InvNr,Bezeichnung,AnschJahr,AktWert,AbtNr

INVENTAR ---

LAGERORT TeileNr,LagerNr LAGERORT ---

LIEFERANT1 LiefNr,LiefName,Stadt LIEFERANT LiefNr<=200

LIEFERANT2 LiefNr,LiefName,Stadt LIEFERANT LiefNr>200

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=500

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=5002

1:

2

1:

2

1:

21:

TEILE

TEILETEILE

LIEFERANT

LIEFERANTLIEFERANT

LAGERORT

INVENTAR

ANGEST

ANGESTANGEST

ABTABTABT

PersNr

Transf.GPS

Page 79: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

79

]},,,,{[:

]},,{[:

]},{[:

]},,,{[:

]},,,,{[:

]},,,,{[:

AbtNrAktWertAnschJahrgBezeichnunInvNrINVENTAR

StadtLiefNameLiefNrLIEFERANT

LagerNrTeileNrLAGERORT

PreisLiefNrTeileBezTeileNrTEILE

BudgetMgrPersNrBereichAbtNameAbtNrABT

AnschriftAbtNrGehaltAngNamePersNrANGEST

Partitionen

Partition Attribute GlobaleRel.

Selektions-präd.

ABT1 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr<=300

ABT2 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr>300

ANGEST1 PersNr,AngName,AbtNr,Anschrift

ANGEST ---

ANGEST2 PersNr, Gehalt ANGEST ---

INVENTAR InvNr,Bezeichnung,AnschJahr,AktWert,AbtNr

INVENTAR ---

LAGERORT TeileNr,LagerNr LAGERORT ---

LIEFERANT1 LiefNr,LiefName,Stadt LIEFERANT LiefNr<=200

LIEFERANT2 LiefNr,LiefName,Stadt LIEFERANT LiefNr>200

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=500

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=500

2

1:

2

1:

2

1:

21:

TEILE

TEILETEILE

LIEFERANT

LIEFERANTLIEFERANT

LAGERORT

INVENTAR

ANGEST

ANGESTANGEST

ABTABTABT

PersNr

Transformationen

GPS

Globaler Katalog

GKSGlobales

Partitionierungs-Schema

Page 80: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

80

Globales Allokations-Schema (GAS)Partitionen-Allokation

Partition LokalerName PrimärKnoten ...

ABT1 ABT@KnotenA KnotenAABT2 ABT@KnotenC KnotenCANGEST1 ANGEST1@KnotenA KnotenAANGEST2 ANGEST1@KnotenB KnotenBINVENTAR INVENTAR@KnotenC KnotenCLAGERORT LAGERORT@KnotenA KnotenALIEFERANT1 LIEFERANT@KnotenB

LIEFERANT@KnotenCKnotenB

LIEFERANT2 LIEFERANT@KnotenALIEFERANT@KnotenB

KnotenA

TEILE1 TEILE@KnotenA KnotenATEILE1 TEILE@KnotenB

TEILE@KnotenCKnotenB

Page 81: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

81

]},,,,{[:

]},,{[:

]},{[:

]},,,{[:

]},,,,{[:

]},,,,{[:

AbtNrAktWertAnschJahrgBezeichnunInvNrINVENTAR

StadtLiefNameLiefNrLIEFERANT

LagerNrTeileNrLAGERORT

PreisLiefNrTeileBezTeileNrTEILE

BudgetMgrPersNrBereichAbtNameAbtNrABT

AnschriftAbtNrGehaltAngNamePersNrANGEST

Partitionen

Partition Attribute GlobaleRel.

Selektions-präd.

ABT1 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr<=300

ABT2 AbtNr,AbtName,Bereich,MgrPersNr,Budget

ABT AbtNr>300

ANGEST1 PersNr,AngName,AbtNr,Anschrift

ANGEST ---

ANGEST2 PersNr, Gehalt ANGEST ---

INVENTAR InvNr,Bezeichnung,AnschJahr,AktWert,AbtNr

INVENTAR ---

LAGERORT TeileNr,LagerNr LAGERORT ---

LIEFERANT1 LiefNr,LiefName,Stadt LIEFERANT LiefNr<=200

LIEFERANT2 LiefNr,LiefName,Stadt LIEFERANT LiefNr>200

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=500

TEILE1 TeileNr,LiefNr,Preis TEILE TeileNr<=5002

1:

2

1:

2

1:

21:

TEILE

TEILETEILE

LIEFERANT

LIEFERANTLIEFERANT

LAGERORT

INVENTAR

ANGEST

ANGESTANGEST

ABTABTABT

PersNr

Trans

GPS

Globaler Katalog

GKS Globales Partitionierungs-

Schema GPS

Partitionen-Allokation

Partition LokalerName PrimärKnoten ...

ABT1 ABT@KnotenA KnotenA

ABT2 ABT@KnotenC KnotenCANGEST1 ANGEST1@KnotenA KnotenAANGEST2 ANGEST1@KnotenB KnotenBINVENTAR INVENTAR@KnotenC KnotenC

LAGERORT LAGERORT@KnotenA KnotenALIEFERANT1 LIEFERANT@KnotenB

LIEFERANT@KnotenCKnotenB

LIEFERANT2 LIEFERANT@KnotenALIEFERANT@KnotenB

KnotenA

TEILE1 TEILE@KnotenA KnotenA

TEILE1 TEILE@KnotenBTEILE@KnotenC

KnotenB

Globales Allokations-Schema GAS

Page 82: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

82

Klassifikation verteilter DBMS

Autonomie

Heterogenität

Vertei

lung

Zentrales DBs

HeterogenesMulti-DBMSHeterogenes,

föderiertes vDBMS

Heterogenes, eng integriertes

vDBMs

Homogenes, eng integriertes

vDBMs

Homogenes,föderiertes vDBMS

HomogenesMulti-DBMS

Page 83: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

83

Heterogene, prä-integrierte Systeme

Selten, nur in Spezialanwendungen Beispielszenarium

DBMS dient der Indexierung und Speicherung von Verwaltungsinformation

„aktive“ Nutzdaten werden im Dateisystem gespeichert

Beispielanwendungen CAD System Archivierungssystem (IXOS)

Page 84: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

84

Hybrid-Lösung: CAD-DB-Integration

CAD-Anwendungssystem

Verwaltungsdaten Meta-Daten Stücklisten Bemaßungen ....

Geomteriedaten Begrenzungsflächen- modell Volumenmodell ....

Datenbanksystem CAD-System

Datei-System

Page 85: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

85

Hybrid-Lösung: Archivierungssystem

Archivierungssystem

Verwaltungsdaten Objektidentifikation Version/Format Speicherort ....

Gespeicherte Information

(Faxe, Briefe, Rechnungen,archivierte Datenobjekte)

Datenbanksystem Archivspeicher-System

Juke-Box

Page 86: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

86

Resumee

Integration im Anwendungssystem CAD-Anwendungssystem Archivsystem

Heterogenität ist auf Implementierungseben (des Anw.-Systems) voll sichtbar

kein echtes verteiltes DBMS Interaktion der Komponenten ist im

Anwendungssystem „verdrahtet“

Page 87: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

87

Heutige/zukünftige Entwicklungen

Spezial-Datenbanksysteme für unterschiedliche Anwendungsdomänen Geo-DBMS Image-DBMS Video-DBMS

Realisierung durch Bausteine Datablades in Informix Erweiterungsmodule

Page 88: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

88

Klassifikation verteilter DBMS:post-integrierte Systeme

Autonomie

Heterogenität

Vertei

lung

Zentrales DBs

HeterogenesMulti-DBMSHeterogenes,

föderiertes vDBMS

Heterogenes, eng integriertes

vDBMs

Homogenes, eng integriertes

vDBMs

Homogenes,föderiertes vDBMS

HomogenesMulti-DBMS

Page 89: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

89

Ausgangssituation: Zwei „getrennte“ Datenbanksysteme

IS-1

KS-1

ES11 ES12

Transform

Transform

Transform

IS-2

KS-2

ES21 ES22

Transform

Transform

Transform

Externe Schemata

Konzeptuelle Schemata

Interne Schemata

Page 90: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

90

Integrationsversuch: Gemeinsames Konz. Schema

IS-1

KS-1

ES11 ES12

Transform

Transform

Transform

IS-2

KS-2

ES21 ES22

Transform

Transform

Transform

IS-2

ES21 ES22

Transform

Transform

Transform

IS-1

KS-neu

ES11 ES12

Transform

Transform

Transform

Page 91: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

91

Integrationsversuch: Gemeinsames Konz. Schema In der Praxis nicht

realisierbar gleichzeitige

Änderung (über Nacht) aller Schemata

Simulation des alten KS durch Bereitstellung der alten Sicht auf dem neuen KS IS-1

KS-1T

ransformT

ransform

Transform

IS-2

KS-2

Transform

Transform

Transform

IS-2

Transform

Transform

Transform

IS-1

KS-neu

Transform

Transform

Transform

Page 92: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

92

Lokale Repräsentationsschemata

Knoten A

Lokales internesSchema

Lokales konzeptuellesSchema

Lokale externeSchemata

Lokales Repräsen-tations-Schema Anw.Anw.Anw.

Knoten B

Lokales internesSchema

Lokales konzeptuellesSchema

Lokale externeSchemata

Lokales Repräsen-tations-Schema Anw.Anw.Anw.

Globales Schema

Globale externe Schemata

Page 93: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

93

Schema-Integration(analog zur Konsolidierungsphase im DB-Entwurf)

Prä-Integrationsphase Vorgehensweise festlegen Information „sichten“

Vergleichsphase Namens-/Struktur- und Typ-Konflikte ermitteln

Vereinheitlichungsphase Festlegung des Zielschemas

Restrukturierungs- und Zusammenfassungsphase lokale Repräsentationsschemata festlegen Abbildungen/transformationen realisieren

Page 94: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

94

Vorgehensweise bei Integration binär vs. N-stellig

S1 S2 S3 S4 S1 S2 S3 S4

Page 95: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

95

Vergleichsphase Namens- und Typkonflikte ermitteln Homonyme und Synonyme

Mutter

Schraube Angestellte/r

Mutter

Passt_auf

Kunde Klient

bestellt hat

Produkt Kredit

Page 96: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

96

Konflikte auf ... Strukturebene (Typebene)

Typinkampatibilität numerisch alphanumerisch

Beziehungskonflikt (1:1 vs. N:M) Schlüsselkonflikt Verhaltenskonflikt (on delete cascade in nur einem

Schema) Instanzebene

Mehrfachspeicherung mit unterschiedlichen Primärschlüsseln Kunden und Lieferanten

Verwendung desselben Schlüsselwerts für unterschiedliche Entities

funktionaler Ebene: unterschiedliche DB-Operatoren

Page 97: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

97

Beispiel eines Schlüssel-KonfliktsLieferanten@KnotenA

LiefNr Name ...

4711 Kölner AG ...

007 Bond Ltd ...

1984 BigBrother Inc ...

... ... ...

Lieferanten@KnotenB

LiefNr Name ...

1977 Kölner AG ...

007 Bond Ltd ...

1984 Orwell Inc ...

... ... ...

Page 98: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

98

Konfliktresolution 1:Globale Schlüssel-Zuordnungstabelle

GlobaleLieferantenGlobLiefNr Name ... A_ID B_ID001 Kölner AG ... 4711 1977002 Bond Ltd ... 007 007003 Bigbrother Inc ... 1984 null004 Orwell Inc ... null 1984... ... ... ... ...

Page 99: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

99

Konfliktresolution 2:Globale Schlüssel-Zuordnungstabelle

GlobaleLieferanten

LiefNr Knoten Name ...

4711 A Kölner AG ...

1977 B Kölner AG ...

007 A Bond Ltd ...

007 B Bond Ltd ...

1984 A BigBrother Inc ...

1984 B Orwell Inc ...

Page 100: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

100

Änderungen auf post-integrierten Datenbanken ... Bei disjunkten lokalen DBs

dom (PK_L1) dom(PK_L2) = Ø jedem globalen Entity ist eineindeutig ein

lokales Entity zugeordnet deshalb sind Updates prinzipiell möglich, d.h.

propagierbar

L1 L2

Page 101: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

101

Änderungen auf post-integrierten Datenbanken ... Bei überlappenden lokalen DBs

dom (PK_L1) dom(PK_L2) ‡ Ø jedem globalen Entity können mehrere lokale

Entities zugeordnet sein Problem: Einfügen neuer Entities. WO?

Überall, Primärknoten,...

L1 L2

Page 102: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

102

Änderungen auf post-integrierten Datenbanken

... Bei vollständig überlappenden lokalen DBs

dom (PK_L1) dom(PK_L2) Problemstellung wie bei partiell

überlappenden lokalen DBs

L1 L2

Page 103: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

103

Homogene, post-integrierte DBs Behandlung struktureller Heterogenität in einfachen Fällen durch Transformationsregeln in

SQL/Relationenalgebra integrierbar Integration von Relationen unterschiedlicher Stelligkeit

(~Breite) Null-Werte Problem: Einfügeoperation auf gloaler Rel.

Dummy-Attributwerte einsetzen

Problem unterschiedlicher Wertebereiche numerisch vs. Alphanumerisch Kunde007 vs 007

Page 104: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

104

Illustration der Schema-Homogenisierung

A B C D A E A B D

A C B F

Dummy Attribute(lokal nicht vorhanden)

Page 105: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

105

Informationsintegration inMulti-DBMS

Autonomie

Heterogenität

Vertei

lung

Zentrales DBs

HeterogenesMulti-DBMSHeterogenes,

föderiertes vDBMS

Heterogenes, eng integriertes

vDBMs

Homogenes, eng integriertes

vDBMs

Homogenes,föderiertes vDBMS

HomogenesMulti-DBMS

Page 106: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

106

Problemstellung der Schemaintegration

Keine Einflußnahme auf die jeweiligen Systeme möglich (also kein exportiertes Repräasentationsschema)

Lokale Systeme „sträuben“ sich möglicherweise sogar gegen die Integration Beispiel: Comparison Shopping

Cadabra.com BottomDollar.com mySimon.com Junglee (wurde von Amazon gekauft

[=eliminiert])

Page 107: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

107

Wrapper und Mediator

Informations-quelle (im Internet)

Informations-quelle (im Internet)

Wrapper Wrapper

Mediator

Mediator

Anfrage

Middleware-System

Page 108: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

108

Beispiel-Systeme/Projekte Tsimmis

Stanford University

Garlic IBM

Information Manifold AT&T

ObjectGlobe Univ. Passau dezentrale Architektur

IDB University of

Wisconsin, Madison

Page 109: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

109

Formale Grundlagen für Schemaintegration: Datalog Database und Prolog Logikprogrammiersprache bzw.

logikbasierte Datenbank-Anfragesprache Ähnlichkeit zu Query by Example Basisrelationen = Fakten

extensionale Datenbank Regeln definieren Sichten/Views

intensionale Datenbank

Page 110: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

110

Page 111: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

111

Kurzeinführung zu Datalog Aus dem Kemper/Eickler-Buch

Kapitel 14 PDF-Folien ab S. 407

http://www-db.in.tum.de/research/publications/books/DBMSeinf

..\EIS\Deduktive.ppt

Page 112: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

112

Schema-Integration in Information Manifold

Globale Prädikate emp(E) phone(E,P) office(E,O) mgr(E,M) dept(E,D)

Drei Datenquellen v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy).

Anfrage:

query(P,O) :- phone(sally,P) & office(sally,O).

Page 113: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

113

Schema-Integration in Information Manifold

Drei Datenquellen v1(E,P,M) :- emp(E) & phone(E,P) &

mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) &

dept(E,D). v3(E,P) :- emp(E) & phone(E,P) &

dept(E,toy).

Page 114: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

114

Anfrageauswertung in IM

query( ) :- p_i1( ) & ......... & p_in( ).

query( ) :- v_j1( ) & ......... & v_jr( ).

Expansionvon v_j1

Expansion von v_jr

query( ) :- p_j1_1( ) & ... &p_j1_k1( ) & ..... & p_jr_1( ) &.... &p_jr_kr( ).

Lösung(basierend

auf externen Sichten v_i( )

Page 115: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

115

Auswertung der Beispielanfrage

query(P,O) :- phone(sally,P) & office(sally,O). Zwei Lösungen:

query(P,O):-v1(sally,P,M) & v2(sally,O,D). query(P,O):-v3(sally,P) & v2(sally,O,D).

Expansionen: query(P,O):-emp(sally) & phone(sally,P) & mgr(sally,M) &

emp(sally) & office(sally,O) & dept(sally,D). query(P,O):-emp(sally) & phone(sally,P) & dept(sally,toy) &

emp(sally) & office(sally,O) & dept(sally,D).

Page 116: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

116

Mediatoren in Tsimmis Drei Datenquellen

v1(E,P,M) :- emp(E) & phone(E,P) & mgr(E,M). v2(E,O,D) :- emp(E) & office(E,O) & dept(E,D). v3(E,P) :- emp(E) & phone(E,P) & dept(E,toy).

Mediatoren: epo(E,P,O) :- v1(E,P,M) & v2(E,O,D). epo(E,P,O) :- v3(E,P) & v2(E,O,D). edm(E,D,M) :- v1(E,P,M) & v2(E,O,D).

Anfragen „gegen die Mediatoren“: query(P,O) :- epo(sally,P,O).

Page 117: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

117

Anfrageauswertung in Tsimmis

Mediatoren: epo(E,P,O) :- v1(E,P,M) & v2(E,O,D). epo(E,P,O) :- v3(E,P) & v2(E,O,D). edm(E,D,M) :- v1(E,P,M) & v2(E,O,D).

Anfragen „gegen die Mediatoren“: query(P,O) :- epo(sally,P,O).

Expansion der Mediator-Definitionen: query(P,O) :- v1(sally,P,M) & v2(sally,O,D). query(P,O) :- v3(sally,P) & v2(sally,O,D).

Page 118: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

118

Vergleich der beiden Ansätze:Integration neuer Datenquellen

Information Manifold Wrapper schreiben Wrapper mittels

externer Prädikate definieren

Ab dann werden neue Quellen automatisch mit berücksichtigt

Local as view-Prinzip

Tsimmis Wrapper schreiben Mediatoren „von

Hand“ anpassen, damit die neuen Datenquellen mit berücksichtigt werden

Global-as-view Prinzip

Page 119: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

119

Anfragebearbeitung in Multi-DBMS-Systemen Später mehr … erst beschäftigen wir uns mit der

Anfragebearbeitung in homogenen, prä-integrierten DBMS

Page 120: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

120

IDB: Towards the Scalable Integration of Queryable Internet Data Sources

Namespaces zur Beschreibung von Datenobjekten Namespace book#

vendor category title url author year price isbn publisher

book(vendor,category,title,url,author,...)

Page 121: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

121

Wrapper „exportieren“ Attribute aus Namespaces Beispiel: Amazon-Wrapper

select `Amazon` as book#vendor, book#title+,book#url, book#author, book#year, book#price+,...

from http://www.amazon.com/ats-query ... where <Wrapper-Implementierung>

Page 122: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

122

Anfragen werden in Datalog transformiert

select B.vendor, B.title, B.author, B.price, R.review from book B, review R where B.title ~= `Datenbanksysteme` and B.title = R.title

queryfbfff(vendor,title,author,price,review) :- bookfbff(vendor,title,author,price) & reviewbf(title,review) & title~=`Datenbanksysteme`

Page 123: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

123

Datenquellen und Bindungen Bücher

amazonfbbff(vendor,title,author,year,price) bordersfbff(vendor,title,author,price) buch.defbff(vendor,title,price,isbn) bolfb(author,isbn)

Reviews nytimesbff(title,author,review) wpostbbf(title,isbn,review)

Page 124: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

124

Anfragebearbeitung Es werden die Datenquellen

herangezogen, die alle in der Anfrage referenzierten Attribute „liefern“ und

mit den Bindungen der Anfrage verträglich sind

Page 125: Speicherung globaler Relationen: Fragementierung und Allokation À Priori Schema-Entwurf für integrierte, homogene verteilte Datenbanken.

125

Berücksichtigung der Bindungen in der Anfrageoptimierung

Select b.Title, b.Author, b.ISBN, b.PriceFrom Books as b, Bestseller as bswhere bs.Author = b. Author

Books buecher.deffbf(vendor,title,author,price)

Bestseller spiegel.defff(title,author,verlag)

buecher.despiegel.de

BindJoin

WrapperBestseller

WrapperBooks


Recommended