Fachartikel

Mit PostGIS Geoinformationen in PostgreSQL integrieren

Anwendungen überwachen heute die Bereiche Supply Chain Management, Flottenbetrieb und Personal. Durch eine Verbindung mit einer traditionellen relationalen Datenbank kombinieren Erweiterungen Geoinformationen mit Management-Tools für Geschäftsprozesse, um so in Echtzeit verwertbare Informationen zu liefern. Wie unser Fachartikel zeigt, setzen derartige Lösungen oft auf PostGIS, was nicht zuletzt am belastbaren und soliden Charakter dieses Open-Source-Geodaten-Werkzeugs für PostgreSQL liegt.
Die Integration von Geodaten in Geschäftsprozesse bringt oft erheblichen Mehrwert. Hier kommt PostGIS ins Spiel.
Herkömmliche transaktionale Datenbanken enthalten eine Fülle von organisatorischen Daten über Kunden, Produkte und Lieferanten, die von Unternehmen für strategische und operative Zwecke genutzt werden. Sie werten diese Daten kontinuierlich aus, um hieraus geeignete Maßnahmen abzuleiten, strategische Erkenntnisse zu gewinnen, die eigenen Abläufe effizienter zu gestalten, Kosten zu senken oder neue Umsatzquellen zu erschließen. Ein leistungsfähiges Instrument bei der Untersuchung der Daten ist die Möglichkeit, Transaktionsdaten unter Verwendung von Geolokalisierungstechnologie mit Informationen aus der realen Welt zu verknüpfen.

PostGIS führend im Bereich GIS
Zu den leistungsfähigsten Geolokalisierungs-Datenbanktechnologien zählt PostGIS, eine Erweiterung zu PostgreSQL – das weltweit wohl fortschrittlichste relationale Datenbanksystem auf Open-Source-Basis. PostGIS ist ebenfalls eine Open-Source-Software, die 2001 von Refractions Research eingeführt wurde.
Das Aufsetzen von PostGIS auf PostgreSQL bietet zahlreiche Vorteile. Für die Entwickler von geografischen Informationssystemen (GIS) enthält PostgreSQL nützliche Windowing-Funktionen, rekursive Common Table Expressions (CTEs), Unterstützung von Objekttypen und die Möglichkeit zur Ausführung von Code am Speicherort der Daten in zahlreichen prozeduralen Programmiersprachen wie PL/Java, PL/R, PL/Python und anderen. Wichtig für GIS-Entwickler sind auch Operatoren in Postgres wie UPSERT, Gruppierungen, Cube, Rollup, Row Level Security und viele andere. Diese besonderen Operatoren sind in der neuen Version 9.5 von PostgreSQL enthalten. Ein starkes Design-Feature von Postgres ist seine Erweiterbarkeit. Es wurde von Anfang an für die Einbindung von Runtime-Erweiterungen ausgelegt, was bedeutet, dass PostGIS-Datentypen wie Geografie und Geometrie in der Datenbank als Elemente erster Klasse behandelt.

Aufgesetzt auf die in PostgreSQL verfügbaren nativen Features lässt sich PostGIS auch problemlos in der Skalierung erweitern. Während andere räumlichen Erweiterungen schon mal bis zu 40.000 US-Dollar kosten können, lässt sich PostGIS ohne Zusatzkosten einrichten. Außerdem ist es möglich, die PostGIS-Erweiterung hinzuzufügen und die in eine Datenbank aufgenommenen Geodaten so oft wie gewünscht in andere Datenbanken zu replizieren. Dabei können sich die anderen Datenbankserver im selben Server-Rack oder auch an beliebigen Orten überall auf der Welt befinden.


PostGIS skaliert gemeinsam mit Postgres über einen einzelnen Datenbank-Server hinaus.

Unter Verwendung eines replikationsfähigen Verbindungspoolers wie pgpool lassen sich auch alle Schreibzugriffe an die Primärknoten und die Lesezugriffe an die Standby-Server richten. Hierdurch kann die Belastung durch Lesezugriffe durch passende Skalierung verringert werden und die Schreibzugriffe auf die Primärsysteme werden optimiert, da Operationen wie Reporting und Datensicherungen ausgelagert werden.

Datentypen in PostGIS
PostGIS verwendet vier Haupttypen von Geodaten:

  • Geometrie für flache Erdprojektion
  • Geographie für kugelförmige Erdprojektion
  • Rastertyp, wobei jede Zelle Werte enthalten kann, die in Zeilen und Spalten organisiert sind
  • Topologietypen zur Modellierung von realitätsbezogenen Regeln für Vektorfunktionen (Topologien erlauben die Anwendung von Beziehungsregeln wie etwa die, dass bei Verschiebung einer Gemarkungsgrenze nach außen automatisch die benachbarte Gemarkungsgrenze nach innen verschoben wird.)
