Besuchen Sie Disy auf der INTERGEO 2017.

Kontakt      Karriere      Downloads     DE/EN

Hochparallele Spatial-Integration umfangreicher heterogener Geodaten

23. Juli 2013

Auf der diesjährigen DOAG Development präsentierten zwei unserer Entwickler einen völlig neuen Ansatz zur Verarbeitung großer, heterogener Datenbestände. Die Resonanz der Zuhörer war durchweg positiv, dass wir auch Ihnen diese einzigartige Arbeitsweise nicht vorenthalten möchten…

Hochparallele Spatial-Integration umfangreicher heterogener Geodaten

In den Medien ist inzwischen fast ständig von ihnen die Rede: große Herausforderungen unserer Zeit, wie etwa Hochwassergefährdung, die Belastung der Bürger durch Straßen-, Eisenbahn- oder Fluglärm oder die gerechte Versorgung aller mit einer angemessenen Breitband-Anbindung an das Internet.

Aus der Sicht von Daten, Algorithmen, Bits und Bytes haben diese Themen eine Gemeinsamkeit: Um mögliche Katastrophenszenarien zu simulieren und um die Auswirkungen konkreter Verbesserungsmaßnahmen miteinander vergleichen zu können, benötigt man realitätsnahe Modelldaten. Diese müssen in gleicher, hoher Qualität für eine sehr große Fläche vorliegen. Am Ende geht es schließlich darum, diejenigen Maßnahmen ableiten zu können, mit denen für die Bürger eines Bundeslands, eines Staats oder gar eines ganzen Kontinents die größtmöglichen Verbesserungen erzielt werden können.

Leider gibt es derzeit in den meisten der genannten Themenbereiche keine ausreichend gute, vorgefertigte Modelldatensätze. So wird zum Beispiel bei der Berechnung der Lärmbelastung von Bürgern ein flächendeckendes 3D-Klötzchenmodell benötigt. Die hierzu benötigten Gebäudepolygone müssen hier mühsam aus unterschiedlichsten Datenquellen zusammengesucht und aufwändig miteinander verrechnet werden. Und um am Ende die Ergebnisse der Lärmberechnung qualifiziert beurteilen zu können, werden noch weitere Daten benötigt: Erst durch die zusätzliche Auszeichnung einzelner Gebäude als Schulen oder Krankenhäuser wird ersichtlich, wie schlimm eine Belastung durch Verkehrslärm tatsächlich einzustufen ist. Doch auch die Nutzungsinformation einzelner Gebäude liegt nicht flächendeckend vor, sondern muss durch die Meldung einzelner Gemeinden nachträglich zugeordnet werden.

Für Disy ist nun die Aufbereitung und Organisation großer, heterogener Datenbestände seit jeher ein wichtiges Betätigungsfeld, etwa wenn es um den Aufbau eines Data Warehouse oder schlicht um die integrierte Auswertung unterschiedlichster Daten mit Cadenza geht. So haben wir uns Mitte 2012 auch sehr gefreut, mit einem besonders herausfordernden Projekt im Bereich der Modelldatenaufbereitung betraut zu werden: Zur Aufgabe stand die Erstellung eines großen Datenbestandes mit Gebäude- und Geländedaten. Als Rohdaten standen hierzu mehr als 30.000 Dateien im Umfang von insgesamt über 150 GB zur Verfügung. Diese wurden aus verschiedenen Quellen bereitgestellt, lagen in unterschiedlichen Formaten vor und hatten auch unterschiedliches Qualitätsniveau. Eine Auswahl der am besten geeignetsten Datensätze war somit auch Teil des Projekts.

Die traditionelle Vorgehensweise eines solchen Vorhabens wäre nun gewesen, die gegebenen Eingangsdatenbestände räumlich aufzuteilen, manuell durch die verschiedenen Verarbeitungsschritte zu führen und am Ende zu einem gemeinsamen Datenbestand zusammenzufügen. Für uns war aber sofort klar, dass dieses Vorgehen in diesem Projekt gescheitert wäre: Zum einen waren zur Verarbeitung der Daten insgesamt mehr als 250 – teilweise sehr komplexe und rechenintensive – Prozess-Schritte nötig. Zum anderen lagen die möglichen Eingangsdaten hochgradig redundant in verschiedensten Qualitätsstufen vor. Welche dieser Daten am Ende zum insgesamt besten Ergebnis führten, konnte teilweise erst sehr spät in der Verarbeitungskette entschieden werden. Schließlich war dann auch der Zeitplan sehr ambitioniert angesetzt: Innerhalb von nur 3 Monaten sollten fertige Modelldaten für ausgewählte Gebiete berechnet sein. Nach weiteren 3 Monaten schließlich sollten alle Daten verarbeitet und das Projekt vollständig abgeschlossen sein. Die Kombination dieser hohen Anforderungen sorgte dafür, dass die traditionelle Vorgehensweise zu zeit- und arbeitsaufwändig und durch die vielen manuellen Arbeitsschritte auch mit einem zu hohen Fehlerrisiko behaftet gewesen wäre.


Mehr als 250 Prozess-Schritte

