BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 1
Verteilte Metadatenverwaltung für die Anfragebearbeitung auf Internet-
Datenquellen
Markus Keidl1 Alexander Kreutz1Alfons Kemper1 Donald Kossmann2
BTW 2001 – Sitzung: Datenbanken im Internet
1 Universität Passau
D-94030 Passau
<nachname>@db.fmi.uni-passau.de
2 TU München
D-81667 München
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 2
Gliederung Motivation Die Metadatenverwaltung MDV
Architektur Publish/Subscribe-Mechanismus
Regelsystem Vorfilter-Algorithmus
Zusammenfassung
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 3
Motivation Ressourcenverwaltung für Internet-
Anfragebearbeitung in ObjectGlobe Anforderungen:
große Zahl von Klienten 3-Schichten-Architektur
Informationen nahe bei den Klienten Caching, Replikation
Aktualität der Information
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 4
T... ... ...... ... ...
... ... ...
wrap_S
thumbnail
wrap_S
thumbnail
Fct-Provider
R... ... ...... ... ...
... ... ...S
Data-Provider A Data-Provider B
Das ObjectGlobe-System
Lade
Operator
Cycle-Provider
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 5
Die Metadatenverwaltung Metadaten im RDF-Format Metadaten-Schema mit RDF
Schema 3-Schichten-Architektur:
Ö-MDVs, L-MDVs und MDV-Klienten Caching/Replikation auf lokaler
Ebene Aktualität durch Publish/Subscribe-
Mechanismus
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 6
RDF RDF = Resource Description
Framework Dokumente enthalten Ressources,
Properties und Values( Objekten, Instanzvariablen, Werten)
RDF Schema: Klassenhierarchie Zukünftiger Standard für Metadaten
(MDV ist aber nicht darauf festgelegt)
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 7
RDF - Beispiel Beispiel:
<Partition rdf:ID=“part“>
<cardinality>2000</cardinality>
<theme>
<Theme rdf:ID=“theme“>
<themeName>Hotels</themeName>
</Theme>
</Partition>
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 8
Architektur der MDV
Ö-MDV Ö-MDV Ö-MDV
L-MDV L-MDV
Publish/Subscribe
Optimierer
Backb
on
e
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 9
Architektur - Ö-MDVs Öffentlichen MDVs (Ö-MDVs):
Backbone aus Ö-MDVs speichern globale Metadaten repliziert innerhalb des Backbones
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 10
Architektur der MDV
Ö-MDV Ö-MDV Ö-MDV
L-MDV L-MDV
Publish/Subscribe
Optimierer
Backb
on
e
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 11
Architektur - L-MDVs Lokale MDVs (L-MDVs):
liegen nahe bei den Klienten abonnieren globale Metadaten
Caching speichern lokale Metadaten Anfrageauswertung:
abonnierte und lokale Metadaten Hinzufügen von L-MDVs
Skalierbarkeit
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 12
Architektur der MDV
Ö-MDV Ö-MDV Ö-MDV
L-MDV L-MDV
Publish/Subscribe
Optimierer
Backb
on
e
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 13
Architektur - MDV-Klienten MDV-Klienten
stellen Anfragen an L-MDVs browsen Metadaten an Ö-MDVs und
L-MDVs modifizieren die Abonnement-Regeln
ihrer L-MDV
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 14
Publish/Subscribe-Mechanismus Lokale MDVs abonnieren Metadaten
Regeln Beispielregel:
search Partition p register pwhere p.cardinality > '1000' and p.theme.themeName = 'Hotels'
Registrieren, Ändern oder Löschen von RDF-Dokumenten Auswertung
Problem: Große Menge von Regeln
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 15
Vorfilter Basierend auf Standard-RDBMS Idee: Auswerten einer Regel-
Teilmenge Zerlegung in Atome:
RDF Dokumente Regeln auslösende und abhängige
Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung der Regeln
Ziel: Index auf gesamte Regelmenge
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 17
Publish/Subscribe mit Vorfilter Registrierung eines RDF
Dokuments Zerlegung des RDF Dokuments Vorfilter-Lauf
Regeln, die neue Metadaten abonnieren + neue Metadaten
Regeln L-MDVs Benachrichtigung der L-MDVs
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 18
Zerlegung: RDF-Dokument
<Partition rdf:ID=“part“>
<cardinality>2000</cardinality>
<theme>
<Theme rdf:ID=“theme“>
<themeName>Hotels</themeName>
</Theme>
</Partition>
object_id class predicate value
doc.rdf#partPartition
rdf#subject
doc.rdf#part
doc.rdf#partPartition
cardinality 2000
doc.rdf#partPartition
themedoc.rdf#theme
doc.rdf#theme
Themerdf#subject
doc.rdf#theme
doc.rdf#theme
ThemethemeName
Hotels
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 19
Zerlegung: RDF-Dokument
<Partition rdf:ID=“part“>
<cardinality>2000</cardinality>
<theme>
<Theme rdf:ID=“theme“>
<themeName>Hotels</themeName>
</Theme>
</Partition>
object_id class predicate value
doc.rdf#partPartition
rdf#subject
doc.rdf#part
doc.rdf#partPartition
cardinality 2000
doc.rdf#partPartition
themedoc.rdf#theme
doc.rdf#theme
Themerdf#subject
doc.rdf#theme
doc.rdf#theme
ThemethemeName
Hotels
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 20
Zerlegung: Regeln
search Partition p register p where p.cardinality > '1000' and p.theme.themeName = 'Hotels'
A: search Partition p register pB: search Partition p register p where p.cardinality > '1000'C: search Theme t register t where t.themeName = 'Hotels'D: search Regel(C) d register dE: search Regel(A) a, Regel(D) d register a where a.theme = gF: search Regel(E) e, Regel(B) b register e where e = b
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 21
Zerlegung: Regel - Ergebnis
Regel A
Partition
Regel E
a.theme = d
themeName = 'Hotels'
Regel C
Theme Partition
Regel B
cardinality > '1000'
Regel Fe = b
Regel D
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 22
Zerlegung: Auslösende Regeln
search Partition p register p where p.cardinality > '1000'
search Theme t register t where t.themeName = 'Hotels'
search Partition p register p
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000
PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
Hotels
PrefilterRules
query_id
class
3 Partition
>
=
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 23
Vorfilter Basierend auf Standard-RDBMS Idee: Auswerten einer Regel-
Teilmenge Zerlegung in Atome:
RDF Dokumente Regeln auslösende und abhängige
Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung der Regeln
Ziel: Index auf gesamte Regelmenge
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 24
Vorfilter Basierend auf Standard-RDBMS Idee: Auswerten einer Regel-
Teilmenge Zerlegung in Atome:
RDF Dokumente Regeln auslösende und abhängige
Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung der Regeln
Ziel: Index auf gesamte Regelmenge
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 25
Bestimmung ausgelöster Regeln
object_id class predicate value
doc.rdf#part Partition
rdf#subject doc.rdf#part
doc.rdf#part Partition
cardinality 2000
doc.rdf#part Partition
theme doc.rdf#theme
doc.rdf#theme
Theme rdf#subject doc.rdf#theme
doc.rdf#theme
Theme themeName
Hotels
object_id query_id
Join
PrefilterRules
query_id
class
3 Partition
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
Hotels
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 26
Bestimmung ausgelöster Regeln
object_id class predicate value
doc.rdf#part Partition
rdf#subject doc.rdf#part
doc.rdf#part Partition
cardinality 2000
doc.rdf#part Partition
theme doc.rdf#theme
doc.rdf#theme
Theme rdf#subject doc.rdf#theme
doc.rdf#theme
Theme themeName
Hotels
object_id query_id
doc.rdf#part 1Join
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
HotelsPrefilterRules
query_id
class
3 Partition
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 27
Bestimmung ausgelöster Regeln
object_id class predicate value
doc.rdf#part Partition
rdf#subject doc.rdf#part
doc.rdf#part Partition
cardinality 2000
doc.rdf#part Partition
theme doc.rdf#theme
doc.rdf#theme
Theme rdf#subject doc.rdf#theme
doc.rdf#theme
Theme themeName
Hotels
object_id query_id
doc.rdf#part 1Join
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
HotelsPrefilterRules
query_id
class
3 Partition
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 28
Bestimmung ausgelöster Regeln
object_id class predicate value
doc.rdf#part Partition
rdf#subject doc.rdf#part
doc.rdf#part Partition
cardinality 2000
doc.rdf#part Partition
theme doc.rdf#theme
doc.rdf#theme
Theme rdf#subject doc.rdf#theme
doc.rdf#theme
Theme themeName
Hotels
object_id query_id
doc.rdf#part 1
doc.rdf#theme
2
Join
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
HotelsPrefilterRules
query_id
class
3 Partition
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 29
Bestimmung ausgelöster Regeln
object_id class predicate value
doc.rdf#part Partition
rdf#subject doc.rdf#part
doc.rdf#part Partition
cardinality 2000
doc.rdf#part Partition
theme doc.rdf#theme
doc.rdf#theme
Theme rdf#subject doc.rdf#theme
doc.rdf#theme
Theme themeName
Hotels
object_id query_id
doc.rdf#part 1
doc.rdf#theme
2
doc.rdf#part 3
Join
PrefilterRulesGT
query_id
class predicate value
1 Partition
cardinality 1000PrefilterRulesEQ
query_id
class predicate value
2 Theme themeName
HotelsPrefilterRules
query_id
class
3 Partition
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 30
Vorfilter Basierend auf Standard-RDBMS Idee: Auswerten einer Regel-
Teilmenge Zerlegung in Atome:
RDF Dokumente Regeln auslösende und abhängige
Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung der Regeln
Ziel: Index auf gesamte Regelmenge
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 31
Vorfilter Basierend auf Standard-RDBMS Idee: Auswerten einer Regel-
Teilmenge Zerlegung in Atome:
RDF Dokumente Regeln auslösende und abhängige
Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung der Regeln
Ziel: Index auf gesamte Regelmenge
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 32
Inkrementelle Auswertung ausgelöste Regeln Auswerten
aller abhängigen Regeln
object_id query_id
doc.rdf#part 1
doc.rdf#theme
2
doc.rdf#part 3
inkrementelle Auswertung soweit möglich
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 33
Inkrementelle Auswertung
Regel A
Partition
Regel E
a.theme = d
themeName = 'Hotels'
Regel C
Theme Partition
Regel B
cardinality > '1000'
Regel Fe = b
Regel D
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 34
Inkrementelle Auswertung
Regel A
Partition
Regel E
a.theme = d
themeName = 'Hotels'
Regel C
Theme Partition
Regel B
cardinality > '1000'
Regel Fe = b
Regel D
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 35
Inkrementelle Auswertung
Regel A
Partition
Regel E
a.theme = d
themeName = 'Hotels'
Regel C
Theme Partition
Regel B
cardinality > '1000'
Regel Fe = b
Regel D
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 36
Inkrementelle Auswertung
Regel A
Partition
Regel E
a.theme = d
themeName = 'Hotels'
Regel C
Theme Partition
Regel B
cardinality > '1000'
Regel Fe = b
Regel D
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 37
Verwandte Arbeiten - 1 Metadaten:
Equal Time For Data on the Internet with WebSemantics[Mihaila, Raschid, Tomasic; EDBT '98]Automatic Deployment of Application-Specific Metadata and Code in MOCHA [Rodriguez-Martinez, Roussopoulos; EDBT '00]
Universal Description, Discovery, and Integration (UDDI)[Ariba, Inc., IBM, Microsoft; http://www.uddi.org]
Publish/Subscribe:Efficient Matching for Web-Based Publish/Subscribe Systems [Pereira, Fabret, Llirbat, Shasha; CoopIS '00]Matching Events in a Content-Based Subscription System[Aguilera, Strom, Sturman, Astley, Chandra; PODC '99]The SIFT Information Dissemination System [Yan, Garcia-Molina; TODS '99]Efficient Filtering of XML Documents for Selective Dissemination of Information [Altinel, Franklin; VLDB '00]
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 38
Verwandte Arbeiten - 2 Continuous Queries:
NiagaraCQ: A Scalable Continuous Query System for Internet Databases [Chen, DeWitt, Tian, Wang; SIGMOD '00]Continual Queries for Internet Scale Event-Driven Information Delivery [Liu, Pu, Tang; IEEE TKDE '99]
Materialized Views und Semantic Caching:Maintaining Views Incrementally [Gupta, Mumick, Subrahmanian; SIGMOD '93]Efficiently Updating Materialized Views[Blakeley, Larson, Tompa; SIGMOD '00]Semantic Data Caching and Replacement [Dar, Franklin, Jónsson, Srivastava, Tan; VLDB '96]
BTW '01 - 08. März 2001
Verteilte Metadatenverwaltung 39
Zusammenfassung Metadatenverwaltung MDV
Architektur: Ö-MDVs, L-MDVs, Klienten
Publish/Subscribe-Mechanismus Vorfilter-Algorithmus:
Zerlegung von RDF-Dokumenten Zerlegung von Regeln Bestimmung ausgelöster Regeln Inkrementelle Auswertung