Flyway vs. LiquiBase. Battle der Datenbankmigrationstools

Ähnliche Dokumente

Continuous Database Integration mit Flyway

Datenbank-Refactoring mit LiquiBase

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

Agenda. Das Problem Das Werkzeug im Überblick Demo #1 Erweiterte Konzepte Demo #2 Praxiserfahrungen

Planung für Organisation und Technik

Continuous Delivery in der Realität eines Großunternehmens

Was kann man in APEX automatisieren?

Firmenpräsentation. Stand: Bornholdt Lee GmbH Erste Brunnenstraße Hamburg

Build. Ship. Run. Docker. Namics.

Application Lifecycle Management mit dem Oracle Developer Cloud Service

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

Moderne Datenbankentwicklung Tools & Konzepte

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5

Java Student User Group Meeting 61

Integration von heterogenen Datenbanken mit Oracle

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

Mitarbeiter-Profil Dander, Jörg Testmanager

Continuous Database Design

Kathrin Brandstetter Dipl.Inf.(FH)

Erfolgreicher Ums9eg auf Git

APEX (Hoch) Verfügbar? Ernst Leber

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Continuous Delivery mit OpenShift, 2nd Edition

THOMAS WEHRSPANN. Diplom Wirtschaftsinformatiker Scrum Master. Geburtsjahr 1978 Profil-Stand Juli 2015

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Oracle Cloud Control. Seminarunterlage. Version vom

Berater-Profil DB- und Systemadministration - Informix, Sybase - EDV-Erfahrung seit Verfügbar ab auf Anfrage.

Programmieren mit Edipse 3

Build-Pipeline mit Jenkins

Technologien: JBoss EAP5, Wildfly 9, Java EE5, JavaEE 7, Apache Maven, Jenkins CI, JIRA

Scala für Enterprise-Applikationen

Persönliche Informationen. Fähigkeiten. Ausbildung. Christian Riedel Wohnort. Name

SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis. Gunther Pippèrr GPI Consult München

Weblogic Server: Administration für Umsteiger

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Continuous Everything

Results in time. FLEXIBLER UND KOSTENGÜNSTIGER BETRIEB VON SAP SYSTEMEN. Beratung. Support. Ganzheitliche Lösungen.

Dipl. Ing. Bernd Miller Lechfeldstr Kissing Tel.: 0172/ Fax: 0721/ miller@miller-system.de

DB Transformation und Migration

Rapid Java wie mit Forms

Spring Dynamic Modules for OSGi Service Platforms

Meine Datenbank läuft auf Vmware Was sagt der Enterprise Manager dazu?

Continuous Delivery mit OpenShift

Oracle Cloud Control. Seminarunterlage. Version vom

WERIIT GmbH. Profis für Professional Service. Inhalt

PL/SQL Continuous Integration mittels Hudson Benjamin Jörger

Weblogic Server - Administration für Umsteiger

Continuous Integration (CI) Workshop

THOMAS WEHRSPANN. Diplom Wirtschaftsinformatiker Scrum Master. Geburtsjahr 1978 Profil-Stand Oktober 2016

ANG Trainer. Wir machen das. Punkt und Gut!

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

Deployment System #2. scriptable

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

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

<Insert Picture Here> Grid Control 11g und My Oracle Support Ulrike Schwinn

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

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc.

PowerDesigner Frühstück

Node.js der Alleskönner. Kai Donato MT AG Ratingen

Struts 2 Das Imperium schlägt zurück?

TOBIAS LÖNNIES. Diplom-Informatiker B.A. Politikwissenschaft. Geburtsjahr 1984 Profil-Stand Juli 2015

Virtual Unified Environments Infrastructure Service Installation und Lifecycle im Oracle Produktumfeld

Deploy von PHP-Applikationen

Neue Features Oracle Database 12.2 Wann denn endlich?

Java WebApps und Services in der Oracle Cloud

Linux-Camp: Linux als Server am Beispiel LAMP

Use AMW to deploy to OpenShift

Exposé Ing. Jörg Pöschko

Allgemeine Einführung Elisabeth Beyrle Stefan Paffhausen

Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis

GitLab als alternative Entwicklungsplattform zu Github.com

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

It's time to rethink Datenbank-Design in der schönen neuen Welt

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

McAfee Database Security. DOAG Konferenz Franz Hüll Senior Security Consultant. November 20, 2012

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

HAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz

1.1 Datenbankprogramm Oracle für MCIS MDA

