DATEV Genossenschaft der Steuerberater, Wirtschaftsprüfer und Rechtsanwälte Netzwerk für Berater DATEV ist seit über 40 Jahren Vordenker, Wegbereiter und Partner für Steuerberater, Wirtschaftsprüfer und Rechtsanwälte Hauptsitz und Informationszentrum in Nürnberg sowie 24 weitere Niederlassungen in Deutschland Informationsbüro in Brüssel Beteiligungsunternehmen in Polen, Tschechien, Österreich, Italien und Spanien Vertriebspartner in Ungarn und Slowakei Zoom ©DATEV eG; alle Rechte vorbehalten Auftrag und Mitglieder Unsere Mitglieder: Unser Auftrag: Steuerberater Erhöhung der Wettbewerbsfähigkeit unserer Mitglieder Rechtsanwälte Wirtschaftsprüfer vereidigte Buchprüfer Wirtschaftliche Förderung unserer Mitglieder Unterstützung bei allen Dienstleistungen Sozietäten und Partnergesellschaften Gesellschaften der Berufsangehörigen Zukunft gestalten. Gemeinsam. ©DATEV eG; alle Rechte vorbehalten Mehrwert für Mitglieder Über 39.000 Mitglieder profitieren von den Leistungen der Genossenschaft nachhaltige Förderung der Kanzleientwicklung Interessensvertretung für den Berufsstand transparente Softwarekosten langfristige Investitionssicherheit genossenschaftliche Rückvergütung ©DATEV eG; alle Rechte vorbehalten Unser Angebot ©DATEV eG; alle Rechte vorbehalten Lösungen für Unternehmen Erfolgreiche Mandatsgestaltung durch flexible Unterstützung der Zusammenarbeit nach den Anforderungen von Kanzlei und Mandant: Beratung durch das Mitglied und Software von DATEV steigern die Wirtschaftlichkeit der betreuten Unternehmen DATEV ©DATEV eG; alle Rechte vorbehalten Mitglied Mandant Führend in Europa Büros und Partnerunternehmen in 9 Ländern der EU Unterstützung der Mitglieder bei internationalen Mandaten Software nach landesspezifischen Vorgaben Partnerkanzleien vor Ort ©DATEV eG; alle Rechte vorbehalten Zahlen, die für unsere Mitglieder sprechen Fast 10 Mio. Löhne und Gehälter werden jeden Monat über den steuerlichen Berater mit DATEV-Software abgerechnet. Mehr als 1 Mio. Betriebe mit sozialversicherungspflichtigen oder geringfügig Beschäftigten erhalten die Lohnabrechnung aus einem DATEV-Produkt. 2,4 Mio. Unternehmen nutzen über ihren steuerlichen Berater die DATEV-Finanzbuchführung. Entwicklung Mitglieder Umsatz in Mio. Euro ©DATEV eG; alle Rechte vorbehalten Datenbanken bei DATEV Organisation: Datenbanksysteme Datenbankadministration und Datenbankmanagement Standardsoftware Fachberatung Datenbanken Betreute Datenbanksysteme: Datebanksystem Hersteller Betriebssystem DB2 IBM z/OS (MVS) Oracle Oracle AIX (UNIX) SQL Server Microsoft Windows MySQL Sun Microsystems SLES Linux ©DATEV eG; alle Rechte vorbehalten Aufgabenbereich Datenbanken Datenbank- und Software-Systeme bereitstellen Zentrale Administration und Pflege der Datenbanken Beratung für die Entwicklung (z. B. Konzepte, Design, Plattformauswahl, Realisation und Optimierung) Laufende Begleitung der Entwicklungsprojekte als zentraler Ansprechpartner des Bereichs Optimale Performance und Kosteneffizienz Schulungsmaßnahmen ©DATEV eG; alle Rechte vorbehalten Aktuelle Aufgabenschwerpunkte Migration von DB2 V8 auf DB2 V9 Untersuchung von MS-SQL-Server 2008 und Migration Netzwerkverschlüsselung für Datenbanken Akquisition von SQL-Servern in der DATEV Einführung des MID Innovator in der DBA Kollaborationsszenarien für den Einkauf (SAP) ©DATEV eG; alle Rechte vorbehalten Kennzahlen Datenbanken Betreute Systeme: 2008 2007 2006 2005 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 ©DATEV eG; alle Rechte vorbehalten Betriebene Datenbank-Systeme 2004 Datenbank-Änderungen pro Jahr 0 2003 200 2002 300 2000 400 160 140 120 100 80 60 40 20 0 1999 500 1998 600 100 21 36 68 2 14 2001 DB2-Gruppen Oracle-Instanzen MS-SQL-Server-Instanzen MySQL-Instanzen SAP-Systeme Hauptsitz und Informationszentrum in Nürnberg 25 weitere Niederlassungen in Deutschland Kiel Schwerin Hamburg Bremen Hannover Berlin Magdeburg Münster Essen Dortmund Düsseldorf Köln Leipzig Erfurt Dresden Kassel Koblenz Frankfurt Mannheim Nürnberg Saarbrücken Stuttgart Ulm Freiburg Passau München zurück DB2@DATEV DB2-Geschichte bei DATEV, Nutzung aktueller DB2-Konzepte, DB2-Performance, neue Herausforderungen DB2-Geschichte bei DATEV DB2 seit 1987 im Einsatz (Version 1.2) 4 Jahre nach der „Geburt von DB2“ 2 Jahre nach GA-Date Seit diesem Release EXPLAIN-Funktionalität Datenspeicherung mittels EBCDIC-Codepage SQL-Referenz damals 300 Seiten heute 2077 Seiten 1989 Einführung von DB2 Version 2.1 1990 Start mit RI - Referential Integrity Heute Tablespace Sets > 1000 Tabellen (alle Ausprägungen von RI, nicht nur künstliche Schlüssel, Index-unterstützt, „Datenbank Terra ist ein Tablespaceset“) ©DATEV eG; alle Rechte vorbehalten DB2-Geschichte bei DATEV – Datasharing seit 1999 Logs Logs CF DBLP DB0P TMP, WRK DBRP DB0P TMP, WRK Catalog EDM, RID, SORT, Bufferpools CICS CICS Lohn EDM, RID, SORT, Bufferpools AW-Daten TSO Batch Lohn CICS TSO Batch ODBC Batch WEB Batch Lohn ©DATEV eG; alle Rechte vorbehalten Nutzung aktueller DB2-Konzepte – Partitionierung Partitionierung der großen Anwendungstabellen (tablecontrolled) Anwendung Belegwesen Größte Tabelle: - Circa 100 Millionen Sätze - Jeder Satz 32 KB (großer Charstring) - 512 Partitionen je Tabelle - Sicherung und Reorganisation nur bei Veränderung - Starkes Wachstum der Daten - Zeitnahes Anhängen von Partitionen ©DATEV eG; alle Rechte vorbehalten CICS Lohn Nutzung aktueller DB2-Konzepte – Trigger Datenbank-Trigger seit 2003 eingesetzt im täglichen Betrieb: Ausführungslogik „wandert in DDL“ Problematik: DBA kennt DDL (Modellierung, SQL, DB-Design, etc.) Entwickler (Programmiersprachen, Testverfahren, etc.) DATEV-Lösung: - Keine Ketten von Trigger-Aufrufen - DBA stellt Trigger-Gerüst zur Verfügung - Entwicklung kümmert sich um Stored Procedure - Trigger Body beinhaltet nur CALL zu Stored Procedure - Trigger Body quasi ohne Logik ©DATEV eG; alle Rechte vorbehalten Nutzung aktueller DB2-Konzepte – Trigger Beispiel-Trigger: CREATE TRIGGER TR_WV013 AFTER DELETE ON TWVANG_AUF_N REFERENCING OLD AS ALT FOR EACH ROW MODE DB2SQL BEGIN ATOMIC CALL AUDIS.WVPT042 ( ALT.ANG_AUF_ID , ALT.ART ) ; END ; Trigger Body = Aufruf Stored Procedure ©DATEV eG; alle Rechte vorbehalten Nutzung aktueller DB2-Konzepte – rekursives SQL DECLARE CSR-RZZUGMM-KATNR CURSOR Initial SELECT FOR WITH MIGMAG ( LEVEL , GUELTVON , GUELTBIS , KATNRUEB , KATNR ) AS ( SELECT 1 , KZ . GUELTVON , KZ . GUELTBIS , KZ . KATNRUEB , KZ . KATNR FROM VKATZUORDMMO KZ WHERE KZ . KATNRUEB = : H AND KZ . GUELTVON <= : H AND KZ . GUELTBIS >= : H Iterative Select UNION ALL SELECT EL . LEVEL + 1 , Z . GUELTVON , Z . GUELTBIS , Z . KATNRUEB , Z . KATNR FROM MIGMAG EL , VKATZUORDMMO Z WHERE Z . KATNRUEB = EL . KATNR AND Z . GUELTVON = EL . GUELTVON AND Z . GUELTBIS = EL . GUELTBIS AND EL . LEVEL < 9 ) SELECT DISTINCT MG . KATNR FROM MIGMAG MG JOIN VRZZUGMM RZ ON MG . KATNR = RZ . KATNR AND RZ . GUELTID = : H FOR FETCH ONLY WITH UR Main Select OPTIMIZE FOR 1 ROW ©DATEV eG; alle Rechte vorbehalten DB2-Performance – vielfach analytische Untersuchung anhand der geschätzten Optimizerkosten und Accesspath (Beispiel rekursives SQL) CPU Cost (ms) Cost Category :5535!! :B Main Select ©DATEV eG; alle Rechte vorbehalten Inital (left) + Iterative Select (right) DB2-Performanceüberwachung: Analyse der Zugriffspfade Anfrageauswertungsstrategien Jedes produktive DB2-Programm (Package) mit statischen SQL (Cobol, C, Assembler und SQL ohne PREPARE) legt seine Zugriffspfade („lesbar“) in PLAN_TABLE ab - (PLAN_TABLE und 12 andere (z. B. DSN_STATEMNT_TABLE) - Infos zu Join-Verfahren (z. B. Nested Loop) - Infos zu Subquery Kosteninformation (Schätzungen des Optimizers) Many million rows of explain information Plan_table als Informationsquelle (1) und Rettungsanker (2) – Informationsquelle: Welches Programm wird teuer/problematisch werden (Statistiktransfer – prod. RUNSTATS-Werte in Entwicklungsumgebung) – Rettungsanker: Rückfall auf alte BIND-/ REBIND-Stände eines DB2-Programms möglich (Nutzung der OPTHINT-Technologie) ©DATEV eG; alle Rechte vorbehalten DB2-Performanceprognose: Einführung neuer DB2-Version V9: Pathes are changing! Tab1 Tab2 V8: Abarbeitung eines Joins: zuerst Tab1 – dann Tab2 ©DATEV eG; alle Rechte vorbehalten V9: Abarbeitung eines Joins: zuerst Tab2 – dann Tab1 (dies kann 100 mal schlechter – CPU-intensiver sein) DB2-Performanceprognose – bei aktuellem Laufzeitproblem DB2-Entwickler testet SQL-Statement (siehe SQL-Text): select count(*) from TS$$004.TNST where znsveri <> ' ' Indexcolumn, 2. Spalte in einem Compound Index Toolempfehlung (Visual Explain): RUNSTATS TABLESPACE NUMIS.NUMIST03 TABLE(TS$$004.TNST) COLUMN(ZNSVERI) COLGROUP(ZNSVERI) FREQVAL COUNT 1 SORTDEVT SYSDA SORTNUM 4 SHRLEVEL CHANGE REPORT YES ©DATEV eG; alle Rechte vorbehalten DB2-Performanceprognose – eine kleine? Änderung wird empfohlen Idee bei Toolempfehlung: Häufigster Wert bzgl. Column ZNSVERI wird durch RUNSTATS ermittelt Entscheidung NON MATCHING Indexscan TABLESPACE SCAN Für vorliegende Query prima Tip! Grenzen der Toolempfehlung (Machbarkeit der Idee): 1500 DB2-Programme (statisches SQL) referenzieren die Tabelle Ein hoher Prozentsatz ( > 50 %) greift auf diese Spalte Mehr als 500 JDBC-Zugriffe referenzieren die Tabelle Umfangreiche Accesspath-Analyse zwingend erforderlich Risiko: Potentielle Zugriffspfadänderungen mit kleinen Runstats - Für JDBC-Zugriffe sofort nach RUNSTATS-Lauf - Für statisches SQL mit REBIND („Recompile“) der 1500 DB2-Programme ©DATEV eG; alle Rechte vorbehalten Neue Herausforderungen – Einführung neue Version DB2 V9 Stabilität der derzeitigen Anwendungs-Performance bei V9-Einführung sichern: Auch für JDBC Prognosen für dynamisches SQL Permanente Cache-Auswertungen Aufbau einer Performanceüberwachung für dynamisches SQL (Integration Monitor-Daten und Explain für dynamisches SQL) bereits in Entwicklung und QS Einführung/Bewertung von Neuerungen bei V9 – Hauptthema XML Abspeicherung von XML Retrieval Toolsupport Nutzenbewertung für neue/bestehende Anwendungen mit XML-Strukturen ©DATEV eG; alle Rechte vorbehalten Neue Herausforderungen – Internationalisierung technisch betrachtet ©DATEV eG; alle Rechte vorbehalten Neue Herausforderungen – Unternehmensziel erfordert langfristig Einführung UNICODE Übergang zu UNICODE: DB2 hat hier strenge Restriktionen (nicht so: Oracle oder SQL Server) Tablespaceset kennt immer nur ein Characterset (EBCDIC oder UNICODE) UNICODE -/ EBCDIC-Daten parallel? Was passiert mit bestehenden EBCDIC-Programmen? Daten-Konvertierung (wo und wie genau?) Datenverknüpfen: UNICODE und EBCDIC in einem SQL Statement ©DATEV eG; alle Rechte vorbehalten Neue Herausforderungen – Automatisierung der Performance-Überwachung/Optimierung Ausgangssituation: Teilweise hohe Kosten des DB2-Datenbankbetriebs (CPU-Pricing) Feuerwehraktionen zur Wiederherstellung der Anwendungs-Performance notwendig Gefahr: DB2-Anwendung ist nicht betreibbar Bestehende Restriktionen: Immer mehr Datenbank-Anwendungen Viele DB-Konzepte werden unterstützt DBA und Entwickler benötigen Knowhow bzgl. mehrerer DB-Systeme, geringes Personalwachstum Mögliche Lösungsansätze: Automatisierte Überwachung des Dynamic Statement Caches (Cache-Hitratios, CPU-Consumption, Parameter Marker Usage) Generierung von Empfehlungen bei Abweichungen vom „Normalzustand“ Automatisierte Accesspath-Vergleiche ©DATEV eG; alle Rechte vorbehalten WILLKOMMEN bei DATEV Personalarbeit bei DATEV Fit für den Kunden Attraktiver Arbeitgeber DATEV ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 2 1 Anspruchsniveau: Qualifikation Ihr Einstieg bei DATEV Direkteinstieg/Trainee Abschlussarbeit studentische Aushilfstätigkeit STEP Praktikum Ausbildung Ausbildungsstadium ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 3 Praktikum Einsatzbereiche, z. B.: Controlling Personalwesen Finanz- und Rechnungswesen Organisation Materialwirtschaft Weiterbildung Softwareentwicklung Systementwicklung Anwenderservice Marketing Consulting individuelle Betreuung durch Paten in der jeweiligen Fachabteilung umfangreiche Weiterbildungsmöglichkeiten wöchentliche Arbeitszeit: 40 Stunden ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 4 2 STEP STEP 2 langfristige studienbegleitende Zusammenarbeit STEP 1 Praktikum mit kleineren Projekten Dauer 2-6 Monate studienbegleitendes STEP-Programm ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 5 Studentische Aushilfstätigkeit Einsatz in einer Fachabteilung flexible Arbeitszeit (in Absprache mit Führungskraft) während des Semesters mind. 10-15, max. 20 Stunden pro Woche in den Semesterferien ist eine Vollzeit-Beschäftigung möglich (40 Stunden pro Woche) weitere Konditionen Urlaubsanspruch in Höhe von 1/12 des Jahresurlaubs (derzeit 28 Tage für jeden voll gearbeiteten Monat; Aushilfsverhältnis ab 1 Monat) VAG-Firmenabo für den öffentlichen Nahverkehr (Aushilfsverhältnis ab 6 Monaten) 13. Monatsgehalt und Urlaubsgeld (Aushilfsverhältnis ab 12 Monaten) etc. ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 6 3 Abschlussarbeit Bereiche: z. B. Controlling Finanz- und Rechnungswesen Marketing Organisation Personal/Psychologie/Pädagogik Prüfungswesen Informatik/Wirtschaftsinformatik Entwicklung www.datev.de/karriere ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 7 Personalarbeit bei DATEV 8 Direkteinstieg Einsatzbereiche: z. B. Service und Vertrieb Marketing Softwareentwicklung Systementwicklung Finanz- und Rechnungswesen Personalbereich Produktion Gebäudedienstleistungen ©DATEV eG; alle Rechte vorbehalten 4 Trainee Zielbereich Partnerbereich Außendienst Zielbereich 3 Monate 3 Monate 3 Monate 3 Monate Dauer 12 Monate parallel: Off-the-Job Maßnahmen Zielgruppe: Hochschulabsolventen (Bachelor, Diplom) mit Prädikatsabschluss und Praxiserfahrung während des Studiums Zielstelle: Linien- oder Projektfunktion in bestimmten DATEV-Bereichen ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 9 Bewerben über die digitale Bewerbungsmappe ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 10 5 Ihre Meinung, Ihre Fragen? Interessant für Sie? Was möchten Sie von uns wissen? ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 11 ©DATEV eG; alle Rechte vorbehalten Personalarbeit bei DATEV 12 6