Presentation on dbMaestro TeamWork - a Database Change Management solution with the unique Database Change Policy enforcement and supports all development methods such as waterfall, agile and DevOps
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Iltam database version control
1. CONTROL.DEPLOY.PROTECT.COMPLY
Database Version Control
ILTAM – January 2013
www.dbmaestro.com
CONTROL.DEPLOY.PROTECT.COMPLY
2. Introduction
Uri Margalit:
Director of Products at dbMaestro
+20 years experience in enterprise management
R&D Director at Precise / VERITAS / Symantec
About dbMaestro
dbMaestro provides the first and only DCM (Database Change Management)
solution allowing IT organizations to improve the service provided to the
business by adopting best practices methodologies to the Database Tier.
Leveraging unique technology that enforces Change Policy and Deployment
automation, dbMaestro enables the Development & IT teams to mitigate
deployment and development risks and increase team collaboration, thus keep
availability of the main services, while increase the updates rate.
www.dbmaestro.com
CONTROL.DEPLOY.PROTECT.COMPLY
3. dbMaestro: Orchestrate Your Database
Streamline Database
Development Process
Reduce Database
Development Costs
Instill Change Policy Enforcement
Mitigate Deployment Risks
Automate Deployment Process
Reduce Deployment
cost by 95%
www.dbmaestro.com
CONTROL.DEPLOY.PROTECT.COMPLY
4. DCM
DCM – Database Change Management
Part of ALM (Application Lifecycle Management)
solutions
www.dbmaestro.com 4
CONTROL.DEPLOY.PROTECT.COMPLY
5. Risks of not Having a DCM
Lack of Visibility into the Lifecycle of Releases
Problems with Concurrent Database Development
Inconsistent Database Environments
Little or No Capability for Automated Tasks
Meeting Release Schedules with Desired Quality
Less Agility in Responding to Scope Changes
www.dbmaestro.com 5
CONTROL.DEPLOY.PROTECT.COMPLY
6. Version Control Concepts
Structure of repository & gained functionality
File based
Separation of Working
environment and repository
File Locking
Check out / in
Baseline
Tag / Label
Head / Latest
Rollback
Compare / Merge
Deploy / Build
www.dbmaestro.com 6
CONTROL.DEPLOY.PROTECT.COMPLY
7. SCM Concepts in the database world
Traditional SCM concept doesn’t fit the Database
world…
A database is not a collection of files
DDL (Data Definition Language)
DML (Data Manipulation Language)
DDL extraction
No debug environment
Content ?
Database duplication – constant synchronization
www.dbmaestro.com 7
CONTROL.DEPLOY.PROTECT.COMPLY
8. SCM Concepts in the database world
Moving changes…
Development to QA, integration and production
Code – simple file copy & registration
DB objects cant just be “moved” – content…
What do we do with db content changes ?
So the whole thing was neglected for years...
Manual process where created to deal with
real life situations
www.dbmaestro.com 8
CONTROL.DEPLOY.PROTECT.COMPLY
9. Without DCM - Two Isolated Processes
Version Control Process Development Process
Check-Out
Script
Compile
Check-In
Modify Script Debug Script
Script Script
in DB
in DB
Get updated
Script from DB
www.dbmaestro.com 9
CONTROL.DEPLOY.PROTECT.COMPLY
10. ALM without DCM
Business
Conflict code Automated Continuous
SCM Native Code Req.
Resolver Deployment Integration
Integration
File Based Change Merge Agile Any Change
Version Management Code Tested Over
Control: Systems Night
Quick
Java, .NET,
Iterations
C#, C++
Correlate
Change with
Reduce
Activity
Overhead
Increase
Team
Satisfaction
www.dbmaestro.com 10
CONTROL.DEPLOY.PROTECT.COMPLY
11. With DCM - One Enforced Process
Development & Version Control Process
Check-Out
Object
Check-In Modify Object
Object in DB
Run
Applications’
Tests
www.dbmaestro.com 11
CONTROL.DEPLOY.PROTECT.COMPLY
12. ALM with DCM
DCM Business
Conflict code Automated Continuous
SCM Native Code Database Req.
Resolver Deployment Integration
Code Integration
File Based Database Change Merge Agile Any Change
Version Version Management Code Tested Over
Control: Control Systems Night
Quick
Java, .NET,
Merge Iterations
C#, C++
Change Correlate Database
Policy Change with Changes
Reduce
Activity
Overhead
Automatic
Deployment
Increase
Script
Team
Satisfaction
www.dbmaestro.com 12
CONTROL.DEPLOY.PROTECT.COMPLY
13. Benefits - Development
Database Changes Repository
Following SCM methods (Check-Out/Check-In)
All Changes are documented
Control Who can do What, Where, When & Why
www.dbmaestro.com 13
CONTROL.DEPLOY.PROTECT.COMPLY
21. Baseline in Deployments
Source vs. Action Source vs. Target vs. Action
Target Baseline Baseline
= No Action = = No Action
≠ = Override
≠
? =
≠
≠
≠
Ignore
Merge
You do not have all With Baseline the
the information unknown
is now known
www.dbmaestro.com 21
CONTROL.DEPLOY.PROTECT.COMPLY
22. Summary
Build a good Safety Net
Reduce Deployment issues
Control Your Database Development
Know Who did What, Where, When and Why
Automate Deployments
www.dbmaestro.com 22
CONTROL.DEPLOY.PROTECT.COMPLY
23. Thank You
Thank you for your time
Uri Margalit
urim@dbmaestro.com
www.dbmaestro.com 23
CONTROL.DEPLOY.PROTECT.COMPLY