Vorwort 15. Einleitung 17

Oracle Database Cloud Service

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Softwareentwicklung mit Enterprise JAVA Beans

Etablierung serviceorientierter Architekturen mit Web Services

JUG Saxony Day, Es muss nicht immer gleich Docker sein IT Automation, die zu einem passt

Installationsanleitung BalticScore 3.0

Linuxtag PostgreSQL. Community trifft auf Business. Michael. Meskes. credativ

Studium der Betriebswirtschaftslehre (Schwerpunkt Wirtschaftsinformatik) an der Universität Mannheim. Abschluss als Diplom-Kaufmann.

Berater, Analyse, Administration, Maintenance

MUSTAFA GERCEK. Bachelor of Science Wirtschaftsinformatik. Geburtsjahr 1992 Profil-Stand Oktober 2015

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

Das Wissen hat Grenzen, unsere IT-Dienstleistungen nicht.

TRANSCONNECT. TRANSCONNECT -Adapterübersicht GESCHÄFTS- ANWENDUNGEN BRANCHEN- STANDARDS KOMMUNIKATIONS- STANDARDS MIDDLEWARE 2 DATENBANK- SYSTEME

Markt Trends und Vendor Selection Matrix - x86 Datenbank-Appliances für den DACH Mittelstand 2015

Cloud-Provider im Vergleich. Markus

Transkript:

Flyway vs. LiquiBase Battle der Datenbankmigrationstools

Techn. Projektleiter Leidenschaft sind neue Technologien und Methoden Software- Architekt ISTQB, ISAQB, IREB und ITIL zertifiziert JEE SOA - Host Speaker & Autor Java seit 2002

Einleitung Funktionsweise BATTLE 1.Runde: Funktionen 2.Runde: Einbindung in bestehende Projekte 3.Runde: Integrationsmöglichkeiten 4.Runde: Inbetriebnahme und Handhabung 5.Runde: Verfügbare Plug-Ins 6.Runde: Rahmenbedingungen

http://games.on.net/2013/08/saints-row-4-steam-release-date-changes-again-now-just-says-september/

http://www.ihatecellulite.com/images/quick-fix-for-cellulite.jpg http://games.on.net/2013/08/saints-row-4-steam-release-date-changes-again-now-just-says-september/

http://www.ihatecellulite.com/images/quick-fix-for-cellulite.jpg http://www.oio.de/m/konf/diverse/continuous-database-design-jugh2015.pdf http://games.on.net/2013/08/saints-row-4-steam-release-date-changes-again-now-just-says-september/

Continuous Delivery? Kontrollierte DB-Änderungen Keine Downtime

Quellcode wird versioniert, DB-Änderungen sollten auch!

merken sich in einer von ihnen selbst verwalteten Metatabelle für jedes Schema den aktuellen Versionsstand der jeweiligen Datenbank

Integration in eigene Anwendung (Migration on startup) Oder in den Build-Prozess (Command-Line, Ant, )

Kein Datenbank- Administrator mehr notwendig

Link

Funktionen

Flyway zusätzlich: beide: LiquiBase zusätzlich: SQL Azure Oracle Sybase_Enterprise Google Cloud SQL SQL Server Sybase_Anywhere HP Vertica AWS Redshift DB2 MySQL Informix Firebird DB2 on z/os PostgreSQL SolidDB H2 Sybase ASE * Hsql SAP HANA * Derby Apache Phoenix * SQLite MariaDB

Funktion Flyway LiquiBase Migration +++ migrate +++ update Rollback - ++ rollback Schema leeren + clean Dokumentation + info + dropall ++ DBDoc

Funktion Flyway LiquiBase Vergleich zweier Datenbanken - ++ Diff Validierung + validate - Initialisierung + baseline - Wartung + repair + clearchecksums

Funktion Flyway LiquiBase Callbacks + - Vorbedingungen - + Kontexte - ++ Refactoring - ++

Flyway LiquiBase Endergebnis 9 16 Außerhalb der Wertung: Die Funktion updatesql von LiquiBase Ermöglicht, die anstehende Migration zunächst als SQL-Befehle auszugeben, z.b. zu Review- Zwecken. Ist bei Flyway nicht relevant, da Plain-SQL-Skripte verwendet werden

Einbindung in bestehende Projekte

Herausforderung Die aktuellen Datenbank-Stände nachträglich versionieren

