SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbHSICSone GmbH © 2014 SICSone GmbH
Database Change Management
Dominik Hirt
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
IUG Workshop 25.03.2014
Informix Datenbankserver
der Gegenwart und
Zukunft ?
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
IUG Workshop 25.03.2014
Informix Datenbankserver
der Gegenwart und
Zukunft ?
„Prognosen sind schwierig, vor allem wenn
sie die Zukunft betreffen“ Niels Bohr u.a.
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
IUG Workshop 25.03.2014
Informix Datenbankserver
der Gegenwart und
Zukunft ?
Agile / Inkrementelle/ Iterative
Software Entwicklung
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
IUG Workshop 25.03.2014
Inhalt
!  Ziele eines Database Change Managements
!  Unterschiede Change Management
SourceCode vs. DB
!  Spezifika Enterprise Java
!  Eine mögliche Lösung
!  Diskussion
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
IUG Workshop 25.03.2014
Ziele
!  Inkrementelle Änderungen an SourceCode
und Datenbank Schema
! SourceCode und Datenbank Schema
müssen zueinander passen
!  Benutzung von beliebigen Ständen
aus der Vergangenheit
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management I
Editor / IDE
Unit Test
SVN / Git
Continuous
Integration
Continuous
Delivery
Integration
Test Agile
Iteration
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management I
!  Vorteile
!   De-Facto Standard in Agilen Teams / Prozesse
!   Hohe Flexibilität
!   Entwickler sind unabhängig voneinander, inbesondere mit dezentralen SCM (Git)
!   Source Code Änderungen immer inkrementell
!  Feature Driven Development
!   Viele kleine Wasserfälle
!   Pro Feature eine Iteration durchlaufen
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
Editor SQLTool DB
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
DBApplikation
Impedance Mismatch 1
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
DB 1Testsystem 1
DB 2Testsystem 2
DB 3Testsystem 3
Mismatch 2
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
DB 1Trunk
DB 2Branch 1.x
DB 3Branch 2.x
Migration ?
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Anforderungen
!  Inkrementelle Änderungen von DB Schema (und Daten)
verwalten
!  Integrität von Migrationen
!   Nach commit ins SCM
!  Verhindern von parallelen Migrationen
!  Rollback
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Enterprise Java
!  Einbindung in Buildprozess (Maven / Ant / Gradle)
!  JDBC ready
!  Support für JEE Frameworks (Spring / Hibernate)
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Eine Lösung
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Eine Lösung
<xml/>
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Eine Lösung
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
ChangeSet Liquibase
DB
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Liquibase
! Structural Refactorings
!   Add Column, Rename Column, Modify Column, Drop Column, Alter Sequence,
Create Table, Rename Table, Drop Table, Create View, Rename View, Drop
View, Merge Columns, Create Stored Procedure
!  Data Quality Refactorings
!   Add Lookup Table, Add Not-Null Constraint, Remove Not-Null Constraint, Add
Unique Constraint, Drop Unique Constraint, Create Sequence, Drop Sequence,
Add Auto-Increment, Add Default Value, Drop Default Value
! Referential Integrity Refactorings
!   Add Foreign Key Constraint, Drop Foreign Key, Constraint, Drop All Foreign Key
Constraints, Add Primary Key Constraint, Drop Primary Key Constraint
!  Non-Refactoring Transformations
!   Insert Data, Load Data, Load Update Data, Update Data, Delete Data, Tag
Database
!  Custom Refactorings
! Modifying Generated SQL, Custom SQL, Custom SQL File, Custom Refactoring
Class, Execute Shell Command
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Erweiterbar / Sicherheit
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
#epicfail
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Lösung
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Lösung
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Alternativen
! Flyway
!  Autopatch @ GitHub
! MyBatis Migrations
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
ChangeSet UnitTest Commit SCM
Continuous
Integration
DB 1 DB 2
Continuous
Deployment
Integration
Tests
DB 3
Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH
Change Management II
Agile
Iteration

Más contenido relacionado

Similar a Database Change Management

Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cIleana Somesan
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Website Speed mit CDN
Website Speed mit CDNWebsite Speed mit CDN
Website Speed mit CDNMariano Glas
 
Make your IBM connections deployment your own - customize it
Make your IBM connections deployment your own - customize itMake your IBM connections deployment your own - customize it
Make your IBM connections deployment your own - customize itBelsoft
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseBenjamin Schmid
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaOPEN KNOWLEDGE GmbH
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Trivadis
 
GWAVACon - Vibe: Collaboration leicht gemacht
GWAVACon - Vibe: Collaboration leicht gemachtGWAVACon - Vibe: Collaboration leicht gemacht
GWAVACon - Vibe: Collaboration leicht gemachtGWAVA
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeNico Steiner
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...comspace GmbH & Co. KG
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsacentrix GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDevDay Dresden
 
DOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFDOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFUlrich Gerkmann-Bartels
 
Aras Reporting PLM Software
Aras Reporting PLM SoftwareAras Reporting PLM Software
Aras Reporting PLM SoftwareAras
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 

