Projekt Aladin: Almost Hands-Off Data Integration for the Life Sciences

Werbung
Aladin – Almost HandsOff Data Integration for
the Life Sciences
VL Informationsintegration
7.12.2006
Gliederung
Die Grundidee: Was ist Aladin?
 Einordnung in die Begriffe der VL

 Szenarien,

Kriterien, Architekturen
Algorithmen zur Bestimmung von
Inklusionsabhängigkeiten
 der
offensichtliche Weg
 der effiziente Weg
 mögliche Erweiterungen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
2
Die Grundidee
(Fast) Automatische Integration von Life
Science Datenbanken
 Wie?

 datenzentriert
(nicht schema-zentriert), denn:
Schemata meist nicht vertrauenswürdig
 Semantische Heterogenität besonders
problematisch

 unter
Ausnutzung von domänenspezifischem
Wissen

Primärrelation, Accession-Number
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
3
Integrationsschritte
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
4
Gliederung
Die Grundidee: Was ist Aladin?
 Einordnung in die Begriffe der VL

 Szenarien,

Kriterien, Architekturen
Algorithmen zur Bestimmung von
Inklusionsabhängigkeiten
 der
offensichtliche Weg
 der effiziente Weg
 mögliche Erweiterungen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
5
Anwendungsszenarien

Data-Warehouse (Materialisierung)

vs.
Förderierte Datenbank (virtuelle Anfragen)
• Gründe:
• Technische und DatenmodellHeterogenität eliminieren
• schnelles Arbeiten auf den Daten
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
6
Extension vs. Intension
„Extension kann zum Verständnis der
Intension benutzt werden“
 Ausnutzung extensionaler Redundanz

 für
Erkennen intensionaler Redundanz
und damit
 für Verständnis der Intension
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
7
Verteilung
Physische Verteilung
vs.
 Logische Verteilung

 (in unterschiedl.
Schemata)
• Grund:
• Erhaltung der Quellenidentität
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
8
Autonomie
Design-Autonomie
 Kommunikations-Autonomie
 Ausführungs-Autonomie
 Schnittstellenautonomie
 Zugriffsautonomie
 Juristische Autonomie







• Grund: Quellen wissen überhaupt nicht,
dass sie integriert werden
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
9
Heterogenität
Technische Heterogenität eliminiert nach Import

 Syntaktische Heterogenität
 Datenmodellheterogenität
eliminiert nach Import
 Strukturelle Heterogenität

 Schematische Heterogenität


 Semantische Heterogenität

Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
10
Transparenz
Ortstransparenz

 Quellen-, Verteilungstransparenz
 Schnittstellentransparenz
 Schematransparenz

• Gründe:
• kein globales Schema, denn:
• Datenherkunft ist wichtigstes Kriterium für
Einschätzung der Qualität der Informationen
• kein neues (evtl. sehr kompliziertes) Schema lernen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
11
Architektur
verteilt, heterogen, autonom
 strukturiert
 lose Kopplung (kein globales Schema)
 materialisiert
 read-only

Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
12
Gliederung
Die Grundidee: Was ist Aladin?
 Einordnung in die Begriffe der VL

 Szenarien,

Kriterien, Architekturen
Algorithmen zur Bestimmung von
Inklusionsabhängigkeiten
 der
offensichtliche Weg
 der effiziente Weg
 mögliche Erweiterungen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
13
Inklusionsabhängigkeiten (IND)


syntaktisch prüfbarer Teil eines
Fremdschlüssels
Fremdschlüsselbeziehungen interessant für







Verständnis der Daten
Information für Anfrage-Optimierung
Information für Schema-Matching
Integration von Datenbanken
…
Problem: Fremdschlüssel sind häufig nicht definiert.
Idee: Fremdschlüssel sind implizit über die Daten
gegeben!
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
14
Ein Beispiel


Aufgabe: Import der PDB in ein RDBMS
Schema: OpenMMS
 175
Tabellen
 2705 Attribute
 Primärschlüssel sind definiert
 aber: keine Fremdschlüssel definiert!


Ziel: Finden von Inklusionsabhängigkeiten
(INDs) als Vorbedingung für Fremdschlüssel
Wie aufwändig ist das?
Komplexität: O(n2) mit n := # Attribute
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
15
Begriffe
Inklusionsabhängigkeit (IND) A ⊆ B
Menge der Werte des abhängigen
Attributes A ist Teilmenge der Menge der
Werte des referenzierten Attributes B
 IND Kandidat A ⊆ B