Um die Aufgabe dennoch zu meistern, haben wir eine neue Vorgehensweise angewendet, die wir schon in früheren Projekten erprobt und im Rahmen dieses Projekts perfektioniert haben: Die Daten werden dabei nicht mehr manuell durch die Verarbeitungsschritte geführt, sondern es wird auf Basis von Software ein System aufgebaut, das die Datenverarbeitung vollautomatisiert durchführt: die Disy Spatial Workbench. Der Kern dieses Systems besteht aus einer extrem auf Performance optimierten Oracle-Datenbank. Darin werden alle Eingangsdaten, Zwischen- und Endergebnisse sowie sämtliche Informationen über den Rechenfortschritt in Metadatentabellen gehalten. Neben der Datenbank steht die in Java implementierte Ablaufsteuerung der Prozess-Schritte. Für die einzelnen Berechnungsschritte kommen wahlweise einfache SQL-Befehle, PL-SQL-Algorithmen direkt in der Datenbank oder Java-Algorithmen zum Einsatz. Dabei wird auch intensiv auf bewährte Funktionen aus Cadenza oder Open-Source-Bibliotheken zurückgegriffen. Für jeden einzelnen Verarbeitungsschritt kann so flexibel das jeweils optimale Vorgehen gewählt werden. Nun ist es an sich ja nichts Besonderes, zur Verarbeitung von Daten ein Softwaresystem aufzubauen. Spannend wird es aber, sobald man sich noch einmal den engen Zeitplan anschaut: Es wäre völlig utopisch gewesen, innerhalb des Projekts zunächst das Softwaresystem fertigzustellen und zu testen, und erst danach mit der eigentlichen Datenrechnung zu beginnen. Beides dauert mehrere Monate und passt in Summe nicht in den Projektrahmen! Ein weiterer entscheidender Aspekt unseres Vorgehens ist daher, dass Datenrechnung und Aufbau des Automaten gleichzeitig stattfinden. Ermöglicht wird dies vor allem durch Metadatentabellen in der Datenbank: Datensätze, die aktuell noch nicht verarbeitet werden können, werden an den jeweiligen Schritten pausiert. Sobald ein neuer Prozess-Schritt implementiert ist oder für weitere Sonderfälle erweitert wurde, werden die jeweiligen Datensätze dann wieder zur Berechnung freigegeben. In der Praxis hat das im Projekt dazu geführt, dass die Entwicklung an der Spatial Workbench nur zwei Tage vor dem Abschluss der Berechnungen abgeschlossen wurde.

An einem Softwaresystem im laufenden Betrieb zu entwickeln ist eine besondere Herausforderung: Nur durch unsere Erfahrungen in der Produktentwicklung mit Java, der Zusammenstellung eines perfekt aufeinander abgestimmten Teams und der Anwendung modernster Techniken aus dem Bereich agiler Softwareentwicklung war dies möglich. So wurde das System zum Beispiel während seiner gesamten Entwicklung mittels automatisierten Tests in unserer Continuous-Integration-Infrastruktur auf seine Korrektheit geprüft. Entscheidend für das Projekt war schließlich auch die Optimierung der Rechenleistung. Speziell bei der Oracle-Datenbank haben wir hierzu sehr tief in die Trickkiste gegriffen: So wurde sie durch den Betrieb auf einer RAM-Disk von 250 GB vollständig im Hauptspeicher betrieben. Ohne physikalischen Speicher und unter Verzicht jeglicher Protokollierung hätte ein Ausfall des Systems somit den Berechnungsfortschritt mehrerer Tage zunichte gemacht. Wir haben dieses Risiko bewusst in Kauf genommen um damit in der Gesamtbilanz die notwendige Rechenperformance zu erreichen, ohne die das Projekt nicht rechtzeitig hätte abgeschlossen werden können.

Eine hochgradige Parallelisierung der Verarbeitung wurde neben der Optimierung in der Algorithmik auch durch eine exklusiv für dieses Projekt vorgehaltene Hardware in aktuellster Technologie erreicht. Von insgesamt 32 CPU-Kernen wurden 24 alleine zur Berechnung verwendet. Trotz seiner enormen Leistungsfähigkeit war das System zu 80% der gesamten Projektlaufzeit zu mehr als 90% ausgelastet.

Diese gesammelten Erfahrungen wollten wir gerne auch mit anderen Oracle-Experten teilen und diskutieren. Deshalb haben wir im Juni auf der DOAG-Development in Bonn im Vortrag „Hochparallele Spatial-Integration umfangreicher heterogener Geodaten“ ausführlich von unserem Projekt berichtet. Ein interessiertes Fachpublikum folgte gespannt unseren Ausführungen. Das Feedback auf unseren Vortrag zeigte, dass unsere Ansätze durchweg als kreativ und innovativ bewertet wurden. Wir bekamen auch mehrere Anfragen, weitere Aspekte zu dem Thema – etwa den Einsatz des Oracle Geocoders – in zukünftigen Veranstaltungen ausführlicher vorzustellen. Somit werden wir wohl auch in Zukunft über interessante Aspekte aus dem Projekt berichten. Weitere Informationen zum Vortrag finden Sie in unseren Präsentationsfolien.


 
 
 
 
 

Impressum    |    Datenschutz    |    Home

© Disy Informationssysteme GmbH