Similar a Database Change Management (20)

Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12c
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Website Speed mit CDN
Website Speed mit CDNWebsite Speed mit CDN
Website Speed mit CDN
 
Make your IBM connections deployment your own - customize it
Make your IBM connections deployment your own - customize itMake your IBM connections deployment your own - customize it
Make your IBM connections deployment your own - customize it
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBase
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
 
GWAVACon - Vibe: Collaboration leicht gemacht
GWAVACon - Vibe: Collaboration leicht gemachtGWAVACon - Vibe: Collaboration leicht gemacht
GWAVACon - Vibe: Collaboration leicht gemacht
 
Infrastructure Solution Day | Core
Infrastructure Solution Day | CoreInfrastructure Solution Day | Core
Infrastructure Solution Day | Core
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 Bestellsysteme
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
 
What's new in sql server 2012
What's new in sql server 2012What's new in sql server 2012
What's new in sql server 2012
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
DOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFDOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADF
 
Aras Reporting PLM Software
Aras Reporting PLM SoftwareAras Reporting PLM Software
Aras Reporting PLM Software
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 

Database Change Management

  • 1. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbHSICSone GmbH © 2014 SICSone GmbH Database Change Management Dominik Hirt
  • 2. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ?
  • 3. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ? „Prognosen sind schwierig, vor allem wenn sie die Zukunft betreffen“ Niels Bohr u.a.
  • 4. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Informix Datenbankserver der Gegenwart und Zukunft ? Agile / Inkrementelle/ Iterative Software Entwicklung
  • 5. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Inhalt !  Ziele eines Database Change Managements !  Unterschiede Change Management SourceCode vs. DB !  Spezifika Enterprise Java !  Eine mögliche Lösung !  Diskussion
  • 6. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH IUG Workshop 25.03.2014 Ziele !  Inkrementelle Änderungen an SourceCode und Datenbank Schema ! SourceCode und Datenbank Schema müssen zueinander passen !  Benutzung von beliebigen Ständen aus der Vergangenheit
  • 7. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management I Editor / IDE Unit Test SVN / Git Continuous Integration Continuous Delivery Integration Test Agile Iteration
  • 8. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management I !  Vorteile !   De-Facto Standard in Agilen Teams / Prozesse !   Hohe Flexibilität !   Entwickler sind unabhängig voneinander, inbesondere mit dezentralen SCM (Git) !   Source Code Änderungen immer inkrementell !  Feature Driven Development !   Viele kleine Wasserfälle !   Pro Feature eine Iteration durchlaufen
  • 9. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II Editor SQLTool DB
  • 10. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DBApplikation Impedance Mismatch 1
  • 11. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DB 1Testsystem 1 DB 2Testsystem 2 DB 3Testsystem 3 Mismatch 2
  • 12. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II DB 1Trunk DB 2Branch 1.x DB 3Branch 2.x Migration ?
  • 13. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Anforderungen !  Inkrementelle Änderungen von DB Schema (und Daten) verwalten !  Integrität von Migrationen !   Nach commit ins SCM !  Verhindern von parallelen Migrationen !  Rollback
  • 14. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Enterprise Java !  Einbindung in Buildprozess (Maven / Ant / Gradle) !  JDBC ready !  Support für JEE Frameworks (Spring / Hibernate)
  • 15. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung
  • 16. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung <xml/>
  • 17. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Eine Lösung
  • 18. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II ChangeSet Liquibase DB
  • 19. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Liquibase ! Structural Refactorings !   Add Column, Rename Column, Modify Column, Drop Column, Alter Sequence, Create Table, Rename Table, Drop Table, Create View, Rename View, Drop View, Merge Columns, Create Stored Procedure !  Data Quality Refactorings !   Add Lookup Table, Add Not-Null Constraint, Remove Not-Null Constraint, Add Unique Constraint, Drop Unique Constraint, Create Sequence, Drop Sequence, Add Auto-Increment, Add Default Value, Drop Default Value ! Referential Integrity Refactorings !   Add Foreign Key Constraint, Drop Foreign Key, Constraint, Drop All Foreign Key Constraints, Add Primary Key Constraint, Drop Primary Key Constraint !  Non-Refactoring Transformations !   Insert Data, Load Data, Load Update Data, Update Data, Delete Data, Tag Database !  Custom Refactorings ! Modifying Generated SQL, Custom SQL, Custom SQL File, Custom Refactoring Class, Execute Shell Command
  • 20. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Erweiterbar / Sicherheit
  • 21. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH #epicfail
  • 22. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Lösung
  • 23. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Lösung
  • 24. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Alternativen ! Flyway !  Autopatch @ GitHub ! MyBatis Migrations
  • 25. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II ChangeSet UnitTest Commit SCM Continuous Integration DB 1 DB 2 Continuous Deployment Integration Tests DB 3
  • 26. Copyright © SIC 2012SICSone GmbH © 2014 SICSone GmbH Change Management II Agile Iteration