zu testende IND A ⊆ B
 erfüllte IND A ⊆ B
IND Definition erfüllt für A ⊆ B

Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
16
Der offensichtliche Weg

Aufgabe:
Teste für alle Attribut-Paare A, B einer
relationalen Datenbank A ⊆ B

Lösung:
Verwende ein passendes SQL-Statement
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
17
Join-Statement

für jeden IND Kandidaten:
 Join
über Attribute
SELECT count(*) AS matchedDeps
FROM (depTable JOIN refTable
ON depTable.depColumn = refTable.refColumn)
 Test
(nur mit unique Attributen als referenziertes A.):
matchedDeps = # Tupel des abhängigen Attributes
dep
1
3
4
7
ref
1
2
3
5
dep
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
ref
1
3
18
Experimente
# Tabellen
# Attribute
DB-Größe
join
SCOP
4
22
17 MB
7s
UniProt
16
85
667 MB
15 min
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
PDB
109
1576
2,7 GB
> 7 Tage
19
Was ist passiert?
SELECT count(*) AS matchedDeps
FROM (depTable JOIN refTable
ON depTable.depColumn = refTable.refColumn)
 mehrfaches
Lesen und Sortieren der Daten
 Join berechnet mehr als notwendig.
 besser: Stoppen nach dem ersten abhängigen
Wert ohne Join-Partner
dep
ref
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
20
Anfragen mit frühzeitigen Abbruch

Formulieren von Anfragen, die
Tupel zurückgeben ⇔ IND Kandidat ist
nicht erfüllt und
 2. Stoppen nach dem ersten Ergebnistupel
 1.

Mögliche Formulierungen mittels SQL und
 MINUS
 NOT
IN
 NOT EXISTS
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
21
MINUS

dep
ref
{Werte des abhängigen Attributes} \
{Werte des referenzierten Attributes}
select count(*) as unmatchedDeps
from
(select /+ first rows (1) /
from
(select to_char(depColumn)
from depTable
where depColumn is not null
MINUS
select to_char(refColumn)
from refTable)
where rownum < 2)
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
22
NOT IN (Anti-Join)

dep
ref
Anfrage nach Werten des abhängigen Attributes,
die nicht in Werten des referenzierten Attributes
enthalten sind
select count(*) as unmatchedDeps
from
(select /+ first rows (1) / depColumn
from depTable
where to_char(depColumn) NOT IN
(select to_char(refColumn)
from refTable)
and rownum < 2 )
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
23
NOT EXISTS

dep
ref
Gibt es einen Wert, der in dep enthalten ist aber
nicht in ref?
select count(*)
from depTable
where depColumn is not null
and not exists
(select refColumn
from refTable
where to_char(refColumn) = to_char(depColumn))
and rownum < 2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
24
Experimente
# Tabellen
# Attribute
DB-Größe
join
minus
not in
not exists
SCOP
4
22
17 MB
7s
14 s
46 min
43 min
UniProt
16
85
667 MB
15 min
29 min
1h 53 min
4 min
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
PDB
109
1576
2,7 GB
> 7 Tage
Abschätzung:
1-3 Wochen
25
Optimierungsversuche

Indexe auf Attributen
 Tests
auf UniProt
 Ergebnis: schneller, aber durch Zeit für
Indexerzeugung aufgehoben

Fremdschlüssel einfach anlegen (Versuch)
 aber:
unflexibel
 kein Test für non-unique referenzierte Attribute
 kein Test für partielle INDs
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
26
Gliederung
Die Grundidee: Was ist Aladin?
 Einordnung in die Begriffe der VL

 Szenarien,

Kriterien, Architekturen
Algorithmen zur Bestimmung von
Inklusionsabhängigkeiten
 der
offensichtliche Weg
 der effiziente Weg
 mögliche Erweiterungen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
27
Ansätze basierend auf geordneten Werten
 Sortieren
der
unterschiedlichen Werte
beider Attribute
 Iteration über beide Listen
 Abbruch nach dem ersten
abhängigen Wert, der
nicht in Werten des
referenzierten Attributes
enthalten ist
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
dep
1
3
4
7
ref
1
2
3
5
28
Architektur der Umsetzung
Test der IND Kandidaten
Lesen und Schreiben der Daten
auf Platte
Sortieren der Daten
⇒ Trade-Off
 frühzeitiger
