Moderne Datenbankentwicklung Tools & Konzepte



Ähnliche Dokumente
Moderne Datenbankentwicklung

Continuous Everything

Continuous Database Design

APEX OOS TOOLS & HELFER

ITIL Prozese in APEX am Beispiel des Vodafone FCH

Datenbanken in der schönen neuen Welt

Continuous Database Integration mit Flyway

Micro Focus Unit Testing Framework in Visual COBOL 3.0. Rolf Becking 29.August 2017

Continuous Delivery in der Realität eines Großunternehmens

Wordpress Administration

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Automatisiertes Monitoring mit Icinga 2 und dem Director. Nicolai Buchwitz #Proxtalks 2018, 24. Oktober 2018

APEX Deployment u.a. mit Hudson business by integration. Oliver Lemm

Continuous Delivery mit OpenShift, 2nd Edition

Flyway vs. LiquiBase. Battle der Datenbankmigrationstools

Con guration as Code Über Ansible Ansible Grundlagen Live Demo Weitere Informationen

Migration Productstream Professional nach Autodesk Vault Mehr als eine reine Datenübernahme

Continuous Delivery mit Orcas

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

Oracle E-Business Suite Konfigurationsmanagement leicht gemacht mit dem Application Change Management Pack

Übersicht Streams nach Liste Produkte/Themen

HERZLICH WILLKOMMEN. Continuous Database Integration. Andrej Pashchenko Köln,

Continuous Delivery mit Orcas

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com

Software build (-erstellung), deployment(-verteilung) und execution(-ausführung)

Was ist professionelle APEX Entwicklung?

Ansible für Entwickler

Infrastruktur entwickeln mit Chef

CI was tut sich mit Jenkins in Sachen Test?

Build-Pipeline mit Jenkins

Datenbank-Refactoring mit LiquiBase

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

ASSC Automated SAP System Copy. Produktpräsentation

Daniel Tschan Technischer Leiter. Continuous Delivery mit OpenShift

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

BMC Discovery Schwerpunkt Security

Migration von Oracle nach EnterpriseDB

The Foreman. Felix Massem und Jan-Frederic Markert

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

PL/SQL Unit Tests mit SQL Developer

BIF/SWE 1 - Übungsbeispiel. Arthur Zaczek

Software EMEA Performance Tour Juni, Berlin

Continuous Delivery mit OpenShift

AVECTRIS DAY 2017 AVECTRIS PRIVATE CLOUD: VERKÜRZTE TIME TO MARKET PER KNOPFDRUCK

SQL Developer Unit Tests

PostgreSQL Administration

Agile Apex - Life Cycle Management. Life Cycle Management für Apex Applikationen im agilen Projektumfeld

BIF/SWE 1 - Übungsbeispiel

Automatisierte Entwickler VMs works on my machine zählt nicht mehr ;-)

TOAD und Performance Tuning

Deploy Early oder die richtigen. Zutaten für Ihren Relaunch

Oracle BI Publisher - PDF und einiges mehr

Serena Schulungsplan 2017

Frank Bültge Thomas Boley. Das WordPress-Buch. Vom Blog zum Content-Management-System

DevOps und Red Hat Openshift Eine Traumkombination SEVEN PRINCIPLES AG

CONTINOUS DELIVERY. Aber sicher?! Softwareentwicklung in der industriellen Praxis -- Dresden, Jan Dittberner

Platform as a Service (PaaS) & Containerization

Effizienter Arbeiten mit der Oracle BI Suite Kleine Helferlein

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert

v i r t u a l 7 G m b H Consulting- und Softwarepartner Unternehmergeführt 1996 gegründet 85 Mitarbeiter 1 Team aus Spezialisten W E R W I R S I N D

<Insert Picture Here> MySQL Workbench für Einsteiger

Data Dictionary for Oracle

Kompendium der Web-Programmierung

DevOps und Continuous Delivery. Von Release Automation bis zur Feedbackschleife. Matthias Zieger codecentric AG

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

