Parallelisierung in Datenbank- Batchverarbeitungen

Ähnliche Dokumente
AML mit SAP Fraud Management

Möglichkeiten zur Prozesskontrolle in Datenbank- Batchverarbeitungen

SAP Fraud Management Compliance

Parallele Programmierung in SQL und PL/SQL. Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011

Der SAS DataStep und die Prozedur SQL Cellent Finance Solutions GmbH Seite: 1

Automatisierte Datenmigration mit dynamischen SQL

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

<Insert Picture Here> RAC Architektur und Installation

Regionaltreffen Rhein Main 26. März 2007

Datenbankstatistiken im Griff mit DBMS_STATS. DOAG 2012 Konferenz + Ausstellung Nürnberg 21. November 2012

BUSINESS INTELLIGENCE IM MITTELSTAND EIN PRAXISBERICHT

Unsere Vorträge auf der DOAG 2015

Oracle Warehouse Builder 3i

NoSQL mit Postgres 15. Juni 2015

DOAG Demo Kino: Advisors, Monitoring Werkzeuge in der Datenbank Ulrike Schwinn Business Unit Database Oracle Deutschland B.V.

Ist die Standard Edition noch einsetzbar? Dierk Lenz DOAG 2015 Konferenz

Datenmodellierung im Zeitalter agiler Softwareentwicklung

Database Resource Manager im praktischen Einsatz

Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH

LDom Performance optimieren

PL/SQL Web-Services mit Oracle 11g

APEX 5.0 als wertvolle Ergänzung einer SharePoint-Umgebung. Alexej Schneider DOAG 2015

Markus Feichtinger. Power Systems. Der Weg zu POWER! 2009 IBM Corporation

Finance & Banking. Competence Center Finance & Banking. IT-Know-how. IT-Dienstleistungen. IT-Personal.

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

In-Memory & Real-Time Hype vs. Realität: Maßgeschneiderte IBM Business Analytics Lösungen für SAP-Kunden

Systemvoraussetzungen

O-BIEE Einführung mit Beispielen aus der Praxis

Five Finger Death Punch. Oliver Lemm Competence Center Leiter APEX

Performance Tuning

Graphen in Apex von Thomas Hernando.

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

Die sichere Datenhaltung für optimierte Qualitätssicherung

Prozedurale Datenbank- Anwendungsprogrammierung

Transaktionen in der Praxis. Dr. Karsten Tolle

DOAG Regionaltreffen. Regionalgruppe Nürnberg. Migration von Forms Client/Server ins Web. Andreas Ströbel OPITZ CONSULTING München

Oracle Multitenant Verwaltung von Pluggable Databases Handling und Besonderheiten

Zeitlich abhängig von OWB?

PostgreSQL in großen Installationen

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Automotive. Competence Center Automotive. IT-Know-how. IT-Dienstleistungen. IT-Personal.

apex.meinefirma.de Carsten Czarski ORACLE Deutschland B.V. & Co KG APEX Hosting im eigenen Unternehmen Carsten.Czarski@oracle.com

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Das nächste Duet(t): APEX und SAP DOAG Konferenz Niels de Bruijn Nürnberg,

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

SPARC LDom Performance optimieren

Tuning the Mobile Server

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG. Referent: Lutz Bauer, Senior Systemberater, MT AG

DB2 for VM / VSE 7.5. News & Experiences. Torsten Röber. GSE Frühjahrstagung April 2008, Bonn. IBM Software Group

Vom Single Point of Truth zur Single Version of the Facts. Data Warehousing zu Beginn des BigData-Zeitalters. inspire IT - Frankfurt

Ablösung von Oracle-Datenbanken mit PostgreSQL oder MariaDB. Präsentation 23. Juni 2016

Pharma & Chemie. Competence Center Pharma & Chemie. IT-Know-how. IT-Dienstleistungen. IT-Personal.

Vom Prozess zur IT. Agenda. Vorstellung Business Process Management und IT Umsetzungsbeispiel. Rohleder-Management-Consulting.de 2

