Top Banner
Version Control Database Development Uri Margalit DBmaestro
29

Database Version Control Development by dbMaestro

May 11, 2015

Download

Technology

dbMaestro

dbMaestro on Version Control Database Development. A discussion on App development vs. DB development, the gap between them and how to bridge that gap.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Database Version Control Development by dbMaestro

Version Control Database Development Uri Margalit

DBmaestro

Page 2: Database Version Control Development by dbMaestro

About the presenter

• Director of Products at DBmaestro• +20 years experience in enterprise management• R&D Director at Precise / VERITAS / Symantec

About DBmaestro…

Page 3: Database Version Control Development by dbMaestro

Agenda

• Yesterday, Today & Tomorrow• App development vs. DB development• Exploring the gap• Short demo• Benefits

Page 5: Database Version Control Development by dbMaestro

Yesterday – Version Control

• Version Control becomes standard de-facto• Files are Checked-Out & Checked-In to

reflect the change• All changes are documented• Ability to tag a version crossing different revisions• Ability to compare changes across the history• Know Who did What, When and Where

Page 6: Database Version Control Development by dbMaestro

Yesterday – ALM

• Application Lifecycle Management not only:• Version Control• Test Management

• Application Lifecycle Management consists of:• Requirement Management• Version Control• Change Management• Test Management• Release Management

Page 7: Database Version Control Development by dbMaestro

Today – Agile

• Adopted quickly by many organizations• Allows development teams to present working

products every couple of weeks

Page 8: Database Version Control Development by dbMaestro

Tomorrow – DevOps

• Agile already adopted quickly by many organization• Collaborate development teams and operations to

ensure highest quality deployments

“Every developer must think of the end user. Committing a piece of code is far from being done. It needs to work in all kinds of weird use cases. And it’s not only QA’s job to find all the bugs. Good developers want to ensure that the new features are not only coded, but tested and ultimately

released to their users. Only then the task is really done.” Matthias Marschall

Page 9: Database Version Control Development by dbMaestro

Poll – What do you utilize

• Which method does your organization utilize?• Application Version Control • Database Version Control• Application Lifecycle Management• Agile• DevOps

Page 10: Database Version Control Development by dbMaestro

Methods & Processes Evolution

Version ControlKeep Track of Changes

ALMLink the Change to the Reason

AgileQuick Development of Small Requirements

DevOps

High Quality & Quick Deployment of Development Products

Page 12: Database Version Control Development by dbMaestro

Poll – Database Version Control

• What is the main feature you see in database version control?• Working directly in the Oracle IDE

(required to Check-Out the object)• No need to maintain change scripts• Generating the deployment scripts• Integration with Change Management System (ALM)• Merge & Deploy automation

Page 13: Database Version Control Development by dbMaestro

One enforced process

App Development

Check-Out File

Modify File

Run Applications’

Tests

Check-In File

Page 14: Database Version Control Development by dbMaestro

DB Development – Today

Two isolated processes

Page 15: Database Version Control Development by dbMaestro

Benefits We Do NOT Have

Visibility into the Lifecycle of Releases

Concurrent Database Development

Consistent Database Environments

Meeting Release Schedules with Desired Quality

Automated Tasks

Agility in Responding to Scope Changes

Page 17: Database Version Control Development by dbMaestro

App Development

Version Control: App vs. DB

Text Based

DB Development

Knowledge of the content change is not relevant

No relationship between files

Store locally

Changes published only in Check-In

Deploy done by copy & replace previous executable

Many types of objects and syntax

Reference data has many formats

Central resource

No Change Policy Enforcement

Changes affect immediately

Deploy must preserve existing data

Page 18: Database Version Control Development by dbMaestro

One enforced process as exists in App Development

DB Development – The Future

18

Page 19: Database Version Control Development by dbMaestro

Poll – Oracle IDE

• Which Oracle IDE do you use?• Oracle SQL Developer• Oracle PL/SQL Developer• TOAD• SQL Navigator• SQL*Plus

19

Page 20: Database Version Control Development by dbMaestro

Database & Version Control

• Same Version Control Principles:

Object LockingCheck out / in for PL/SQL Code, Structure & DataBaselineTag / Label / Golden CopyCompare / MergeDeploy / Build

20

Page 21: Database Version Control Development by dbMaestro

Database & ALM

• Integration with Change Management System

Know the Reason (Why) for any changeAbility to Deploy changes by TasksBetter reports on the work for each Requirement

21

Page 22: Database Version Control Development by dbMaestro

Database & Agile

• More then just Compare & Sync• Merge Changes from several environments

Automation (web services, command line)Deploy based on Version Control Repository3-Way analysis

22

Page 23: Database Version Control Development by dbMaestro

Baseline in Deployments

23

Simple Compare & Sync 3-way Analysis & Deploy

With Baseline the unknown is now known

You do not have all the information

Page 24: Database Version Control Development by dbMaestro

DevOps Deployment

• Many small deployments deployed frequentlyGenerate on-the-fly deploy scripts3-Way Analysis – prevents wrong decisions

• Application Deployment• Copy & Replace• Error Recovery – Replace new binary,

fixed quickly• Database Deployment

• Alter objects• Error Recovery – New deploy script,

long down time

24

Page 25: Database Version Control Development by dbMaestro

Benefits - Development

• Database Change Repository• Follow SCM best practices

(Check-Out/Check-In)• All Changes are documented• Manage Who can do What, Where, When & Why

25

Page 26: Database Version Control Development by dbMaestro

Benefits - Operation

• Integrated Deployment Engine• Business Level Audit• Roles & Responsibilities Enforcement

26

Page 27: Database Version Control Development by dbMaestro

Summary

• Implement ALM, Agile & DevOps methods in database development

• Manage Who can do What, Where, When and Why• Build Safety net to reduce issues in production

27

Page 28: Database Version Control Development by dbMaestro

Q & A

Uri Margalit

[email protected]

28

Page 29: Database Version Control Development by dbMaestro

Thanks for listening