ICINGA Open Source Monitoring in Web 2.0 Style

Chancen und Wachstumsfelder für PostgreSQL

MySQL Architektur die Admin-Sicht

Wie setzt Swisscom Solaris 11 ein

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

Überblick über APEX Carolin Hagemann

Rapid Deployment von OS, Virtualisierung und Applikation

DOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

CD in the box. Jan Rümenapf Matthias Zieger

Was kann man in APEX automatisieren?

Oracle Snap Management Utility Snap mir eine. Marco Schwab, DOAG 2017,

Unternehmensdokumente mit dem XML Publisher erzeugen

Continuous Integration mit GitLab CI. Christine Koppelt Philipp Haußleiter GUUG-Frühjahrsfachgespräch 1. März 2018

DBaaS mit APEX 5.1 Frontend und Oracle Multitenant Option. Hans Eichenberger, die Mobiliar Versicherungen und Vorsorge

Rapid Deployment mit JomaSoft VDCF

Einsatz von Tools. Nadjibullah Rajab Bereichsleiter OPITZ CONSULTING Gummersbach GmbH. Mannheim, Einsatz von Tools Seite 1

Oracle Data Integrator Ein Überblick

Configurable Embedded Systems

Container als Immutable Infrastructure. John M. Hutchison

Kostenoptimierte Cloud-Administration mit Solaris Container Technologie

ODA-Lösungen von H&L

ODA Erfahrungen und Neuigkeiten

Best Practices in der IT-Administration, Version Michael Prokop, am #glt18

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet

Fünf Schritte zum erfolgreichen Requirements Management

Configuration Management mit Verbosy OSDC Eric Lippmann

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Ist nur Appliance ODA schon Rechenzentrum in der Kiste?

TFS 2013 Upgrade. Thomas Trotzki - artiso AG

JOHANNES SEITZ Continuous Integration Extreme!

Oracle8 & Recovery Handbuch

Transkript:

Moderne Datenbankentwicklung Tools & Konzepte

Implementierung Coding Style Patterns Versionierung Test Monitoring Icinga / Nagios Logs Test Framework Automatisierung Moderne Software Entwicklung Deployment Continuous Integration Continuous Delivery Betrieb Dokumentation Code Doku Wiki Doku Automatisierung Infrastruktur Konfiguration Wartung Security Benutzer Sicherheitslücken

Implementierung Coding Style Patterns Versionierung Test Monitoring Icinga / Nagios Logs Test Framework Automatisierung Moderne Datenbank Entwicklung Deployment Continuous Integration Continuous Delivery Betrieb Dokumentation Code Doku Wiki Doku Automatisierung Infrastruktur Konfiguration Wartung Security Benutzer Sicherheitslücken

Bewertungskatalog Überblick über Zustand der Datenbank Ableiten von weiteren Maßnahmen Nachverfolgung & Bericht Unterteilung nach Kategorien Bewertung 0 bis 5 Punkte je Stichpunkt einer Kategorie Durchschnitt je Kategorie 5/22

Security Schema public und Rolle public Rollen Unterscheidung Entwickler, Admins und Software Gut sind Rollen für Reader, Editor, Admins und Superadmins Benutzung von (NO)INHERIT Owner von Tabellen (und anderen Objekten) pg_hba.conf vermeiden von trust md5 (und Passwort im Code & Versionskontrolle) All (databases & IP address) 6/22

Implementierung Coding Convention Einrückungen Template für Funktionen Groß/Kleinschreibung Verwendung von NULL Namen Datum statt BOOLEAN (manchmal) DB-Schema Umgang mit Schema public Verteilung DB-Objekte je Schema Trennung nach Komponenten (Export, Kunden- und Produktverwaltung usw.) ODER / UND Art der Daten (Stammdaten, OLTP, OLAP, Archivdaten usw.) 7/22

