Change_Management

Download Report

Transcript Change_Management

Managing Database Change with Data Modeling

Bert Scalzo, PhD [email protected]

©

2008 Quest Software, Inc. ALL RIGHTS RESERVED.

Bert Scalzo …

Database Expert & Product Architect for Quest Software

• • Oracle Background: Worked with Oracle databases for over two decades (starting with version 4) Work history includes time at both “Oracle Education” and “Oracle Consulting” • • • • Academic Background: Several Oracle Masters certifications BS, MS and PhD in Computer Science MBA (general business) Several insurance industry designations • • • • • Key Interests: Data Modeling Database Benchmarking Database Tuning & Optimization "Star Schema" Data Warehouses Oracle on Linux – and specifically: RAC on Linux • • • • Articles for: Oracle’s Technology Network (OTN) Oracle Magazine, Oracle Informant PC Week (eWeek) • • • • Articles for: Dell Power Solutions Magazine The Linux Journal www.linux.com

www.orafaq.com

2

Books by Bert …

Coming in 2009 …

Out Now … 2 nd Edition Coming Soon

3

Agenda

• Define Database Change Management • Examine Common DBA Options for Managing Database Structural Changes • Examine the World of Modeling • Why Data Modeling Often Makes Sense as the Change Management Methodology • Examples using Toad Data Modeler

Presentation Objectives

To demonstrate: • Why a change management system is essential • That database structural changes can be accomplished in many ways • How data modeling tools can be an essential part of database change management • The advantages of data modeling in change management

What is Database Change Management?

…Ensuring that the source and target databases are in sync after changes to the environment:

• • • • • Development database Test database(s) Production database Distributed databases Replicated databases

Task is harder than you may think!

Common Database Change Management Tasks

Create/Drop tables

Add/Drop table columns

Resize table columns

Add/Drop index columns

Reorder index columns

Add/Drop column constraints

Modify column constraint logic

Add/Drop table & index partitions

Add/Drop object grants and roles

Resize or Relocate database objects

• •

Change Management Can Be Tedious…

Some database sync tasks require lots extra, indirect work (depending on the Oracle server version) – Drop table columns – Resize (i.e. shorten) table columns – And a few others … Therefore, the DBA must – Be aware of all these scenarios – Write extended alteration scripts – E.G. copy table, copy data, rename, grants

Common Change Management Options

• Direct to Database • One Way DDL Scripts • One Way DDL Scripts + Version Control • Two Way DDL Scripts • Two Way DDL Scripts + Version Control • DB Schema Managers

#1: Direct to Database

OEM TOAD DBA Database SQL Plus

•Pros: •Method of least resistance (i.e. easy) •Manually alter the database directly •Often use highly visual tools like TOAD DBA and OEM •Requires no extra tools (no extra $ or learn curve) •Cons: •The database is the Master •Totally ad-hoc database mods can be problematic •Extended alters require lots manual DBA time •History of structural changes is lost

#2: One Way DDL Scripts

DDL Script Editor SQL Plus

•Pros: •An Old Timer’s favorite •Manually edit a Master DDL script •Requires no extra tools (no extra $ or learn curve) •Cons: •The DDL Script is the Master •Can forget & thus loose ad-hoc database mods •Extended alters require lots manual DBA time •History of structural changes is lost

Database

#3: One Way DDL Scripts + Version Control

DDL Script Editor SQL Plus Check-Out Source Code Control Check-In

•Pros: •Manually edit a version of Master DDL script •Requires source control tool (free on UNIX) •Addresses history shortcoming of prior method •Cons: •The DDL Script is the Master •Can forget & thus loose ad-hoc database mods •Extended alters require lots manual DBA time

Database

#4: Two Way DDL Scripts

Orig DDL Script File Diff Tool Gen DDL Script DDL Extract Tool Editor New DDL Script SQL Plus

•Pros: •Manually create DDL script based upon compare •Requires DDL extract tool (can be SQL script) •Cons: •The DDL Script is the Master •Can miss & over-ride ad-hoc database mods •Extended alters require lots manual DBA time •History of structural changes is lost

