Raumbezogene Datenbanken (Spatial Databases) Ein Vortrag von Dominik Trinter Alexander Christian 1
Inhalte Was ist ein raumbezogenes DBMS? Modellierung Abfragen Werkzeuge zur Implementierung Systemarchitektur 2
Was ist ein raumbezogenes DBMS?(1) Keine allgemeingültige Definition 1: Ein raumbezogenes Datenbanksystem ist ein Datenbanksystem 2: Es stellt räumliche Datentypen in seinem Datenmodell und Abfragesprache zur Verfügung 3: Es unterstützt räumliche Datentypen in seiner Implementierung 3
Was ist ein raumbezogenes DBMS?(2) Stellt die darunterliegende Datenbanktechnologie für Geographische InformationsSysteme (GIS) zur Verfügung Kann nicht direkt als anwendungsorientiertes GIS benutzt werden 4
Was muss dargestellt werden? 1: Objekte innerhalb eines Raums Eindeutige Einheiten, in einem Raum angeordnet Jedes Objekt hat seine eigene geometrische Beschreibung z.b. Städte, Wälder oder Flüsse 2: Raum Beschreibung des Raums selbst z.b. Landflächen oder die Unterteilung eines Landes in Bundesländer 5
Modellierung von einzelnen Objekten 3 grundlegende Abstraktionen Punkt Linie Region 6
Mengen von räumlichen Objekten Unterteilungen Netzwerke 7
Organisation des Raumes Problem: Punkt in einer Fläche wird durch ein reelles Zahlenpaar dargestellt z.b. Schnittpunkt zweier Linien wird in einem Computer auf nächsten Gitterpunkt gerundet Problem wird in der Modellierung vernachlässigt 8
Räumliche Datentypen(1) SDT s (Spatial DataTypes) Bsp: ROSE (RObust Spatial Extension) Algebra Stellt 3 Datentypen zur Verfügung (points, lines, regions) Es gibt 4 Klassen von Operationen: Zurückliefern der Werte von räumlichen Datentypen Räumliche Operatoren, die Zahlen zurückliefern Operationen auf Mengen von Objekten Ausdrücken von topologische Beziehungen 9
Räumliche Datentypen(2) Ausdrücken von topologischen Beziehungen EXT = {lines, regions} GEO = {points, lines, regions} geo in GEO, ext1, ext2 in EXT 10
Räumliche Datentypen(3) Kriterien, die räumliche Datentypen und die Algebra erfüllen sollten: Erweiterbarkeit Vollständigkeit Mengenoperationen 11
Räumliche Relationships(1) 3 Klassen von Relationships: richtungsabhängige, z.b. südwestlich von metrische, z.b. Entfernung < 100 topologische, z.b. inside Operation Frage: Kann man alle möglichen Relationships aufzählen? Bei 2 Objekte gibt es 4 Schnittmengen Jede kann leer oder nicht leer sein 2^4=16 Kombinationen 8 nicht gültige & 2 symmetrische Kombinationen 6 unterschiedliche Relationships (disjoint, in, touch, equal, cover, overlap) 12
Räumliche Relationships(2) o σ A = Grenzen, A = Inneres, = leere Menge, = nichtleere Menge 13
Integration von Geometrie in das Datenmodell Darstellung von räumlichen Objekten durch Objekte mit mindestens einem Attribut eines SDT s Erweiterung des Datenmodells auf elementarer Datentypebene (Integer, String, ) Objekte werden durch Tupel dargestellt 14
Raumbezogene Datenbanken (Spatial Databases) - Abfragen - Werkzeuge zur Implementierung 15
Abfragen Fundamentale Operationen Die wichtigsten Operationen lassen sich in folgende Gruppen gliedern: Räumliche Selektion, Räumliche Verknüpfung, Räumliche Funktionen 16
Abfragen Fundamentale Operationen Räumliche Selektion Eine Selektion ist eine Operation die als Rückgabewert eie Reihe von Ergebnissen liefert die dem gewünschten Prädikat entsprechen. Ein paar Beispiele: Finde alle Städte in Bayern (Wir gehen davon aus daß Bavaria ein Region- Wert ist und inside in der räumlichen Algebra vorhanden ist): Finde alle Flüsse die das Abfragefenster Window schneiden: ein REGION Wert ein REGION Wert Finde alle Großstädte die nicht weiter als 100km von Hagen entfernt sind ein Punkt Wert metrische Relation 17
Abfragen Fundamentale Operationen Räumliche Verknüpfung Ähnlich wie die räumliche Selektion ist die räumliche Verknüpfung eine Verknüpfung die zwei Objekte mit dem gewünschten Prädikat die räumlichen Werte vergleicht. Einige Beispiele: Kombiniere Bundesländer mit ihren Städten: Finde zu jeden Fluss alle Städte die im Umkreis von bis zu 50km liegen: 18
Abfragen Fundamentale Operationen Räumliche Funktionen I In einer Satz-orientierten Abfrage wird ein neuer räumlicher Datentyp für jedes Objekt des Datensatzes berechnet. Verschiedene Operatoren erlauben das Einbinden von Funktionen wie z.b. Filter-Operationen mit FAD Replace-Operationen Extend-Operationen 19
Abfragen Fundamentale Operationen Räumliche Funktionen II Der extend -Operator erweitert einen Ausdruck und gibt das Ergebnis als neues Attribut zurück. Ein Beispiel für extend : Gib für jeden Fluss der durch Bayern geht, den Namen, einen Teil seiner geometrischen Lage in Bayern und die Lange dieses Teiles zurück: neues Attribut 20
Übersicht Werkzeuge zur Implementierung Raumbezogene Indizes Eindimensionale Einbettung von Gitter- Approximationen Räumliche Indexstrukturen für Punkte 21
Werkzeuge Studiengang Software Engineering - Vorlesung zur Datenbanken 2 Implementierung Raumbezogene Indizes I Das Hauptproblem ist räumliche Datentypen in eine DB zu bekommen. Methode 1: Methode 2: Erweiterte räumliche Strukturen ergänzen ein normales DBMS Die räumlichen Strukturen werden auf eine eindimensionale Struktur so abgebildet dass ein normales DBMS verwenden werden kann 22
Werkzeuge zur Implementierung Raumbezogene Indizes II Methode 2 weiter gedacht: Man reduziert komplexe geometrische Formen mittels Approximation auf ein Gitter oder eine Box: 23
Werkzeuge zur Implementierung Eindimensionale Einbettung von Gitter-Approximationen Da die DB nur eindimensional ist müssen die Gitterzellen nach einem bestimmten Schema sortiert werden. Man benötigt also eine lineare Reihenfolge der Zellen die nach Möglichkeit so ausgerichtet ist daß Nachbarzellen auch in der Reihenfolge möglichst nebeneinander liegen. Hier das Beispiel der Z-Aufzählungsreihenfolge: 24
Werkzeuge zur Implementierung Räumliche Indexstrukturen für Punkte 25
Raumbezogene Datenbanken (Spatial Databases) - Systemarchitektur 26
Systemarchitektur Repräsentation der Datentypen Prozeduren für die atomic- Operationen räumlicher Index Zugriffsmöglichkeiten dafür Such-,Sotier -und Filterfunktionem spartial join Algorithmen Aufwandsfunktionen für die Operationen Statistiken um genaue Abgrenzung bei räumlicher Auswahl und Zusammenfügung zu treffen Erweiterungen für Optimierer um Anfragen an spezielle Methoden zu übergeben Datentypen und Anfragen für die DDL und die Anfragesprache Erweiterungen um die Präsentation und Eingabe von SDT-Werten über eine GUI zu handlen 27
Systemarchitektur GIS-Systeme gab es schon vor den ersten DBMS Erste Anwendungen liefen diret auf dem Dateisystem Erste GIS-Datenbanken basierten auf relationalen Datenbanken 28
Systemarchitektur Es gibt zwei Ansätze eine solche Datenbank zu realisieren layered architecture dual architecture 29
Systemarchitektur Layered architecture GIS-Tools Standard DBMS Es gibt 2 Möglichkeiten spartiale Daten in so einem DBMS zu speichern 30
Systemarchitektur Erste Möglichkeit: Spatiale Daten zu teilen und in Tupel abzubilden Nachteil: Lange Rechenzeit 31
Systemarchitektur Zweite Möglichkeit: Speicherung der Werte in long-fields des DBMS Die Werte werden wie rohe Byte-Strings behandelt Spartiale Operationen können zwar nur vom GIS-Tool durchgeführt werden aber eine gewisse räumliche Indizierung kann bereits vom DBMS mit Hilfe eines B- trees durchgeführt werden 32
Systemarchitektur dual architecture Integration layer Standard DBMS spatial subsystem 33
Systemarchitektur Forschungen im Bereich der erweiterbaren DBMS hatten genau die vorher spezifizierten Anforderungen zum Ziel 34
Systemarchitektur Gral Probe Starbust Genesis Im Grunde bietet die erweiterbaren DBMS Slots für die spartialen Erweiterungen 35
Systemarchitektur Es werden keine Unterschiede zwischen normalen Datentypen und räumlichen Datentypen wie z.b REGIONS gemacht Die vom DBMS angebotenen Operationen können mit allen Datentypen etwas anfangen Index ist der selbe Anfrageoptimierung macht keinen Unterschied zwischen spartialen und gewöhnlichen Anfragen Es sei denn dies wäre nicht optimal 36
Ende Danke für die Aufmerksamkeit 37