Datenbanken und Oracle, Teil 2

ALM Test Management Cockpit. Tobias Fickinger, SAP Consulting April 2016

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Informationsportal für internen und externen Berichtszugriff mit BW 7.0 / BI BOUYGUES E&S

Oracle 10g Flashback. Andrea Held

PL/SQL Unit Tests mit SQL Developer

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli MySQL-Job-Automation

Das Wissen hat Grenzen, unsere IT-Dienstleistungen nicht.


Performance Tuning & Scale-Out mit MySQL

Enterprise Portal - Abbildung von Prozessen, SAP-Datenintegration und mobile Apps

Flash Memory in Action Konfigurationen und Möglichkeiten

SQL (Structured Query Language) Schemata Datentypen

Da fliegt die Kuh Rasante Datenbankklone durch cow (copy-on-write) Robert Marz Technical Architect.

Wie profitiert SAP MaxDB von SSD Technologie?

Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle

IT-Symposium Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. 1

DWH Szenarien.

Robotron Datenbank-Software GmbH

SAP Integration von Business Objects am Beispiel von SAP Student Lifecycle Management. Anke Noßmann Syncwork AG

BICC, Organisation und Kompetenz Das Raiffeisen Solution SAS Competence Center

Upgrade auf Microsoft Dynamics CRM 2013

Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Hilfe, ich verstehe meine APEX Seite nicht mehr! DOAG Development Konferenz, Düsseldorf

Seminar in der Seminarreihe Business Intelligence 1. OLAP und Datawarehousing

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

Tobias Flohre / Dennis Schulte codecentric AG. Spring Batch Performance und Skalierbarkeit

New Features Oracle Forms 11g Nichts Neu für Forms?

Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht)

Systemvoraussetzungen

Systemvoraussetzungen

Performance Tools. für alle Editionen

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

Erhöhung der Manageability durch SQL-Profile

Sizing von WebForms-Umgebungen

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

ORACLE Application Express (APEX) und Workflows. Copyright Apps Associates LLC. 1

XML in der Oracle Datenbank

Open Source BI 2009 Flexibilität und volle Excel-Integration von Palo machen OLAP für Endanwender beherrschbar. 24. September 2009

Datenbank Rootkits. Alexander Kornbrust 01-April Red-Database-Security GmbH. Alexander Kornbrust, 01-Apr-2005 V1.07 1

Oracle 10g revolutioniert Business Intelligence & Warehouse


IT-Transformation How to run changing systems

Transkript:

Parallelisierung in DB-Batch Parallelisierung in Datenbank- Batchverarbeitungen Dr. Kurt Franke Cellent Finance Solutions AG Kurt.Franke@cellent-fs.de, Kurt-Franke@web.de

Agenda cfs Kurzvorstellung Batchbetrieb in einer DB-Applikation Möglichkeiten zur Parallelisierung SQL Parallelisierung Parallel laufende Verarbeitungen Parallelisierungsarten: Vergleich Abläufe Vergleich Parallelisierung: SQL Verarbeitungen Kombination der Parallelisierungsmöglichkeiten Zusammenfassung Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 2

C o p y r i g h t 2012 C e l l e n t F i n a n c e S o l u t i o n s AG Zahlen und Fakten zum Unternehmen Firmensitz: Stuttgart Marktpräsenz: seit 1985 Aktionärsstruktur: 100% Landesbank Baden-Württemberg (LBBW) Aufsichtsrat: Dr. Martin Setzer Vorstand: Thomas Wild Anzahl Mitarbeiter: 200 Standorte: Umsatz: Stuttgart, Frankfurt am Main, München 28 Mio. Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 3