Flyway Manuellen Abzug (DDL) der Produktion erzeugen als Version 1 Skript Per clean alle anderen Datenbanken leeren und auf Version 1 migrieren Oder manuell auf den Stand der Produktion bringen und per baseline-befehl den Stand als Version 1 setzen LiquiBase Stand der Produktion per generatechangelog als Version 1 taggen Per Diff mit anderen Umgebungen vergleichen und changelogs erzeugen changelogs als bereits gelaufen markieren bzw. für neue Läufe ausschließen

Integration bei LiquiBase durch geschickte Kombination mächtiger Funktionen deutlich vielversprechender

Integrationsmöglichkeiten

Flyway: LiquiBase: Java-API Java-API Command-Line Command-Line Maven Maven Ant Ant Gradle Spring (als Bean) SBT Servlet-Listener CDI Environment

Java-API Command-Line Ant Maven Gradle SBT Spring Servlet-Listener CDI-Environment Flyway LiquiBase

Inbetriebnahme & Handhabung

Flyway Archiv entpacken DB-Treiber inklusive Sehr einfach für neue Projekte Konfigurationsvorlage SQL-Skripte 1:1 verwendbar Aufruf mit einer Zeile in der Konsole LiquiBase Archiv entpacken DB-Treiber besorgen Konfigurationsdatei selbst anlegen SQL-Skripte anpassen bzw. changelog.xml erstellen Aufruf mit einer Zeile in der Konsole

Flyway LiquiBase Vorteile - Einfache Konfiguration, vieles wird direkt mitgeliefert - Die Einbindung in Java ist sehr einfach - Generell leicht zu erlernen und einzusetzen - Automatisches Rollback erleichtert die Handhabung im Fehlerfall Nachteile - Im Fehlerfall ist kein automatisches Rollback möglich - Viele Parameter für die Kommando-Zeile notwendig - Schwerer zu erlernen (z.b. Syntax für Changelog-Datei) - Einbindung in Java ist nicht beschrieben, nur JavaDoc steht online bereit

Verfügbare Plug-Ins

Flyway: Spring Boot & Roo, Grails, Play, DropWizard,... http://flywaydb.org/documentation/pluginsthirdparty.html LiquiBase: Hauptsächlich DB-Extensions https://liquibase.jira.com/wiki/display/contrib/liquibase+extensions+portal LiquiBase hat mehr, Flyway aber die interessanteren

Rahmenbedingungen

Community Entwicklung Dokumentation Support

1. Community LiquiBase ca. 3-4 mal so viele Contributor (189 zu 51) und Commits wie Flyway (4952 zu 1540) [Stand 08.03.16] Vorteil LiquiBase

2. Entwicklung LiquiBase deutlich mehr Tickets (auch offene) Aber auch deutlich weitere Verbreitung Releases bei beiden eher unregelmäßig Unentschieden

3. Dokumentation Flyway: alles sehr gut beschrieben, kurz aber verständlich LiquiBase: alles sehr gut beschrieben, mehr Umfang da mehr Features, Unentschieden

4. professioneller Support Flyway: ja, sogar auf deutsch LiquiBase: ja, Sprache Englisch, da Firmensitz Texas Vorteil Flyway

Community LiquiBase Entwicklung Unentschieden Dokumentation Unentschieden Support Flyway insgesamt Unentschieden

Knapper Sieg für LiquiBase, aber Entscheidung für Flyway oder LiquiBase hängt von anderen Faktoren ab: Wird im Projekt eine spezielle Datenbank verwendet, die nur ein Tool unterstützt? Will man seine bisherigen SQL-Skripte 1:1 weiterverwenden? Kann man auf Rollbacks verzichten? (z.b. durch geschickte Forward- Migrationen) Benötigt man deutschen Support? Will man seine Testdaten mit verwalten lassen? Will man diverse DBMS unterstützen? Wie groß ist das Entwicklerteam?

Unterstützung von NoSQL-Datenbanken ist noch offen Starten Sie mit einem kleinen neuen Projekt Machen Sie behutsam auf die Vorteile aufmerksam Es sind nicht nur technische Hürden zu überwinden

Noch Fragen? Artikel dazu in ObjektSpektrum 2/2015 Stephan Kaps @kitenco1 info@kitenco.de Vielen Dank an Rebecca Nöll für die Erstellung der Boxring-Grafiken

Continuous Delivery Application Lifecycle Management Social- Collaboration Schulung Coaching Training JIRA Jenkins Confluence Vorträge Artikel PoCs