Abbruch der
Berechnung
 Auslesen der
Daten aus der
Datenbank
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
29
Brute Force

sequentielles Erzeugen und Testen aller
IND-Kandidaten
dep1
dep2
ref1
ref2
1
3
4
2
3
5
1
2
3
5
1
3
7
8
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
30
SPIDER

Paralleles Erzeugen und Testen aller IND Kandidaten
⇒ jeder Wert wird maximal einmal gelesen

Herausforderung:
Synchronisation des Lesens der Werte aller Attribute


jedes abhängige Attribut beeinflusst wann alle referenzierten
Attribute gelesen werden können
jedes referenzierte Attribut beeinflusst wann alle abhängigen
Attribute gelesen werden können
dep1
dep2
ref1
ref2
1
3
4
2
3
5
1
2
3
5
1
3
7
8
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
31
SPIDER: Idee


Werte jedes Attributs sind sortiert
jedes Attribut wiederum wird in Min-Heap
gehalten, der die Attribute anhand deren
aktueller minimaler Werte sortiert
Min-Heap
Attribute
134
dep1
1235
ref1
1378
ref2
235
dep2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
32
Einschub: Was ist ein Min-Heap?


Datenstruktur, die kleinstes Element in O(1)
liefert
Eigenschaften:
 balancierter
binärer
Baum
 jeder Knoten ist kleiner
als oder gleich seiner
Kindknoten
 Entfernen des kleinsten
Knotens in O(log n)
 Einfügen eines Knotens
in O(log n)
1
2
17
24
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
3
42
12
23
33
8
SPIDER: Idee



Werte jedes Attributs sind sortiert
jedes Attribut wiederum wird in Min-Heap gehalten, der
die Attribute anhand deren aktueller minimaler Werte
sortiert
IND Kandidaten werden in abhängigen Attributen
repräsentiert über Liste aller referenzierten Attribute
Min-Heap
Attribute
bildet IND Kandidat mit:
134
dep1
1235
ref1
1378
ref2
235
dep2
…
ref1, ref2
…
ref1, ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
34
SPIDER: Idee

Liste unterscheidet referenzierte Attribute danach ob
aktueller Wert des abhängigen Attributs auch in
referenziertem Attribut



gesehen wurde 
(noch) nicht gesehen wurde 
Blockweises Verarbeiten der Attribute mit gleichem
aktuellem Wert und Verfolgen der (immer noch gültigen)
IND Kandidaten
134
dep1
1235
ref1
1378
ref2
235
dep2
…
ref1 , ref2 
…
ref1 , ref2 
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
35
SPIDER: Beispiel

blockweises Verarbeiten: 1. Block
 Informieren
der abhängigen Attribute und
 Update der (nicht-)gesehen-Tags
134
dep1
1235
ref1
1378
ref2
235
dep2
…
ref1 , ref2 
…
ref1 , ref2 
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
36
SPIDER: Beispiel

blockweises Verarbeiten: 1. Block
 Lesen
der nächsten Werte und
 Update des min-Heap
235
dep2
1235
ref1
134
dep1
1378
ref2
…
ref1 , ref2 
…
ref1 , ref2 
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
37
SPIDER: Beispiel

blockweises Verarbeiten: 2. Block
 Informieren
der abhängigen Attribute und
 Update der (nicht-)gesehen-Tags
235
dep2
1235
ref1
134
dep1
1378
ref2
…
ref1 , ref2 
…
ref1 , ref2 
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
38
SPIDER: Beispiel

blockweises Verarbeiten: 2. Block
 Lesen
der nächsten Werte und
 Update des min-Heap
235
1235
dep2
…
ref1 , ref2 
…
ref1 , ref2 
ref1
134
dep1
1378
ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
39
SPIDER: Beispiel

blockweises Verarbeiten: 3. Block
 Informieren
der abhängigen Attribute und
 Update der (nicht-)gesehen-Tags
235
1235
dep2
…
ref1 
…
ref1 , ref2 
ref1
134
dep1
1378
ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
40
SPIDER: Beispiel

blockweises Verarbeiten: 3. Block
 Lesen
der nächsten Werte und
 Update des min-Heap
134
dep1
…
ref1 , ref2 
235
dep2
…
ref1 
1235
1378
ref1
ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
41
SPIDER: Beispiel