Alle bekannten klassischen Untertypen sind ebenfalls verfügbar, wie Punkte, Linien, Polygone sowie Mehrfachpunkte, Mehrfachlinien und Mehrfach-Polygone. Und die Geodaten-Spalten lassen sich mit der aus PostgreSQL vertrauten Standardsyntax indizieren, also etwa 'CREATE INDEX myindexname ON mytable USING gist(geom);'. Das kann dann zum Beispiel so aussehen:
'geodb=# CREATE INDEX idx_customers_geo ON customers USING gist(geo);'
Wie bei der üblichen Anwendung des EXPLAIN-Plans, um die Abfrage-Performance anzuzeigen oder um festzustellen, ob ein Index verwendet wird oder nicht, lässt sich auch mit dem neu hinzugefügten GiST-Index arbeiten. Bei Ausführung eines EXPLAIN-Plans für eine einfache Abfrage zur Ermittlung der Anzahl von Kunden innerhalb von zwei Flächeneinheiten von San Francisco ergibt sich:
'explain analyze select count(*) from customers c where 
st_dwithin(c.geo,st_geomfromtext('POINT(-122.4167 37.7833)',3857),2);'
-> Bitmap Index Scan on idx_customers_geo (cost=0.00..1631.39 rows=45215
width=0) (actual time=15.081..15.081 rows=45760 loops=1)
Index Cond: (geo && '0103000020110F00000100000005000000910F7A36AB1A5FC078
7AA52C43E44140910F7A36AB1A5FC0787AA52C43E44340910F7A36AB1A5EC0787AA52C4
3E44340910F7A36AB1A5EC0787AA52C43E44140910F7A36AB1A5FC0787AA52C43E44140'
::geometry)
Planning time: 0.879 ms
Execution time: 195.629 ms
    Seite 1: GIS-Erweiterung zu PostgreSQL
    Seite 2: Datentypen in PostGIS


Seite 1 von 2 Nächste Seite >>
2.03.2016/ln/Adam Wright, Database Consultant bei EnterpriseDB

Nachrichten

Hybrides NAS [6.03.2020]

QNAP bringt mit dem "TS 1886XU-RP" ein neues NAS der Unternehmensklasse auf den Markt. Die Appliance dient als hybrides Speichergerät und bietet Platz für zwölf Festplatteneinschübe und sechs dedizierte SSDs. Das 2U-Rackmount-NAS ist mit einem Intel-Xeon-Prozessor der D-1600 Serie sowie DDR4-Error-Correcting-Code-Speicher ausgestattet. [mehr]

All-Flash-Speicher im Abo [6.03.2020]

Im Rahmen seines Subskriptionsmodells "Evergreen" stellt Pure Storage eine neue Version der Betriebsumgebung "Purity" für sein All-Flash-Produkt "FlashArray" vor. Laut Hersteller bietet Purity 5.3 unter anderem mehr Multi-Cloud-Unterstützung, eine verstärkte Sicherheitsfunktionalität und eine Verbesserungen der Quality-of-Service. [mehr]

Tipps & Tools

Das bringt 2020 für Flash-Speicher [12.03.2020]

In diesem Jahr wird Flash für noch mehr Workloads eingesetzt, die bisher auf HDD- oder Hybridsystemen betrieben wurden. Dazu gehören Tier-2-Anwendungsfälle, Big-Data-Analytik und die schnelle Wiederherstellung von immer größer werdenden geschäftskritischen Systemen und Datenbanken. Flash gewinnt außerdem in Hybrid-Cloud-Szenarien und als Scale-out-Speicherlösung mit Datei- und Objektspeicherung an Bedeutung. Der Fachartikel gibt einen Ausblick darauf, mit welchen Neuerungen im Bereich Flash 2020 zu rechnen ist. [mehr]

Download der Woche: Meld [15.10.2019]

Bei der Systemwartung finden sich immer wieder doppelt vorhandene Dateien und Ordner unter Windows. Diese sorgen nicht nur für Verwirrung, sondern rauben auch Zeit beim Säubern der Struktur auf dem Rechner. Mit dem kostenfreien Tool "Meld" lassen sich durch einen sogenannten "Zwei- und Drei-Wege-Vergleich" sowohl von Files als auch Verzeichnissen die nicht mehr benötigten Daten ermitteln. [mehr]

Buchbesprechung

Technik der IP-Netze

von Anatol Badach und Erwin Hoffmann

Anzeigen