C o p y r i g h t 2011 C e l l e n t F i n a n c e S o l u t i o n s AG Kompetenzfelder Projekt und Changemanagement Fachliche und technologische Konzeption Prozesse Kernbankenlösungen Trading & Financial Markets Gesamtbanksteuerung Finanzkriminalität Kreditmanagement Sicherheiten- Management Credit Risk Matrix (CrX) Consulting & Lösungen Handelssysteme Marktdatenplattform Consulting & Systeme Idealtypischer GBS-Prozess Rechnungswesen Kreditrisiko Controlling Meldewesen Finance Data Warehouse Consulting & Lösungen Gefährdungsanalyse Geldwäschebekämpfung Embargo-/ Finanzsanktionen Pol. Exposed Persons Finanzbetrug Wertpapier Insider Handel Consulting & Produkte Technologie Serviceorientierte Architektur, Integration EAI, Data Warehouse, Business Intelligence Frontend Testmanagement, Test, etc. Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 4

SMARAGD Compliance Suite Mehr als 1.600 Institute in über 50 Ländern vertrauen auf SMARAGD Produkte Unter den 50 Top Banken weltweit nutzen 9 Banken SMARAGD Lösungen Von den Top 10 Banken in Deutschland setzen die ersten 7 auf die SMARAGD Compliance Suite Seit 1999 stehen wir mit unseren Lösungen der Finanzwirtschaft und seit 2011 der Industrie zur Verfügung Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 5

Referenzen SMARAGD Anti-Finance Crime Suite (Auszug) Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 6

Batchbetrieb in einer DB-Applikation Vorgaben für Batchjobs begrenztes Zeitfenster für volle Resourcen-Nutzung während Online-Betrieb nur sehr eingeschränkt Performance für Online-Betrieb darf nicht vermindert werden deshalb meist nur für umgehende benötigte Ergebnisse eingesetzt Hardware ist immer begrenzt fast nie genügend schnell für rein serielle Komplett-Verarbeitung in der Regel wirken Schreib/Lese-Zugriffe limitierend bei rechen-intensiven Verarbeitungen auch die CPU aber: in der Regel mehrere CPU s bei größeren Systemen auch mehrere IO-Pfade das ist nur parallel nutzbar Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 7

Möglichkeiten zur Parallelisierung Parallelisierung in SQL-Statements komplettes Handling durch Oracle-DB nur mit Enterprise-Edition möglich sinnvoll nur bei großen Datenmengen je paralleles Statement gleichzeitig mehrere Batch-Verarbeitungen ausführen applikationsspezifische Steuerung Berücksichtigung von Abhängigkeiten nicht nur einzelne Statements, sondern ganze Abläufe sind parallel mit jeder Oracle-Edition möglich parallele Prozesse über dbms_scheduler Features nach Bedarf einsetzbar früher eigene Implementierung notwendig wegen Limitierung dbms_job auf 36 Prozesse Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 8

Parallele Ausführung von SQL-Statements unterstützt nur von Enterprise Edition wird komplett vom Oracle-Server gehandelt bisheriger Session-Prozess plus zusätzliche vom Server bereitgestellte Parallel-Query-Prozesse führen gemeinsam je einen Teil der Aufgaben aus 1 Query-Koordinator für Kommunikation mit anderen Teilnehmern verteilt Aufgaben, führt Ergebnisse zusammen Session-Verlauf 1 Session vor Beginn der parallelen Ausführung Aufsplittung in mehrere Sessions Zusammenführung in ursprünglicher Session am Ende des Statements wenig Aufwand für Entwickler Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 9

Parallele Ausführung von SQL-Statements II SQL-Parallelisierungsgrad wird vom Optimizer bestimmt bei der Erstellung des Ausführungsplans unter Berücksichtigung von: an den Objecten hinterlegten Parallel-Degree-Werten Parallel-Hints für Haupt- und Sub-Queries Verfügbarkeit von Parallel-Queury-Prozessen DB-Parameter parallel_max_servers sind noch genügend davon frei verfügbar Steuerungsmöglichkeit auf Object-Ebene ALTER TABLE mytable PARALLEL 8; auf Statement-Ebene SELECT /*+ parallel(t,16) */ FROM mytable t... Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 10