blockweises Verarbeiten: 4. Block
 Informieren
der abhängigen Attribute und
 Update der (nicht-)gesehen-Tags
134
dep1
…
ref1 , ref2 
235
dep2
…
ref1 
1235
1378
ref1
ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
42
SPIDER: Beispiel

blockweises Verarbeiten: 4. Block
 Lesen
der nächsten Werte und
 Update des min-Heap
134
dep1
…
ref1 , ref2 
235
dep2
…
ref1 
1235
1378
ref1
ref2
kein referenziertes Attribut übrig und
alle Werte von dep1 verarbeitet
dep1 aus min-heap entfernt
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
43
SPIDER: Beispiel

blockweises Verarbeiten: 5. Block
 Informieren
der abhängigen Attribute und
 Update der (nicht-)gesehen-Tags
235
1235
1378
dep2
…
ref1 
ref1
ref2
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
44
SPIDER: Beispiel

blockweises Verarbeiten: 5. Block
 Lesen
der nächsten Werte und
 Update des min-Heap
235
1235
1378
dep2
…
ref1 
ref1
ref2
alle Werte von dep2 getestet
und ref1 mit  getaggt
dep2 ⊆ ref1
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
45
Experimente
# Tabellen
# Attribute
DB-Größe
join
Brute Force
SPIDER
SCOP
4
22
17 MB
7s
10 s
10 s
UniProt
16
85
667 MB
15 min
2 min 38 s
2 min 14 s
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
PDB
109
1576
2,7 GB
> 7 Tage
3h 13 min
22 min
46
Gliederung
Die Grundidee: Was ist Aladin?
 Einordnung in die Begriffe der VL

 Szenarien,

Kriterien, Architekturen
Algorithmen zur Bestimmung von
Inklusionsabhängigkeiten
 der
offensichtliche Weg
 der effiziente Weg
 mögliche Erweiterungen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
47
Finden partieller INDs mit SPIDER
„fast“ alle Werte des abhängigen Attributs
sind in Werten der referenzierten Attributs
enthalten
 Wozu?

 INDs/FKs

in verschmutzten Daten finden
Wie zählt man nicht enthaltene Werte?
 Anzahl
der unterschiedlichen Werte
 Anzahl der Vorkommen der Werte
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
48
Finden partieller INDs mit SPIDER

Anpassung des Algorithmus:
 Anzahl
1235
der unterschiedlichen Werte
ref1
Zähler für nicht enthaltene Werte
2378
ref2
235
dep2
…
ref1  (1x), ref2 (5x)
dep1
…
ref1 
134
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
49
Finden partieller INDs mit SPIDER

Anpassung des Algorithmus:
 Anzahl
1235

ref1
Zähler für nicht enthaltene Werte
2378
ref2
235
dep2
…
ref1  (1x), ref2 (5x)
dep1
…
ref1 
134

der Vorkommen der Werte
Ermitteln der Anzahl des Vorkommens jedes
Wertes per GROUP-BY-Anfrage
für jeden nicht enthaltenen Wert: Anzahl seines
Vorkommens dazuaddieren
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
50
Finden mehr-attributiger INDs mit SPIDER

mehr-attributige INDs: AB ⊆ CD
 Idee:
aus 1-attributigen INDs 2-attributige INDs
bilden (und testen)
aus 2-attributigen INDs 3-attributige INDs
bilden (und testen)
…
 Problem: Anzahl der IND Kandidaten im
Worst Case exponentiell
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
51
Finden mehr-attributiger INDs mit SPIDER
der Algorithmus arbeitet wie bisher, nur
auf Attribut-Tupeln statt auf einzelnen
Attributen
 Problem in Praxis:

 je
mehr ein-attributige INDs, desto mehr
mehr-attributige IND Kandidaten
 Trade-Off zwischen Kosten für Bestimmung
und Nutzen
Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
52
Zusammenfassung
Vorstellung des Projekts Aladin
 Einordung von Aladin in die Begriffe der
VL (Szenarien, Kriterien, Architekturen)
 Inklusionsabhängigkeiten können nicht
per SQL-Anfrage bestimmt werden
 Vorstellung des Algorithmus SPIDER
 Erweiterungen zu SPIDER für partielle
und mehrwertige INDs

Jana Bauckmann: VL Informationsintegration, 07.12.2006
Aladin: Almost Hands-Off Data Integration for the Life Sciences
53
Herunterladen