Datenmanagement im Deutschen Wetterdienst Architektur und Erfahrungen mit Oracle Technologien Dr. Robert Stanek, DWD Dirk Fuchs, DWD Gesetzlicher Informations- und Forschungsauftrag • Der DWD ist eine Anstalt des öffentlichen Rechts und dem Bundesministerium für Verkehr und digitale Infrastruktur unterstellt. • Die vielfältigen Aufgabengebiete des DWD basieren auf einem gesetzlichen Informations- und Forschungsauftrag: Dem Gesetz über den Deutschen Wetterdienst. Deutscher Wetterdienst – Oracle DWH Community 2016 -2- Gesetz über den Deutschen Wetterdienst • Erfassung der meteorologischen Wechselwirkung zwischen der Atmosphäre und anderen Bereichen der Umwelt • Vorhersage der meteorologischen Vorgänge • Überwachung der Atmosphäre auf radioaktive Spurenstoffe und die Vorhersage deren Verfrachtung • Betrieb der erforderlichen Mess- und Beobachtungssysteme • Bereithaltung, Archivierung und Dokumentierung meteorologischer Daten und Produkte Deutscher Wetterdienst – Oracle DWH Community 2016 -3- DWD-Präsenz in Deutschland 2500 Beschäftigte 6 Regionalzentralen, Hauptsitz Offenbach 1 Schulungszentrum (Langen) 2 Meteorologische Observatorien Ein umfangreiches Messnetz, z.B.: 182 hauptamtliche Wetterwarten und Wetterstationen u.a. davon 9 Radionsondenaufstiege, 48 Radioaktivitätsmessungen, 121 mit Strahlungsmessungen 1786 ehrenamtlich betreute Wetterstationen 1267 phänologische Beobachtungsstellen 2 Bordwetterwarten (Forschungsschiffe) 17 automatische Bordwetterstationen 657 Wettermeldestellen auf Handelsschiffen Deutscher Wetterdienst – Oracle DWH Community 2016 -4- Prozesskette 24 h / 7 d Weltweite Beobachtungen Internationaler Datenaustausch Datenbanken für Beobachtungen Rund um die Uhr Numerische Wettervorhersage Datenbanken für den Modelloutput Datenverteilung, intern und extern Grafische Aufbereitung, Interpretation DIN EN ISO 9001:2008 Deutscher Wetterdienst – Oracle DWH Community 2016 -5- Beginn der Ensemblerechnungen Deutscher Wetterdienst – Oracle DWH Community 2016 -6- Unsere Herausforderungen Durch gesetzliche Verpflichtungen ist die Anzahl der Anwendungen im DWD enorm gestiegen Geowebdienste Flugmeteorologie Open Data Pro Jahr etwa 30% mehr Daten Pro Jahr etwa 60% mehr Leselast Ein Ende des Wachstums ist nicht in Sicht! Deutscher Wetterdienst – Oracle DWH Community 2016 -7- Unsere Herausforderungen Unser Hauptproblem: Leselast ist schwer vorhersehbar Manche Produkte sind beliebter als gedacht Die Produktgröße ist nicht konstant! Augenblickliche Wetterlage Qualitätsprüfung verändert Datenmenge und Inhalt Historische (Klima-) Daten nicht immer gleichmäßig dicht verteilt Die Infrastruktur muss flexibel auf heterogenen Lesezugriff reagieren können! Deutscher Wetterdienst – Oracle DWH Community 2016 -8- Scale Out über Active Dataguard Physikalische Kopie(n) einer Datenbank Standbyinstanzen sind Read-Only (Nahezu) lineares Wachstum der Leseperformance Zugriff auf Datenbanken über Services Zugriff möglichst über Read-Only Services Für „kleine“ Schreibzugriffe ausgewählte Read-Mostly Services http://uhesse.com/2010/11/05/real-time-query-for-read-mostly-applications/ Services wenn möglich projektbezogen Deutscher Wetterdienst – Oracle DWH Community 2016 -9- Scale Out über Active Dataguard (Schematisch) ETL Andere Datenquellen DWH ETL ADG Standby ADG Standby ADG Standby ADG Standby ADG Standby ADG Standby Rohdaten Deutscher Wetterdienst – Oracle DWH Community 2016 - 10 - Das wirkliche Leben Man merkt recht schnell, dass Active Dataguard Installationen zu komplexen Konfigurationen führen können TNSNAMES Startup Trigger Login Trigger Monitoring Testbarkeit Wie bekommt man das geregelt? Deutscher Wetterdienst – Oracle DWH Community 2016 - 11 - Beispiel TNSNAMES.ORA Zugriff über TNSNAMES.ORA Zur Zeit ca. 150 Services Services in verschiedenen TNSNAMES.ORA Files Probleme: Überschneidungen Welche Änderung des Systems (neuer Service, Port, Host, usw.) muss wo beachtet werden? Wer ist von der Änderung betroffen? Testbarkeit Deutscher Wetterdienst – Oracle DWH Community 2016 - 12 - Beispiel TNSNAMES.ORA ... (load_balance=yes) (address_list= (address=(protocol=tcp)(host=host1.domain.foo)(port=1522)) (address=(protocol=tcp)(host=host2.domain.foo)(port=1524)) (address=(protocol=tcp)(host=host3.domain2.foo)(port=1522)) (address=(protocol=tcp)(host=host1.domain3.foo)(port=9210)) ) ... Deutscher Wetterdienst – Oracle DWH Community 2016 - 13 - Wo kommen unsere Konfigurationen her? Möglichst alle Konfigurationen müssen aus einer einheitlichen Quelle generiert werden Configuration Management Database (CMDB) Abbilden aller Configuration Items (Datenbanksystem, Instanz(en), Hosts, Anprechpartner, Services, usw.) und deren Abhängigkeiten Generierte Konfigurationen und Produkte TNSNAMES.ORA für verschiedene Nutzergruppen Trigger für Services (Start/Stop) Trigger für Nutzerlogins Konfigurationsfiles für Überwachung/Monitoring Mailinglisten mit Ansprechpartner Deutscher Wetterdienst – Oracle DWH Community 2016 - 14 - Unsere CMDB Oracle 11.2.0.4 Flashback Active Dataguard für Snapshot Standby Django für Webfrontend Generierung von Konfigurationen über Views PL/SQL Vollständiger Zugriff über REST Deutscher Wetterdienst – Oracle DWH Community 2016 - 15 - Deutscher Wetterdienst – Oracle DWH Community 2016 - 16 - Deutscher Wetterdienst – Oracle DWH Community 2016 - 17 - Workflow Beispiel: TNSNAMES.ORA CMDB TNSMASTER Deployment Deutscher Wetterdienst – Oracle DWH Community 2016 - 18 - Weitere Technologien, Erfahrungen, Zusammenfassung Weitere Technologien: Partitioning Advanced Compression Heat Map Information Lifecycle Management (ILM) Spatial Deutscher Wetterdienst – Oracle DWH Community 2016 - 19 - Weitere Technologien, Erfahrungen, Zusammenfassung Active Dataguard ermöglicht eine flexible, skalierbare Infrastruktur für hohe Leselasten Konfiguration sehr einfach Komplexität darf nicht unterschätzt werden Performancetuning etwas aufwendiger Verfügbarkeit erhöht sich implizit Georedundanz einfach möglich Stabil Deutscher Wetterdienst – Oracle DWH Community 2016 - 20 - Ihr Ansprechpartner: Dirk Fuchs Referat TI12 Datenmanagement [email protected] Tel.: +49 (0) 69/ 8062 2646 Deutscher Wetterdienst – Oracle DWH Community 2016 - 21 -