Parallele Ausführung von SQL-Statements III eine DB-Application bei verschiedenen Kunden für: um Größenordnungen unterschiedliche Datenmengen auf verschiedener Hardware erfordert Anpassungsmöglichkeiten: DECLARE idealerweise auf Statement-Ebene unter Berücksichtigung der parallel laufenden Verarbeitungen über einen oder mehrere Werte in einer Parametertabelle stmnt VARCHAR2(32767); p_degree BINARY_INTEGER; BEGIN SELECT p_value INTO p_degree FROM param_table WHERE p_name = 'DEGREE'; stmnt 'CREATE TABLE mytable2 AS' chr(10) ' SELECT /*+ parallel(t,' to_char(p_degree) ') */' chr(10) ' FROM mytable t1'; EXECUTE IMMEDIATE stmnt; END; Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 11

Parallel laufende Verarbeitungen komplette Läufe mit Logik zwischen SQL sind parallel keine Abhängigkeiten untereinander kein Output der anderen Verarbeitung als Input bei DDL-Methotik wie Exchange Partition keine Bearbeitung der gleichen Daten z. B. verschiedene Attribute kein Komplettservice durch die Datenbank notwendige Session entwicklerseitig bereitstellen seit Oracle 10 mit dbms_scheduler, bis zu 999 Prozesse vorher mit dbms_job, bis zu 36 Prozesse meist nicht ausreichend Eigenimlementierung mit separaten Connects von DB-Server via Aufruf einer C-Library Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 12

Parallel laufende Verarbeitungen II Kommunikation zwischen aufrufenden Sessions ausführenden Sessions muss entwicklerseitig implementiert werden Statustabelle als einfachste Möglichkeit mögliche Werte: angefordert, aktiv, abgeschlossen, abgebrochen,.. ggf. mit Oracle-Fehlernummern und Oracle-Fehlermeldungen sichere Erkennung laufender Verarbeitungen a) Steuerung läuft als hochprivilegierter User mit v$session-zugriff Hinterlegung von sid, spid, logon-date etc. in Statustabelle dbms_application_info: setzen von module und action b) Verwendung von Locks mit berechneten Namen Zugriff auf dbms_lock Package erforderlich Duration = 'SESSION' Existenz Lock bedingt Existenz Session Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 13

Parallel laufende Verarbeitungen III Parallelisierung unabhängig von Verarbeitungsmethodik also auch Einzelsatz-Verarbeitungen mit Cursor-Loops die vom parallelen SQL nicht profitieren auch hierbei bessere Hardware-Auslastung möglich falls genügend parallel ausführbare Verarbeitungen existieren abhängig vom Design der Verarbeitungen Verarbeitungen bei notwendigen Serialisierungspunkten unterteilen alle Serialisierungspunkte im Steuerungsbereich verfügbar UND-verknüpfte Abhängigkeiten für Start optimale Nutzung der Parallelisierungsmöglichkeiten ansonsten: alle benötigten Daten bis zum letzen Serialisierungspunkt vor Start alternativ Ablauf-Steuerungslogik in Verarbeitungen einbauen Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 14

Parallelisierungsarten: Vergleich Abläufe Parallelisierung / Abfolge von Verarbeitungen separate Verarbeitungsjobs zwischen Knoten jeder Zusammenführungsknoten ist ein Serialisierungspunkt SQL-Parallelisierungen in einer Verarbeitung automatische Zusammenführung am Ende eines SQL-Statements Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 15

Vergleich Parallelisierung: SQL Verarbeitungen Verfügbarkeit SQL Statements Enterprise Edition komplette Verarbeitungen generell Design-Aufwand keiner geeignete Aufteilung in separate Verarbeitungen Entwicklungs-Aufwand minimal hoch Parallelisierungsgrad sichere Detektierung laufender Parallel-Session SQL-Hint, Object Parallel Degree wird von Oracle-DB durchgeführt Anzahl Parallele Sessions muss implementiert werden Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 16