Implementierung Pattern (Konzepte) Audit-Spalten create_dt, change_dt, change_info Historisierung (Protokollierung) Konstanten (Magic Numbers/Strings) country_id = 12 'Deutschland'::Country::INT Views & Funktionen als Schnittstelle Prozesstabellen 8/22

Test Auswahl eines passenden Test-Frameworks pgtap Test von Struktur Existenz von Tabellen, Funktionen, Constraints Logik Arbeitsweise von Funktionen, Trigger, Views... Performance Ausführung auf verschiedenen Umgebungen Dev (meist local) alle Tests Test alle Tests Staging Struktur und Performance Tests Live Struktur Test Siehe Vortrag Teste die Datenbank! (letztes Jahr) 9/22

3 Rules for Database Work 1. Verwende niemals eine gemeinsame Datenbank für die Entwicklung im Team. 2. Habe immer eine einzig maßgebliche Quelle für das Schema. 3. Versioniere immer die Datenbank. Quelle: http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database-work.aspx http://www.heise.de/developer/artikel/kontinuierliche-datenbankmigration-mit-liquibase-und-flyway-1857773.html 10/22

Datenbankversionierung Versionierung von sämtlichen DB-Code Änderungsskripte während der Implementierung Nutzen eines Deployment Tools Review durch DBA / Kollegen Regelmäßiger Export der aktuellen DBStruktur Historie über die Änderung einzelner DB-Objekte Skript / Befehl für den Export in kleine Dateien? 11/22

DB Deployment Tools Liquibase Flyway Dbdeploy MigrateDB 12/22

Liquibase Supports code branching and merging Supports multiple developers Supports multiple database types Supports XML, YAML, JSON and SQL formats Supports context-dependent logic Generate Database change documentation Generate Database "diffs" Run through your build process, embedded in your application or on demand Automatically generate SQL scripts for DBA code review Quelle: http://www.liquibase.org 13/22

Deployment mit CI-Tool Entwickeln einer Deployment-Pipeline in Jenkins, Bamboo DB-Code auschecken Neue Änderungsskripe ausführen (Update) Automatisierte Tests ausführen Rollback & Update Separat für jede Umgebung (Test & Staging) automatisiert nach jedem Checkin Für LIVE wahrscheinlich eher auf Knopfdruck bzw. einzelne Schritte manuell 14/22

Monitoring - pgbadger Auswertung postgres.log Quelle: http://http://dalibo.github.io/pgbadger/samplev7.html 15/22

Monitoring - pgcluu Auswertung Systemtabellen Quelle: http://pgcluu.darold.net 16/22

Monitoring - PoWa Quelle: http://http://dalibo.github.io/powa/ 17/22

Monitoring Plugins für Nagios, Icinga, Zabbix und check_postgres New Relic Application Monitoring (java,.net, php u.a.) Weitere unter https://wiki.postgresql.org/wiki/monitoring Quelle: https://newrelic.com 18/22

Betrieb Infrastruktur Virtualisierung CPU Platten RAM Netzwerk Backup / Recovery Prozess Und wie oft getestet? Replikation Hot Standby 19/22

Betrieb DB-Version / Upgrade-Strategie Major-Versionen Minor-Versionen Konfiguration Manuell Über Puppet, Chef oder Versionierung Cronjobs (Wartung) Konfiguration Versionierung Monitoring 20/22

Dokumentation Mit welchen Tool? Zustand & Qualität (Wie aktuell?) Inhalt Struktur der Dokumentation (Chaos) DB-Modell Konzepte & Ideen Gründe & Entscheidungen 21/22

Zusammenfassung Implementierung Schema Infrastruktur Coding Convention Backup / Recovery Konzepte (audit, Konstanten etc.) Replikation Hot Standby Test Automatisiert mit pgtap Deployment Betrieb Deployment-Tool CI-Server Security User & Rollen Monitoring Log pgbadger Systemtabellen pgcluu real time PoWa Dokumentation DB-Modell Konzepte Gründe & Entscheidungen 22/22

Moderne Datenbankentwicklung