Database

#5: Two Way DDL Scripts + Version Control

Check-Out DDL Script File Diff Tool Gen DDL Script DDL Extract Tool Database Source Code Control Check-In Editor New DDL Script

•Pros: •Manually create DDL script based upon compare •Requires DDL extract tool (can be scripts) •Requires diff & source control tools (free on UNIX) •Addresses history shortcoming of prior method •Cons: •The DDL Script is the Master •Can miss & override ad-hoc database mods •Extended alters require lots manual DBA time

SQL Plus

#6: DB Schema Managers

DB Def File TOAD DBA Compare and Sync Database Deltas in Database Quest Schema Manager Compare and Sync Database

•Pros: •Automatically create DDL script or directly apply selected changes (i.e. sync) based upon compare •Requires DB comp & sync tool, but then no other tools •Addresses history shortcoming of prior methods •Extended alters as easy as any other modification •Cons: •Disconnect between data models and database

Data Modeling as a Change Management Methodology

• Works off the meta-data documenting the business requirements (i.e. the true source code so to speak) • Requires using just one tool – the data modeling tool • Eliminates having multiple steps and branch points • Sometimes picture of what’s changed is more readily apparent and understandable than the alternatives • By very nature, keeps database & its requirements in sync!

The World of Modeling …

• End-user • IT Partner/Liaison • Business Analyst

Business Process Modeling

(

BPM

) • System Architect • System Analyst • App Developer • Bus. Analyst • Data Architect • Data Analyst • DBA • DB Developer • DB Architect

Object-Oriented Modeling

(

OOM

(

CDM

- UML)

Conceptual Data Modeling

– E/R)

Physical Data Modeling

(

PDM

) • Improve process efficiency • Define/document Bus. Processes - create correct and complete application requirements • Support for all UML diagrams - Analyze requirements - Design application • Reverse/forward engineer code • Identify all data & relationships - E/R (Entity/Rel’ship) diagrams - DB independent view • Business Rules?

• DB-specific model • Reverse engineer existing DB • Create/Update DB from model • Data Warehouse Modeling

#6: Data Modeling Tools

Data Model Toad QDesigner Modeler Compare and Sync Database Deltas in Database Toad QDesigner Modeler Compare and Sync Database

•Pros: •Automatically create DDL script or directly apply selected changes (i.e. sync) based upon compare •Requires DB compare & sync tool, but then no other tools •Addresses history shortcoming of prior methods •Extended alters as easy as any other modification •No disconnect between data models and database

Handle Like Programming Code

Check-Out Developer IDE Compiler Object Code Source Code Control Check-In Linker Executable Check-Out Modeling IDE Model Repository Check-In Compare DDL Script Sync Database

Compare & Sync Combinations

• Can compare & sync – Logical to Logical – Logical to Physical – Physical to Logical – Physical to Physical – Script to Physical – Database to Physical – Database to Database – Version to Version

MOVIES Data Model

Here we go …

• • • • “Best laid plans of mice and men”  Real life is not as rigid or structured as we plan Thus even when adopting a data modeling change management approach, two way compare/sync will still be critical (need to catch exceptions to method) In following demo: – Will change some live database objects using Toad (e.g. alter table, create table, drop table) – Will change some source code or data modeling items (e.g. alter entity, create entity, drop entity) – See how modeling tool can find and fix these!

• •

Parting Thoughts

Data modeling can be an invaluable method for managing and addressing change in your DB environments There are many other issues data modeling can address: – Modeling accurate business requirements – Transforming logical into physical models – Breaking data models into sub-models – Round-trip Engineering: • Conceptual -> Physical Model compare and sync • Physical Model -> Database compare and sync – Repository-based collaborative modeling – Horizontal and Vertical Partitioning – Data Warehousing (Star Schema design) – Object-Relational Mapping

Questions and Answers …

Thank You

Presenter: Bert Scalzo: [email protected]