Kombination beider Parallelisierungsmöglichkeiten System mit großen Daten-Mengen und -Durchsatz vielen verschiedenen Verarbeitungs-Schritten komplexen Zusammenhängen der Verarbeitungen Parallele Verarbeitungsläufe sinnvoll wahrscheinlich sogar notwendig wegen Batch-Zeitfenster SQL-Parallelisierung sinnvoll innnerhalb von Verarbeitungsläufen bei SQL-Statements mit großem Datendurchsatz verkürzt die Laufzeit des betreffenden Verarbeitungslaufes ermöglicht früheres Anstarten abhängiger Verarbeitungen SQL-Parallelisierung und Anzahl paralleler Verarbeitungen müssen aufeinander abgestimmt sein damit die Hardware ausgelastet, aber nicht überlastet wird Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 17

Kombination beider Parallelisierungsmöglichkeiten II Abstimmung Parallelisierung SQL und Verarbeitungen abhängig von: Struktur der gesamten Abfolge paralleler Verarbeitungen und deren Parallelisierungs-Konfiguration zur Anpassung an die eingesetzte Hardware SQL-Parallelisierung muss dazu passen damit die Hardware ausgelastet, aber nicht überlastet wird sollte sicherstellen: dass für nachfolgende abhängige Parallele Verarbeitungen und andere Parallele SQL-Statements hinreichend Resourcen (Parallel-Prozesse) verfügbar sind das ist möglich, weil: bei Design/Entwicklung/Ausführung abhängiger Verarbeitungen in die Zukunft geplant wird und damit bekannt ist, welche Resourcen nachfolgend benötigt werden Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 18

Kombination beider Parallelisierungsmöglichkeiten III Query-Optimizer kennt nur die aktuelle Situation der DB kann prinzipiell nichts über nachfolgend benötigte Resourcen wissen weil es keine Möglichkeit der Mitteilung gibt Informationsvorsprung kann benutzt werden für optimalere Hardwareauslastung durch parametergesteuerte SQL-Parallelisierung mit geeigneter Anzahl Parallelisierungs-Parameter Vewendung von Faktoren auf diese Parameter für bekannten geänderten Resourcenbedarf in Folgestatements ggf. zur Laufzeit berechnete Faktoren zum Handling unvorhersehbarer Laständerungen z. B. verspätete Daten-Lieferung von anderem System oder zusätzliche Anwender-verursachte Verarbeitungen sollte nur für Beinflussung der SQL-Parallelisierung verwendet werden nicht für andere dynamische SQL-Hints (nicht Optimizer nachbauen) Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 19

Zusammenfassung System mit großen Datenmengen, aber nur einfachen Batchverarbeitungen ohne spezielle Abhängigkeiten SQL-Parallelisierung ausreichend System mit großen Datenmengen und komplexeren Batchverarbeitungen, auch mit Abhängigkeiten Kombination von Verarbeitungs-Parallelisierung mit SQL-Parallelisierung empfehlenswert System mit kleineren Datenmengen und komplexeren Batchverarbeitungen, auch mit Abhängigkeiten Verarbeitungs-Parallelisierung empfehlenswert + SQL-Parallelisierung, wenn Enterprise Edition und wenn Performance-Verbesserung erwartet wird Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 20

Parallelisierung in DB-Batch Parallelisierung in Datenbank-Batchverarbeitungen Fragen & Antworten Vielen Dank für Ihre Aufmerksamkeit Kontakt: Dr. Kurt Franke Cellent Finance Solutions AG, Calwer Str. 33, D-70173 Stuttgart http://www.cellent-fs.de/ Email: Kurt.Franke@cellent-fs.de, Kurt-Franke@web.de Phone: +49-(0)711-222992676, Mobil: +49-(0)171-7963089 Dr. Kurt Franke, Cellent FS AG D.O.A.G. Konferenz 2013 Nürnberg, 21.11.2013 Folie 21