Spatio-temporale Datenbanken

Werbung
Spatio-temporale Datenbanken
Stefanie Dörflinger
[email protected]
Universität Klagenfurt
April 2006
Zusammenfassung
Bei der Verarbeitung von Daten der realen Welt stoßen wir oft an
unsere Grenzen. Wir haben es mit Daten zu tun, die nicht statisch sind,
sondern komplex und variabel. Um dieses Problem in den Griff zu bekommen, braucht man eine Methode, wie sehr variable spatio-temporale
Daten modelliert werden können. Die Schwierigkeit liegt darin, dass zum
geografischen Aspekt, der schon einiger Maßen gut gehandelt werden kann,
noch eine zeitliche Komponente hinzukommt. Im folgenden Artikel möchte
ich veranschaulichen, wie sehr variable spatio-temporale Daten modelliert
und in einer Datenbank abgelegt werden. Weiters möchte ich kurz auf
die Verwendung von spatio-temporalen Datenbanken im Bereich der Verkehrsinformatik eingehen,um einen Bezug zur Praxis herzustellen.
1
Inhaltsverzeichnis
1 Einführung
1.1 Relationale Datennbanken . . . . . . . . . . . . . . . . . . . . . .
1.2 Spartiale Datenbanken . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Temporale Datenbanken . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
3
2 Darstellung der Daten
3
3 Repräsentation der Daten
5
4 Modellierung der Variabilität eines spatiotemporalen Wertes
4.1 Beschreibung der Variabilität . . . . . . . .
4.1.1 GEOMETRY Domain . . . . . . . .
4.1.2 Verhaltensfunktion . . . . . . . . . .
4.2 Manipulation der Variabilität . . . . . . . .
4.2.1 Temporal Sweeping . . . . . . . . . .
4.2.2 Boundary Representation . . . . . .
4.3 Untermengen von Zuständen eines variablen
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Wertes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
8
9
10
10
11
5 Integration des Variabilitätswertes in ein Datenbankmodell
11
5.1 Algebra Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . 12
6 Spatio-temporale Datenbanken in der Praxis
13
6.1 Fallbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7 Resumee
14
2
1
1.1
Einführung
Relationale Datennbanken
Dieses Modell ist am häufigsten verbreitet und quasi der Standard unter den
Datenbanken. Hier werden die aktuellen Daten der realen Welt gespeichert. Man
kann sich das wie bei einem Foto vorstellen, daher auch der Ausdruck Snapshot. Die Daten werden statisch gespeichert und wenn eine Änderung auftritt
wird der alte Zustand in der Datenbank mittels einer Update-Funktion einfach
überschrieben. Das bedeutet, es ist immer nur der aktuelle Zustand aus der Datenbank ersichtlich. Auf vergangene Werte kann nicht mehr zugegriffen werden.
1.2
Spartiale Datenbanken
Spatial bedeutet räumlich bzw. wird von spazio“ abgeleitet was übersetzt
”
Platz, Raum bedeutet. Spatiale Datenbanken betrachten somit die geographische Komponente und speichern Daten wie Geländeinformationen bzw. Koordinaten. Aber auch Daten über Teile von lebenden Organismen wie zB die Anatomie des menschlichen Körpers. Weiters können in einer spatialen Datenbank
auch Engineering-Design-Daten gespeichert werden, welche komplexe Schaltungen oder das Design eines Fahrzeugs beschreiben. GIS (Geographic Information
System), ein im Militärbereich oft verwendetes System, stützt sich auf eine spatiale Datenbank.
1.3
Temporale Datenbanken
Bei temporalen Datenbanken wird die zeitliche Komponente berücksichtigt. In
diesem Fall werden Daten nicht statisch abgelegt, sondern dynamisch. Da es
von Belang ist, wie sich die Daten im Laufe der Zeit ändern. Somit werden alte
Zustände nicht einfach überschrieben, sondern in einem gewissen Zeitintervall
werden Zustände nacheinander abgespeichert, um zum Beispiel etwas aus der
Vergangenheit bis in die Gegenwart zu beobachten. Durch das Speichern der
vielen Zustände kann es hier zu Problemen kommen, da die Datenmengen sehr
groß werden können. Diese Tatsache in den Griff zu bekommen, ist nicht so
einfach, daher gibt es auf diesem Gebiet noch nicht so viele Anwendungen und
vor allem keine Standards.
2
Darstellung der Daten
Spatio-temporale Datenbanken sind eine Mischform zwischen spatialen und temporalen Datenbanken. Wie wir später sehen werden, braucht man diese Kombination sehr oft. Ein typisches Beispiel für spatio-temporale Daten ist das Wetter, wo es sich befindet und wohin zB ein Gewitter zieht. Solche sich ständig
3
ändernden Daten sind sehr schwer zu modellieren. Hierbei kann keine straightforward Modellierung angewandt werden, wie man sie von relationalen Datenbanken kennt, sondern es wird auf die große Variabilität und Komplexität
Rücksicht genommen. Diese variablen Daten sind charakterisiert durch einerseits eine komplexe Entwicklung und andererseits durch eine große Anzahl an
Zuständen. Die Entwicklung der Daten ist auf ihren Zusammenhang mit dem
Zeitaspekt zurückzuführen. Das heißt, man beobachtet die Daten in einem gewissen Zeitraum. Dieser Verlauf bzw. Entwicklung kann auf zwei verschiedene
Arten erfolgen:
• konstanter Verlauf
• abrupte Veränderung
Bei einem konstanten Verlauf treten keine unvorhersehbaren Ereignisse ein, die
die Entwicklung stören. Im anderen Fall hingegen treten abrupte Veränderungen auf, die den steten Verlauf beeinflussen. Ein Beispiel für eine dieser Veränderungen wäre ein Fahrzeug im Straßenverkehr, das immer gerade
aus fährt und plötzlich ohne blinken links abbiegt und dadurch einen Unfall
verursacht. Ein Datenverlauf kann zu einer dieser beiden Gruppen gehören,
oder beide kombinieren. Eine mobile Entität wie etwa eine Wolke bewegt sich
fortwährend gleich. Im Gegensatz dazu bewegt sich ein Fahrzeug weniger berechenbar. Solch eine hohe Variabilität erfordert eine genaue Datenbeschreibung
und daher eine große Anzahl an Zuständen, die gespeichert werden müssen. Mit
dieser Überlegung treten jedoch eine Reihe von Problemen auf. Durch das Speichern der vielen Zuständen wird die Datenmenge unüberschaubar groß. Aus diesem Grund scheidet auch eine herkömmliche, relationale Datenbank aus. Weiters
muss diese gewaltige Anzahl von Zuständen auch manipuliert werden. Dieses
Unterfangen kann sehr viel Berechnungszeit in Anspruch nehmen, was wiederum sehr teuer ist. Ein drittes Problem sind nichtdeterministische Queries. Durch
das Phänomen, dass ständig neue Zustände gespeichert werden, kann es vorkommen, dass eine Query nie zu Ende ausgeführt wird, da sie immer wieder neue
Werte findet. Ein Lösungsvorschlag wäre, dass die Anzahl der zu speichernden
Zustände einfach verringert wird, um mit der Datenmenge und der Berechnungszeiten umgehen zu können. Dadurch ergibt sich aber ein weiteres, viel schlimmeres Problem. Werden weniger Zustände verwaltet, werden Ergebnisse verfälscht
und es können nichtdeterministische Queries auftreten. Das ist ein ernstzunehmendes Problem, da Abfragen die wichtigste Funktionalität einer Datenbank
sind. Eine spatio-temporale Datenbank lebt“ also von der Feingranularität der
”
Datenmodellierung. Um dies zu veranschaulichen möchte ich ein Beispiel bringen. Abbildung 1 zeigt die Bewegung von zwei 2D-Objekten. Das eine mobile
Objekt ist eine Schafsherde und die andere mobile Entität ist eine Gewitterfront deren Weg sich kreuzen kann. Nun werden verschiedene Darstellungen
(Versions) zu verschiedenen Zeitpunkten beschrieben (F1, F2, I1 und I2). Die
Bewegung der Schafe wird zwischen F1 und F2 erfolgen und die Bewegung des
Gewitters zwischen I1 und I2. Die Frage, die sich stellt, lautet: Werden die Schafe nass werden? bzw. Wann wird es an einem bestimmten Ort regnen?. Durch
4
Abbildung 1: Beispiel von 2DObjekten in Bewegung [1]
dieses Beispiel erkennt man die Komplexität solcher Daten. Mit einem üblichen
Modell, welches die Kontinuität von einer spatio-temporalen Datenentwicklung
nicht berücksichtigt, würde man keine deterministischen Antworten erhalten.
Wenn aber andererseits nur die Darstellungen F1, F2, I1 und I2 betrachtet werden und die vielen Zustände dazwischen außer Acht gelassen werden, wird man
die Information über die Überschneidung der Bewegungen der zwei Entitäten
nicht kennen. Hierbei ist es natürlich möglich den 2D Weg der Bewegung zu
speichern, aber die Snapshot-Information ist verloren. Auf unsere Frage erhalten
wir deshalb eine falsche Antwort, weil nicht ausreichend Zustände gespeichert
werden und somit ein Mangel an Daten entsteht. Üblicherweise werden in Datenmodellen nur diskrete Veränderungen erfasst. Durch Update-Queries werden
neue Versions eines Objekts erzeugt. Weiters ist die Datenerfassung nicht immer möglich. Ein Beispiel dafür ist sind Satelliten, die um die Erde kreisen und
Informationen sammeln. Jedoch werden die Daten nur dann gespeichert, wenn
der Satellit über einen Observierungspunkt fliegt. Diese Art der Datenerfassung
bedeutet nichts anderes als sammeln von Darstellungen, was bedeutet das dies
wiederum auf eine diskrete Art und Weise geschieht. Aus dieser Überlegung
heraus wurde in [1] gezeigt, dass es möglich ist, für einige Daten Zusatzinformationen zu erfassen, welche das Verhalten eines Phänomens zwischen zwei
Versions beschreibt. Ein entsprechendes Datenmodell kann aus solcher Zusatzinformation große Vorteile ziehen. Um die zusätzliche Information abspeichern
zu können, wurden einige Interpolationsmethoden studiert. Schließlich wurde eine ausgewählt, die durch eine Funktion definiert ist und über einen abstrakten
Datentyp referenziert wird.
3
Repräsentation der Daten
Die erste Repräsentation ist eine beschreibende, welche durch die einzelnen Darstellungen und durch die zusätzliche Information in Form einer Verhaltensfunktion charakterisiert ist. Diese Funktion gibt Aufschluss über die Semantik einer
5
Datenentwicklung und beschreibt, wie sich ein Wert im Laufe der Zeit verhält.
Durch diese Organisation der Daten, wird das Datenvolumen ebenfalls optimiert. Um die Auswertung von spatio-temporalen Queries zu erleichtern, werden wohldefinierte geometrische Algorithmen verwendet. Im Zuge dessen wird
die erste, deskriptive Repräsentation in eine geometrische Repräsentation umgewandelt. Dies erleichtert auch die Lesbarkeit.
4
4.1
Modellierung der Variabilität eines spatiotemporalen Wertes
Beschreibung der Variabilität
Ein sehr variabler Wert, welcher ein Phänomen der realen Welt modelliert, wird
durch eine komplexe und fortwährende Entwicklung ausgezeichnet. Die Kontinuität des Verlaufs wird durch die Existenz von Zuständen des Werts zu jedem
bestimmten Zeitpunkt illustriert. Jeder Zustand kann ein gewisses Quantum an
Zeit dauern. Die Entwicklung eines Werts folgt aus einer Serie von Zuständen.
Die Komplexität der Datenentwicklung korrespondiert zu raschen Änderungen
des Verhaltens. Um die Variabilität eines Werts zu modellieren, wird beschrieben, wie sich der Wert im Laufe der Zeit verhält. Dieses Verfahren erlaubt es,
auch eine komplexe Datenentwicklung zu speichern. Somit wird eine Sequenz
von Werten gespeichert, welche folgender Maßen aussieht: { (v,t,c) }. Hierbei
ist v der Wert, t die Zeit und c die Verhaltensfunktion, also die semantische Information. Um diese Modellierung besser zu verstehen, gebe ich hier ein Beispiel,
welches die Ausbreitung eines Feuers in einer bestimmten Zeit beschreibt. Es
wird angenommen, dass sich ein Feuer linear ausbreitet. Die Darstellung nach [1]
sieht wie in Abbildung 2 aus. Hierbei ist die geometrische Form der Wert v1,
Abbildung 2: Temporale Sequenz - Ausbreitung eines Feuers [1]
das zweite Attribut ist die Zeit (Datum und Uhrzeit) und die dritte Ausprägung
ist die oben angesprochene Verhaltensfunktion, von der angenommen wird, dass
6
sie linear ist.
4.1.1
GEOMETRY Domain
Diese Domäne wurde eingeführt, um die spatialen Daten zu einem gewissen Zeitpunkt zu repräsentieren. Zur Realisierung wurde dafür ein abstrakter Datentyp
(ADT) eingeführt. Dieser Datentyp definiert die Vereinigung von nichtleeren
Mengen von 2D geometrischen Elementen. Solche Elemente können sein:
• Punktuelle Elemente: diese sind als isolierter Punkt definiert und werden durch ein X,Y- Koordinatenpaar in einer zweidimensionalen Karte
repräsentiert.
Abbildung 3: Punktuelles Element
• Lineare Elemente: sind definiert durch eine Menge von verbundenen Segmenten. Ein solches Element kann zB eine Linie sein, die unterbrochen ist.
Abbildung 4: Lineares Element
• Flächenelemente: sind definiert als abgegrenzter Teil, also mit geschlossenen Grenzen.
7
Abbildung 5: Flächenelement
4.1.2
Verhaltensfunktion
Die Verhaltensfunktion beschreibt, wie sich ein Wert im Laufe der Zeit entwickelt. Sie ist eine Zusatzinformation, die zum einem Wert assoziiert. Eine
Verhaltenfunktion drückt die Variabilität eines Wertes zwischen zwei aufeinander folgenden Versions aus. Genauer betrachtet wird die Variabilität so dargestellt, dass Zwischenzustände produziert werden. Dieses Verfahren ist deshalb
so wichtig, da sich das Verhalten eines Wertes plötzlich ändern kann und mit
der Verhaltensfunktion, kann somit die komplexe Datenentwicklung festgehalten
werden. Es gibt aber auch hier verschiedene Arten von Entwicklungen:
• Punktuelle Funktion: gibt einen Wert, falls vorhanden, für einen bestimmten Zeitpunkt zurück (event recording).
• Step-Funktion: gibt die letzte Darstellung verglichen mit einem gegebenen
Datum zurück. Jede Version repräsentiert einen stabilen Zustand, der bis
zur nächsten Version gültig ist (state change recording).
• Lineare Funktion: verwendet die lineare Interpolation zwischen zwei aufeinander folgende Darstellungen.
• Interpolationsfunktion: verwendet die Interpolationsmethode, um die Datenentwicklung zu erfassen.
Für das bessere Verständnis dieser Funktionen, zeigt Abbildung 6 ein Beispiel.
Die Variabilität in dieser Abbildung könnte durch folgende Sequenz ausgedrückt
werden:
{ (10,t1,linear), (14,t2,linear), (12,t3,linear), (6,t4,linear), ... (10,t7,step),
(5,t8,step), ... }
Andere Modelle verwenden einen so genannten Time Series ADT, welcher
eine Sequenz von (v,t) Abbildungen ist. Im Gegensatz dazu wird im vorgestellten Modell die Verhaltensfunktion zu jeder Version hinzugefügt. Dies erlaubt
zum einen zusätzliche Information zu speichern und zum anderen die komplexe Datenentwicklung zu beschreiben. Daraus folgt eine exaktere Beschreibung
8
Abbildung 6: Beispiel einer Datenentwicklung [1]
der Variabilität des Wertes und zur Auflösung des Mangels an Daten, welcher
wiederum zu nichtdeterministischen Antwortzeiten führte. Somit wurden zwei
große Probleme in den Griff bekommen.
4.2
Manipulation der Variabilität
Sehr variable Informationen bergen das Problem in sich, dass sie mit Standartoperationen eines gewöhnlichen DBMS nicht manipuliert werden können. Die
oben aufgezeigte deskriptive, temporale Repräsentation assoziiert zu jedem Wert
einer Darstellung eine Methode, die die semantischen Charakteristika beinhaltet.
Diese semantische Information ist dynamischer Natur, wobei hingegen der Wert
selbst statisch ist. Daraus folgt, dass statische und dynamische Werte auf dieselbe Art und Weise gespeichert werden. Normalerweise definiert eine Datenbank
Operatoren, die die gespeicherten Daten manipulieren. Diese Daten sind jedoch
nur statisch und folgend sieht eine Manipulation so aus: operator (data). Ein
herkömmliches Beispiel dafür könnte sein delete table Mitarbeiter. Hierbei ist
der Operator das standardmäßige delete, select, update usw. und die Daten sind
die verschiedenen Tabellen. Da dieses Modell eine neue Struktur der Speicherung
der Daten aufweist, müssen sich dementsprechend auch die Operatoren anpassen. Wir haben es mit dynamischen und statischen Informationen zu tun und
deshalb gibt es auch komplexere Operatoren: operator (data + behavioral functions). Um dieses Problem zu lösen, wird einen neue Repräsentation eingeführt,
die sich von der deskriptiven Darstellung ableitet. Diese neue Repräsentation ist
geometrisch. Wenn ein zweidimensionaler geometrischer Wert im Bezug auf Zeit
dargestellt wird, folgt daraus eine dreidimensionale Repräsentation. Zur Darstellung der Werte wird die so genannte Boundary Representation (BR) verwendet.
Mit der Verwendung von wohl definierten geometrischen Algorithmen wird die
Evaluierung von temporalen Abfragen auf sehr variable Daten erleichtert. Dazu
werden die temporalen Operatoren auf geometrische Berechnungen reduziert.
Dieser Vorgang wird Temporal Sweeping genannt.
9
4.2.1
Temporal Sweeping
Die Transformation einer zeitlichen Sequenz in eine BR-Darstellung benötigt
den Temporal Sweeping Operator. Dieser Operator erzeugt die gesamte Entwicklung in einer fortwährenden Art und Weise. Es wird die deskriptive Repräsentation eines Wertes in einem Koordinatensystem verbunden bzw. in Relation gesetzt, wobei die Zeit die dritte Achse ist, anstelle einer Vereinigung
von aufeinander folgenden Zuständen. Dadurch entsteht die oben angesprochene dreidimensionale Struktur, da die Hypothese des Time Sweeping festlegt,
dass die Zeit als geometrische Dimension angesehen wird. Durch diese Anschauung werden spatiale Probleme und temporale Probleme gleichgestellt und beide
zu geometrischen Problemen reduziert. So eine Repräsentation besteht aus einer
Fläche, die sich entlang einer Fluchtlinie verändert. Diese Flächen sind die gespeicherten Versions (dh die Werte), die in der Datenbank gespeichert sind und
die Verbindung dazwischen (Fluchtlinie) sind die dazugehörigen Verhaltensfunktionen. In Abbildung 7 wird eine dreidimensionale Darstellung von Abbildung 2
gezeigt. Die Flächen stellen nach wie vor die Ausbreitung des Feuers im Bezug
auf Zeit dar und die Verbindungen dazwischen ist die Verhaltensfunktion, die
in diesem Fall linear ist.
Abbildung 7: Temporal Sweeping einer Fläche [1]
4.2.2
Boundary Representation
Das Resultat des Temporal Sweeping ist ein 3D-Objekt, welches mit der Boundary Representation dargestellt wird. Es wurde diese Darstellung gewählt, damit
man auch Objekte mit variierenden Formen oder Kanten anzeigen kann. Von ei10
nem Körper werden alle Flächen, die durch die durch Linien abgegrenzt werden,
alle Kanten usw. festgehalten.
4.3
Untermengen von Zuständen eines variablen Wertes
Einige Manipulationen eines Wertes, welcher sich im Verlauf der Zeit ändert, erfordern die Reduktion von Zuständen. Die zwei angesprochenen Repräsentationen stellen eine fortwährende Reihe an hintereinander folgenden Zuständen dar.
Um die Reduktion zu vereinfachen, wird ein Variabilitätswert (VV) eingeführt.
Dieser Wert zeigt nur einen Teil der Kurve, die die gesamte Datenentwicklung
beschreibt. Dies geschieht mit Hilfe eines Support-Wertes was nichts anderes
ist als eine deskriptive Repräsentation oder eine BR-Darstellung. Diese Idee
möchte ich mit folgender Abbildung vereinfachen. Die Kurve wird in Sequenzen
von Variabilitätswerten aufgespalten, genau dann wenn eine Version existiert.
Jeder VV ist definiert durch eine assoziierende Zeitspanne, welche die Lebenszeit
darstellt, und einem Support-Wert.
Abbildung 8: Aufteilung einer Datenentwicklung in eine Reihe von Variabilitätswerten [1]
5
Integration des Variabilitätswertes in ein Datenbankmodell
Um das oben besprochene Modell für sehr variable Daten verwenden zu können,
wird es in ein komplexes Objekt-Daten Modell integriert. In diesem Prozess
werden temporale Objekte modelliert, welches durch eine Sequenz von Tupeln
definiert wird. Jedes Tupel repräsentiert eine fortlaufende Serie von Zuständen,
welche die Entwicklung von zeitlichen Entitäten während eines Intervalls ausdrückt. Jedes Attribut definiert einen Variabilitätswert einer Entität im Laufe
der Zeit. Weiters werden temporale Operatoren definiert, die auf dieser Repräsentation operieren können. Diese Operatoren sind charakterisiert durch die
Manipulation jedes Zustands innerhalb eines Tupels. Dieses Phänomen ist der
große Unterschied zu anderen temporalen Algebra.
11
Das Ziel des Repräsentationsmodells wird aufgrund folgender Motivationen
definiert:
• Jedes Objekt enthält eine fortwährende Serie von Zuständen. Dies wird
durch die Einführung des Variabilitätswertes gewährleistet.
• In der Repräsentation sollen Zustände von Entitäten anstelle von Zuständen von Attributen modelliert werden.
• Temporale Objekte vergrößern sich stark im Zeitverlauf, da immer neue
Zustände, die die Entität beschreiben, hinzugefügt werden. Eine Methode
dies in den Griff zu bekommen ist Partitionierung. Ein temporales Objekt soll so aufgespalten werden, dass ein Wert während einer Zeitperiode
konstant bleibt. Eine weitere Möglichkeit ist Clustering und Indexierung.
Zu diesem Zweck wird ein temporales Objekt in eine Sequenz von Tupeln
aufgeteilt. Jedes Tupel repräsentiert die Variabilität einer temporalen Einheit in einer bestimmten Zeitperiode. Dazu benötigt man zwei Elemente:
Einen Ersatz und die Unabhängigkeit des Wertes. Der Ersatz ist eine Notation, die eingeführt wird, um eine Menge von Tupel an ein temporales
Objekt zu binden. Das so genannte Surrogat ist ein Objekt-Identifizierer.
Man kann sich das so vorstellen wie bei herkömmlichen Datenbanken, wo
ein eindeutiger Schlüssel (Primary key) definiert wird, um das Objekt referenzieren zfloat u können.
5.1
Algebra Operatoren
Die Datenmanipulation ist in spatio-temporalen Datenbanken viel komplexer
als in relationalen Datenbanken. Die Standardoperatoren wie select, delete und
update funktionieren nicht mehr in herkömmlicher Weise, sondern müssen neu
definiert werden. Es werden folgende Operatoren verwendet:
• Selection Operator: hat dieselbe Funktionalität wie man das von dem select gewöhnt ist.
• Kartesisches Produkt: wird in der Standardform verwendet.
• Projection Operator: eliminiert Attributspalten.
• Vereinigung, Durchschnitt und Differenz: wurden angepasst, aber funktionieren in üblicher Art und Weise.
• Temporal Projection: manipuliert Zustände in einem gewissen Zeitintervall.
Da die Abfragesprache bzw. Datenmanipulationssprache sehr komplex für dieses
Modell ist, möchte ich nicht näher darauf eingehen. Aber um zu zeigen, dass
diese Art der Datenbanken eine große Rolle in der Praxis spielen, möchte ich
auf einige Beispiele im Bereich der Verkehrsinformatik eingehen.
12
6
Spatio-temporale Datenbanken in der Praxis
Wenn wir diese Kombination aus geographischer und zeitlicher Information bewusst suchen, fällt uns auf, dass es sehr viele Daten mit diesem Charakteristikum
gibt. Um jetzt einen Fachbereich herauszunehmen, widme ich mich verstärkt
der Verkehrstelematik. Anbieter von Notrufservices, Navigationssystemen und
Verkehrsinformationsservices müssen große und gut strukturierte spatiale und
spatio-temporale Datenbanken zur Verfügung haben. Besonders für die detaillierte Repräsentation des Straßennetzes. Aber spatio-temporale Datenbanken
reichen für die komplexe Datenverarbeitung in der Verkehrstelematik oft nicht
aus. Hierbei müssen auch m̈oving-objectD̈atenbanken eingesetzt werden, die
wiederum genauer auf die Bewegung von Entitäten eingehen. Sehr viele Unternehmen spezialisieren sich auf die Sammlung, Verarbeitung und Verbreitung
solcher schwierigen Daten, die den Verkehr betreffen [2]. Typische Services, die
angeboten werden sind:
• Verkehrsinformationsservices via Handy oder spezielle Auto-Terminals
• on-board oder off-board Navigationssysteme
• Notrufstationen
• Routenplaner
• Wettervorhersagen
Wobei all diese Services nicht ohne mobile Kommunikationstechnologie, wie
GSM (Handy), und Satellitenunterstützung (GPS) möglich wären. Zum
besseren Verständnis möchte ich ein kurzes Szenario erklären, warum spatiotemporale Datenbanken zum Einsatz kommen.
6.1
Fallbeispiel
Man stelle sich vor: Herr Mayrhofer ist ein tüchtiger Geschäftsmann bei einem
großen Konzern in Deutschland, der viele Kontakte zum Ausland hegt. Seine
Firma hat einen neuen Großkunden aus den USA (New York) im Visir, um
den Markt in den Vereinigten Staaten zu vergrößern. Herr Mayrhofer wurde
damit beauftragt, das Geschäft mit dem Kunden in den USA zum Abschluss
zu bringen. Dafür steigt Herr M. am Berliner Flughafen in ein Flugzeug der
American Airways und geht während des Take-offs noch einmal alle Punkte
des Vertrags durch. Da es sich um einen sehr wichtigen Kunden handelt, ist
Herr Mayrhofer natürlich etwas nervös und hat seine Reise sorgfältigst geplant.
Einige Stunden vergehen und das Flugzeug ist bereits über dem Atlantik. Zwei
Stunden vor Ankunft in New York gibt der Pilot eine Meldung durch, dass eine
Schlechtwetterfront vor der Ostküste der USA herrscht. Dieses Fakt beunruhigt
Herrn M. sehr, da er pünktlich zu seinem Termin erscheinen möchte. Die Frage
13
lautet nun: Wird der Flug durch das schlechte Wetter beeinflusst, oder wird die
Maschine zur vorgesehener Zeit landen?
Im Grunde sind das Flugzeug und die Schlechtwetterfront zwei mobile Entitäten, deren Bewegung sich überschneiden kann. Die spatiale Komponente in
diesem Beispiel sind die jeweiligen Koordinaten, oder anders gesagt, der Ort
an dem sich Flugzeug bzw. Gewitter gerade befindet. Der Zeitliche Aspekt ist
natürlich in der Bewegung. Um die oben gestellte Frage zu beantworten, müssen
diese Daten in einer spatio-temporalen Datenbank abgelegt sein, worauf danach
eine Query mit einem gewissen Zeitpunkt gestartet werden kann. Dieses Szenario finden Sie in der realen Welt tausendfach pro Tag und es gibt Programme bei
den Fluggesellschaften, die genau solche Fragen beantworten, um die Sicherheit
der Passagiere zu gewährleisten.
7
Resumee
In diesem Artikel wurden die Probleme bei der Verwaltung von sehr variablen
Daten unter einem spatialen Aspekt aufgezeigt. In der Wissenschaft ist die Variabilität ein sehr ernstzunehmendes Kriterium, da sich solche Informationen
auch im Bezug eines zeitlichen Ablaufs stark verändern. Die starke Variabilität
impliziert eine große Datenmenge und eine Vielzahl an Operationen, die mit
gewöhnlichen DBMS nicht verwaltet werden können. Weiters können Abfragen auf sehr variable Daten nichtdeterministische Antwortzeiten liefern. Hier
wurde eine Art und Weise der Repräsentation bzw. Modellierung der Daten
vorgestellt, um sie in weiterer Folge in ein entsprechendes Datenbankmodell
integrieren zu können. Um diese Probleme lösen zu können, wurden zwei Darstellungen entwickelt. Die erste Repräsentation beschreibt die Datenentwicklung
durch eine zeitliche Sequenz. Diese Darstellung ist sehr kompakt und zusätzlich
wird eine Verhaltensfunktion mitgespeichert, die die Semantik der Datenvariation ausführt. Die zweite Darstellung dient zur Manipulation und wird von der
ersten abgeleitet, indem daraus eine geometrische Repräsentation basierend auf
der Boundary Representation wird. Daraufhin werden neue Operatoren definiert, um Abfragen durchführen zu können. Obwohl geometrische Operationen
normalerweise sehr teure Berechnungen sind, wurde dieser Ansatz dahingehend
optimiert, dass auch vorhin unlösbare Probleme handhabbar sind, da die Datenmenge und die Ausführungszeit in den Griff bekommen wurden.
14
Literatur
[1] T-S. Yeh, B. de Cambray, Modeling Highly Variable Spatio-Temporal Da”
ta“, 1994
[2] T. Brinkhoff, Requirements to Traffic Telematic to Spatial Databases“,
”
SSD‘99,LNCS 1651, 1999
[3] C. Parent, S. Spaccapietra, E. Zimanyi, Spatio-Temporal Conceptual Mo”
dels:
Data Structures + Space + Time“, ACM GIS‘99, 1999
[4] Y. Tao, D. Papadias, Time-Parameterized Queries in Spatio-Temporal
”
Databases“,
ACM SIGMOD‘02, 2002
[5] G. Faria, C.B. Medeiros, M.A. Nascimento, An Extensible Framework for
”
Spatio-Temporal Database Applications“
[6] T. Abraham, J.F. Roddick, Survey of Spatio-Temporal Databases“, 1998
”
15
Herunterladen