SlideShare a Scribd company logo
Ringing the Changes for Change
Management
Philip Rathle and Scott Walz


          Originally published in ISUG Technical Journal, November/December 2007
          www.isug.com




Corporate Headquarters            EMEA Headquarters            Asia-Pacific Headquarters
100 California Street, 12th Floor York House                   Level 9, 390 St Kilda Road
San Francisco, California 94111 18 York Road                   Melbourne VIC 3004
                                  Maidenhead, Berkshire        Australia
                                  SL6 1SF, United Kingdom
Ringing the changes for
                                        change management
                                        By Philip Rathle and Scott Walz




As modern database change                       s mature and pervasive as Sybase

management techniques for               A       ASE has become, nowhere does
                                                there appear to have emerged a uni-
                                        versally-accepted system or standard that
                                                                                        DBA’s sit at the center of a

the Sybase DBA become more              addresses the problem of database change        complex dance that touches
                                        management in an holistic fashion. DBA’s
sophisticated, there is an inherent     sit at the center of a complex dance that       many participants: data modelers,
                                        touches many participants: data modelers,
need for practitioners to be aware      database developers, architects, business       database developers, architects,
                                        analysts, software developers and more.
of the increasingly powerful tools           At any given time, each database is        business analysts, software
                                        physically instantiated across a number of
available to them. Philip Rathle        different environments, each of which may       developers and more.
                                        contain any one of several versions of the
and Scott Walz of Embarcadero           same database. Furthermore, the design
                                        of a particular database is typically stored
rifle through their DBA toolkit and     across a variety of locations and a multi-      The good news is that there is some new
                                        plicity of tools, which may include a data      hope for this old issue. The emergence of
sharpen up a few blades for us.         modeling tool, a SQL development tool,          a powerful new breed of database change
                                        a database administration tool, a database      management tools has breathed some new
                                        change management tool and so on.               life into this space and will begin yielding
                                                                                        some relief. While tools can never of
                                          Shepherding the stream                        themselves be silver bullets for complicat-
                                          Accurately shepherding the stream of          ed process problems, their adoption is
                                          functional and technology change across       an important element not just in the
Philip Rathle brings over ten years of    all of these physical environments and        solution, but in instigating change.
experience with mission critical systems design layer components can be a tremen-            Today’s enterprises are so large and
in the areas of customer data manage-     dous challenge. Oftentimes, the database      complex that one cannot hope to climb
ment, data warehousing, marketing and change process has been (rightly or               out of today’s convoluted database change
campaign management and online oper- wrongly) patterned after the software              management ruts without new and power-
ational data management to his role as    change management process. This invari-       ful functionality aimed specifically at this
Principal Consultant at Embarcadero.      ably leaves gaps, which DBA’s usually fill    problem. Database change management
                                          with manual and ad hoc workarounds.           tools, and the techniques they enable, play
Scott Walz is a Senior Product Manager The job gets done, however the process           an important role not merely in coordinat-
at Embarcadero Technologies, he over- for achieving it is generally not optimal         ing the overall change management
sees the direction of the company's data- for the specifics of database applications.   process, but in unwinding and assessing
base development products as well as      Moreover, it often comes at a cost of a       the current state of affairs so that it can
database research and development for     gradually diverging design layer, as this     make the leap forward.
the engineering departments. He can be layer lies for the most part outside of the           Some of the key difficulties in manag-
reached at scott.walz@embarcadero.com DBA’s purview.                                    ing database change are:

28    ISUG TECHNICAL JOURNAL
R I N G I N G    T H E   C H A N G E S   F O R   C H A N G E    M A N A G E M E N T




◆   the need to preserve data when making a structural change       This is a testament to the real lack of visibility which this
◆   the need to maintain separate storage settings for objects      important issue suffers.
    across environments–even when the structures are                     Part of the problem is that very few organizations look at




                                                                                                                                         D ATA M A N A G E M E N T
    themselves identical                                            “Database Change Management” as a single unified process.
◆   security differences between environments, reflected in         It is assumed that database change management is a natural
    users, roles and object permissions                             outcome, at the juncture of database management, software
◆   shared responsibility for certain types of objects, for         configuration management, and data modeling. The first step
    example stored procedures, which are code artifacts and         in developing a robust database change management solution
    at the same time database artifacts and may be “owned”          is to recognize it as a standalone process or discipline, with its
    either by the DBA or the database developer, depending          own peculiarities that make it quite different from software
    on the organization and on the target environment               change management.
◆   the need to keep physical and logical models in sync with            One must then ask the question, “What is database
    the database (which can itself have cascading impacts)          change management?” We believe that the question should
◆   the need to manage and (increasingly) report on differ-         consider not just structures, but also settings and data. These
    ences between database settings over time within a              are the three primary factors that come together to make a
    database                                                        clean database build and which determine not merely the
◆   the need to manage and maintain different sets of               structural and data accuracy, but also the performance and
    database settings across different database environments        security characteristics of a database.
◆   the need to validate the synchronicity of data in a
    replicated environment by comparing data between
    primary and replicated tables
◆   the need to manage reference data as one of the compo-
    nents necessary for a database build, complicated by the
    fact that reference data can be represented as table data or
    as check constraints, and is often shared across loosely-
    related databases
◆   the need to support multiple versions of a database
    concurrently, to support parallel branches of development       Figure 1
◆   the need to accommodate multiple paths by which change
    may be effected. For example, emergency changes in the          Database design layer
    middle of the night that will nearly always be made by          It is important that the business case for modernizing one’s
    executing a DDL directly against the database and not           strategy for Database Change Management, as well as the
    through a change management framework (let alone a              strategy itself, include the database design layer in addition
    data modeling tool!) Yet these changes ultimately need          to the physical implementation. For the design layer (in the
    to be reflected in all of these places.                         form of a data model, or stored procedure constructs) is not
                                                                    merely a precursor to a physical database implementation,
Documentation duties                                                but it is also used for software design, impact analysis, and
If it weren’t enough to get the right structure of data into        publishing of metadata to a variety of applications (include
the right place with as little downtime as possible, what is        ETL, SOA, OLAP, etc.) Therefore it is crucial that the scope
becoming equally crucial for DBA’s is documenting what              of the overall database change management include the
happened, when, and by whom.                                        database design and not just the database. The business case
     These challenges are well understood by database               to improve the status quo rests on several propositions.
professionals, who deal with them on a day-to-day basis.                 The first is efficiency: to diminish the high level of
However they tend not to be fully appreciated by those who          manual effort associated with managing database change.
are not so closely associated with the technology. Solutions             The next is accuracy: being able to state with confidence
to these problems tend to diverge widely from organization          what objects, settings and data are in what environment at
to organization and to rely heavily on manual processes.            any given time and how a change to one impacts the others.


                                                                                       NOVEMBER-DECEMBER 2007                      29
R I N G I N G   T H E   C H A N G E S   F O R   C H A N G E   M A N A G E M E N T




                                                                    Being able to compare between a collection and a live
                                                                    database is an important requirement, which builds upon the
The first core requirement of a database change                     “collection” concept, as is the ability to compare between
                                                                    collections (and also between live databases). In a Sybase
management solution is the ability to capture the                   replication environment, the ability to compare the multiple
                                                                    databases is the cornerstone to ensuring database integrity.
objects and associated properties of a database                     Comparison operations should be flexible however, in order
                                                                    to pinpoint problems, and ensure efficiency. It should be
into “collections”, each with its corresponding                     possible to narrow the scope of a particular comparison
                                                                    operation horizontally – by selecting what objects are
intersection in space and time.                                     included in the comparison – and vertically – by selecting
                                                                    what object characteristics are being subject to comparison.

Finally there is audit trail: being able to say what a database     Foundational steps
looked like yesterday, the day before, or a month ago. All          Identifying differences and generating reports is another foun-
three will result in direct and indirect cost savings through       dational step. This can to a certain degree be accomplished
improved efficiency and accuracy. The last two however can          with software change management tools, where archived
also be justified by regulatory compliance.                         DDL files are “diffed” against one another. The database
    Now that we have defined the problem space, we can              change management tool takes this two steps further however:
begin to look at some of the characteristics of the solution.       first it can reverse engineer what is currently inside of live
The easiest starting point (easy because it tends not to differ     database, versus merely comparing between archived DDL
so much across organizations… it is the processes themselves        files. However it also offers the ability to generate an alter
which are very organization dependent) is to discuss what           script to implement the change, saving a great deal of manual
possibilities exist out of the box for supporting your database     effort when implementing change.
change management program. This should equip you with the                Modern database change management tools should be
tools you need to begin revisiting and improving your processes.    able to generate reliable, syntactically-accurate and properly-
    The first core requirement of a database change manage-         ordered SQL to bring the desired components in line with
ment solution is the ability to capture the objects and associat-   the comparison target. It should also be able to preserve any
ed properties of a database into “collections”, each with its       existing data and structures, regardless of whether a table
corresponding intersection in space and time. Again, this           must be dropped and recreated and preserve dependent
should include not merely schema objects, but also server and       objects, referential integrity, grants, etc., and recompile
database specific configuration settings. In the screen capture     any dependent objects.
below can be seen a sample collection, which for the sake of
example includes just tables and indexes on a Sybase 15 server:




Figure 2                                                            Figure 3


30    ISUG TECHNICAL JOURNAL
R I N G I N G    T H E   C H A N G E S   F O R   C H A N G E   M A N A G E M E N T




    Figure 3 is an example where a column, EMAIL_                       Below is an example of a data compare, of two databases
ADDRESS, has been added to the same Sybase 15 table as              residing on different servers. Here, the production database
above, with the archive DDL to the left, the modified table         (12.5.4) is running in parallel alongside a cut-over database




                                                                                                                                       D ATA M A N A G E M E N T
to the right and an alter script below.                             (Sybase 15), until the system is ready to be cut completely
    Database settings should be dealt with in a similar fashion,    over to Sybase 15. The scope of the compare is a single table.
however with settings, it can be useful to have a specialized       The results show that five of the rows did not match:
type of archive (called a “standard”) that serves as a baseline
or template against which various classifications of systems
should be measured.
    Below is an example of a comparison between a standard
settings template for a development database, and the actual
settings for one of the development databases, with differ-
ences highlighted:                                                  Figure 5

                                                                    Drilling down, one can see which specific rows did not match,
                                                                    and bring them into sync by selecting the rows of data to be
                                                                    carried over, at which point update, insert, and/or delete
                                                                    statements will be generated, as appropriate:




Figure 4
                                                                    Figure 6
If the management of structural change within a database is
likened to maintaining a building’s physical structure, the         The technologies described above, available in today’s state-
management of data change is that which ensure that all of          of-the-art database change management tools, elevate the
the fixtures are in the right place so as to meet the needs of      game significantly from common homegrown approaches,
the occupants. Data change management is the process by             such as managing DDL within directory trees, using software
which one may compare and verify data: within the same              source control to manage database structures, or considering
database, between databases, or even across different               the database or backup to be the “master copy”.
database versions or platforms.                                         Equipping oneself with a robust set of tools is an impor-
                                                                    tant step in developing a modern and effective database
Incomparable data compares                                          change management solution. Also of great importance is an
In organizations where reference data is used across databases,     unambiguous change process, which considers the various
data compares can prove invaluable. Though the structure of         origination points of change, changes in responsibility for
the tax_rate table, for example, may be identical, a difference     various object types across the project/database lifecycle,
in data could lead to serious problems. In replication shops,       standards around tool usage and considers the design layer in
the ability to compare sub-sets of the entire dataset provides      addition to the physical implementation. With a clear vision,
a means to validate the replication jobs. As with structural        and judicious use of process and technology, it is possible to
comparisons, the ability to limit the scope of an operation         craft a robust and systematic solution for managing database
to particular set of tables, as well as a particular set of         change across one’s enterprise, yielding significant benefits
columns within the tables, is important to productivity             in a very short time. ■
and performance.                                                    www.embarcadero.com


                                                                                       NOVEMBER-DECEMBER 2007                    31

More Related Content

DOC
Resume Timothy White 2010 Tech
PDF
Database Change Management | Change Manager from Embarcadero Technologies
PDF
Delphix informatica-case-study
PDF
Database Comparison & Synch | Change Manager Success Story
PDF
Ten Ways For DBA's To Save Time
DOCX
New Microsoft Office WordDatabase administration and automation Document (2)
DOC
Resume Timothy White It Leader
PDF
DB2 Performance Tuning Z/OS - email me please for more details
Resume Timothy White 2010 Tech
Database Change Management | Change Manager from Embarcadero Technologies
Delphix informatica-case-study
Database Comparison & Synch | Change Manager Success Story
Ten Ways For DBA's To Save Time
New Microsoft Office WordDatabase administration and automation Document (2)
Resume Timothy White It Leader
DB2 Performance Tuning Z/OS - email me please for more details

What's hot (19)

PDF
Performance Optimization | Helping DBAs Extend the IT Infrastructure
PPT
Data & database administration hoffer
PDF
Innovative Solutions White Paper
PDF
Establishing A Robust Data Migration Methodology - White Paper
PDF
f5-reference-architecture-for-vmware-nsx
PDF
Take the easy path to improve performance and lower database costs
PDF
ETIS11 - Agile Business Intelligence - Presentation
PDF
Riverbed corporate brochure
PDF
Joe Honan Virtualization Trends
PDF
IBM zEnterprise System Brings Hybrid Computing Capabilities to Midsize Organi...
DOCX
EIM Tutorial
DOCX
sdonellan2016
PDF
Optimizing Your Database Performance | Embarcadero Technologies
PDF
Managing Complexity in the x86 Data Center: The User Experience
PDF
White Paper: Identifying Problem Files during Upgrade
PPTX
Solving Shared Drives: 10 Tips for Cleaning Up, Organizing, and Migrating Con...
PDF
An architacture for modular datacenter
PPT
DOC
An Architecture for Modular Data Centers
Performance Optimization | Helping DBAs Extend the IT Infrastructure
Data & database administration hoffer
Innovative Solutions White Paper
Establishing A Robust Data Migration Methodology - White Paper
f5-reference-architecture-for-vmware-nsx
Take the easy path to improve performance and lower database costs
ETIS11 - Agile Business Intelligence - Presentation
Riverbed corporate brochure
Joe Honan Virtualization Trends
IBM zEnterprise System Brings Hybrid Computing Capabilities to Midsize Organi...
EIM Tutorial
sdonellan2016
Optimizing Your Database Performance | Embarcadero Technologies
Managing Complexity in the x86 Data Center: The User Experience
White Paper: Identifying Problem Files during Upgrade
Solving Shared Drives: 10 Tips for Cleaning Up, Organizing, and Migrating Con...
An architacture for modular datacenter
An Architecture for Modular Data Centers
Ad

Viewers also liked (20)

PDF
Installing AsyncPro into Delphi XE and C++Builder XE
PPTX
Seminario 2
PDF
Jn wp wpd2012
PPT
Consejeria
PPTX
Gbi
PDF
Green Data Center Conference & Exhibition | San Diego, CA
PPSX
Aula virtual
PDF
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
PDF
Curso Querétaro "Gasto Público con mayor calidad"
PPTX
Macreate 2
PPTX
Tarea educación filandesa y ecuatoriana
PDF
Curso Distrito Federal "Política 2.0: gobierno, partidos y sociedad"
PPTX
Sledding fun 8
PDF
Hackathon - UnB
PDF
Ponencia Patent Box
DOC
Penelitian
DOCX
Reseña corregida
PPTX
Tecnologia y guerra
PDF
Parte 01 e 02 introdução - mídias digitais e redes sociais - 24.11.2012 (ve...
Installing AsyncPro into Delphi XE and C++Builder XE
Seminario 2
Jn wp wpd2012
Consejeria
Gbi
Green Data Center Conference & Exhibition | San Diego, CA
Aula virtual
Curso "Transparencia" Paraiso, Tabasco 18 y 19 de julio
Curso Querétaro "Gasto Público con mayor calidad"
Macreate 2
Tarea educación filandesa y ecuatoriana
Curso Distrito Federal "Política 2.0: gobierno, partidos y sociedad"
Sledding fun 8
Hackathon - UnB
Ponencia Patent Box
Penelitian
Reseña corregida
Tecnologia y guerra
Parte 01 e 02 introdução - mídias digitais e redes sociais - 24.11.2012 (ve...
Ad

Similar to Ringing the Changes for Change Management (20)

PDF
Ten Ways For DBA's To Save Time
PDF
Data warehousing change in a challenging environment
PDF
A beginners guide to Cloudera Hadoop
PPTX
Module-1.pptx63.pptx
PPTX
Nosql-Module 1 PPT.pptx
PDF
Challenges Management and Opportunities of Cloud DBA
PDF
DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...
PDF
Optimizing Your Database Performance | Embarcadero Technologies
PDF
Introduction to DBMS.pdf
DOC
Data processing in Industrial Systems course notes after week 5
PPTX
Current trends in dbms
PDF
The High Performance DBA Optimizing Databases For High Performance
PPTX
DATABASE ADMINSTRATION
PDF
oracle-adw-melts snowflake-report.pdf
DOCX
Report 1.0.docx
PDF
What is Database Management.pdf
PPTX
Database administrator
PDF
DBA on the Cloud – Is this the Present and the Future!
PDF
DBTA Case Study on Data Optimization | September 2008
Ten Ways For DBA's To Save Time
Data warehousing change in a challenging environment
A beginners guide to Cloudera Hadoop
Module-1.pptx63.pptx
Nosql-Module 1 PPT.pptx
Challenges Management and Opportunities of Cloud DBA
DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...
Optimizing Your Database Performance | Embarcadero Technologies
Introduction to DBMS.pdf
Data processing in Industrial Systems course notes after week 5
Current trends in dbms
The High Performance DBA Optimizing Databases For High Performance
DATABASE ADMINSTRATION
oracle-adw-melts snowflake-report.pdf
Report 1.0.docx
What is Database Management.pdf
Database administrator
DBA on the Cloud – Is this the Present and the Future!
DBTA Case Study on Data Optimization | September 2008

More from Embarcadero Technologies (20)

PDF
PyTorch for Delphi - Python Data Sciences Libraries.pdf
PDF
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
PDF
Linux GUI Applications on Windows Subsystem for Linux
PDF
Python on Android with Delphi FMX - The Cross Platform GUI Framework
PDF
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
PDF
FMXLinux Introduction - Delphi's FireMonkey for Linux
PDF
Python for Delphi Developers - Part 2
PPTX
Python for Delphi Developers - Part 1 Introduction
PDF
RAD Industrial Automation, Labs, and Instrumentation
PDF
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
PDF
Rad Server Industry Template - Connected Nurses Station - Setup Document
PPTX
TMS Google Mapping Components
PDF
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
PPTX
Useful C++ Features You Should be Using
PPTX
Getting Started Building Mobile Applications for iOS and Android
PPTX
Embarcadero RAD server Launch Webinar
PPTX
ER/Studio 2016: Build a Business-Driven Data Architecture
PPTX
The Secrets of SQL Server: Database Worst Practices
PDF
Driving Business Value Through Agile Data Assets
PDF
Troubleshooting Plan Changes with Query Store in SQL Server 2016
PyTorch for Delphi - Python Data Sciences Libraries.pdf
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Linux GUI Applications on Windows Subsystem for Linux
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
FMXLinux Introduction - Delphi's FireMonkey for Linux
Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 1 Introduction
RAD Industrial Automation, Labs, and Instrumentation
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Rad Server Industry Template - Connected Nurses Station - Setup Document
TMS Google Mapping Components
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Useful C++ Features You Should be Using
Getting Started Building Mobile Applications for iOS and Android
Embarcadero RAD server Launch Webinar
ER/Studio 2016: Build a Business-Driven Data Architecture
The Secrets of SQL Server: Database Worst Practices
Driving Business Value Through Agile Data Assets
Troubleshooting Plan Changes with Query Store in SQL Server 2016

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
cuic standard and advanced reporting.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Tartificialntelligence_presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
Accuracy of neural networks in brain wave diagnosis of schizophrenia
MYSQL Presentation for SQL database connectivity
Group 1 Presentation -Planning and Decision Making .pptx
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
cuic standard and advanced reporting.pdf
Machine Learning_overview_presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
1. Introduction to Computer Programming.pptx
Tartificialntelligence_presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation_ Review paper, used for researhc scholars
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Assigned Numbers - 2025 - Bluetooth® Document
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
MIND Revenue Release Quarter 2 2025 Press Release

Ringing the Changes for Change Management

  • 1. Ringing the Changes for Change Management Philip Rathle and Scott Walz Originally published in ISUG Technical Journal, November/December 2007 www.isug.com Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor York House Level 9, 390 St Kilda Road San Francisco, California 94111 18 York Road Melbourne VIC 3004 Maidenhead, Berkshire Australia SL6 1SF, United Kingdom
  • 2. Ringing the changes for change management By Philip Rathle and Scott Walz As modern database change s mature and pervasive as Sybase management techniques for A ASE has become, nowhere does there appear to have emerged a uni- versally-accepted system or standard that DBA’s sit at the center of a the Sybase DBA become more addresses the problem of database change complex dance that touches management in an holistic fashion. DBA’s sophisticated, there is an inherent sit at the center of a complex dance that many participants: data modelers, touches many participants: data modelers, need for practitioners to be aware database developers, architects, business database developers, architects, analysts, software developers and more. of the increasingly powerful tools At any given time, each database is business analysts, software physically instantiated across a number of available to them. Philip Rathle different environments, each of which may developers and more. contain any one of several versions of the and Scott Walz of Embarcadero same database. Furthermore, the design of a particular database is typically stored rifle through their DBA toolkit and across a variety of locations and a multi- The good news is that there is some new plicity of tools, which may include a data hope for this old issue. The emergence of sharpen up a few blades for us. modeling tool, a SQL development tool, a powerful new breed of database change a database administration tool, a database management tools has breathed some new change management tool and so on. life into this space and will begin yielding some relief. While tools can never of Shepherding the stream themselves be silver bullets for complicat- Accurately shepherding the stream of ed process problems, their adoption is functional and technology change across an important element not just in the Philip Rathle brings over ten years of all of these physical environments and solution, but in instigating change. experience with mission critical systems design layer components can be a tremen- Today’s enterprises are so large and in the areas of customer data manage- dous challenge. Oftentimes, the database complex that one cannot hope to climb ment, data warehousing, marketing and change process has been (rightly or out of today’s convoluted database change campaign management and online oper- wrongly) patterned after the software management ruts without new and power- ational data management to his role as change management process. This invari- ful functionality aimed specifically at this Principal Consultant at Embarcadero. ably leaves gaps, which DBA’s usually fill problem. Database change management with manual and ad hoc workarounds. tools, and the techniques they enable, play Scott Walz is a Senior Product Manager The job gets done, however the process an important role not merely in coordinat- at Embarcadero Technologies, he over- for achieving it is generally not optimal ing the overall change management sees the direction of the company's data- for the specifics of database applications. process, but in unwinding and assessing base development products as well as Moreover, it often comes at a cost of a the current state of affairs so that it can database research and development for gradually diverging design layer, as this make the leap forward. the engineering departments. He can be layer lies for the most part outside of the Some of the key difficulties in manag- reached at scott.walz@embarcadero.com DBA’s purview. ing database change are: 28 ISUG TECHNICAL JOURNAL
  • 3. R I N G I N G T H E C H A N G E S F O R C H A N G E M A N A G E M E N T ◆ the need to preserve data when making a structural change This is a testament to the real lack of visibility which this ◆ the need to maintain separate storage settings for objects important issue suffers. across environments–even when the structures are Part of the problem is that very few organizations look at D ATA M A N A G E M E N T themselves identical “Database Change Management” as a single unified process. ◆ security differences between environments, reflected in It is assumed that database change management is a natural users, roles and object permissions outcome, at the juncture of database management, software ◆ shared responsibility for certain types of objects, for configuration management, and data modeling. The first step example stored procedures, which are code artifacts and in developing a robust database change management solution at the same time database artifacts and may be “owned” is to recognize it as a standalone process or discipline, with its either by the DBA or the database developer, depending own peculiarities that make it quite different from software on the organization and on the target environment change management. ◆ the need to keep physical and logical models in sync with One must then ask the question, “What is database the database (which can itself have cascading impacts) change management?” We believe that the question should ◆ the need to manage and (increasingly) report on differ- consider not just structures, but also settings and data. These ences between database settings over time within a are the three primary factors that come together to make a database clean database build and which determine not merely the ◆ the need to manage and maintain different sets of structural and data accuracy, but also the performance and database settings across different database environments security characteristics of a database. ◆ the need to validate the synchronicity of data in a replicated environment by comparing data between primary and replicated tables ◆ the need to manage reference data as one of the compo- nents necessary for a database build, complicated by the fact that reference data can be represented as table data or as check constraints, and is often shared across loosely- related databases ◆ the need to support multiple versions of a database concurrently, to support parallel branches of development Figure 1 ◆ the need to accommodate multiple paths by which change may be effected. For example, emergency changes in the Database design layer middle of the night that will nearly always be made by It is important that the business case for modernizing one’s executing a DDL directly against the database and not strategy for Database Change Management, as well as the through a change management framework (let alone a strategy itself, include the database design layer in addition data modeling tool!) Yet these changes ultimately need to the physical implementation. For the design layer (in the to be reflected in all of these places. form of a data model, or stored procedure constructs) is not merely a precursor to a physical database implementation, Documentation duties but it is also used for software design, impact analysis, and If it weren’t enough to get the right structure of data into publishing of metadata to a variety of applications (include the right place with as little downtime as possible, what is ETL, SOA, OLAP, etc.) Therefore it is crucial that the scope becoming equally crucial for DBA’s is documenting what of the overall database change management include the happened, when, and by whom. database design and not just the database. The business case These challenges are well understood by database to improve the status quo rests on several propositions. professionals, who deal with them on a day-to-day basis. The first is efficiency: to diminish the high level of However they tend not to be fully appreciated by those who manual effort associated with managing database change. are not so closely associated with the technology. Solutions The next is accuracy: being able to state with confidence to these problems tend to diverge widely from organization what objects, settings and data are in what environment at to organization and to rely heavily on manual processes. any given time and how a change to one impacts the others. NOVEMBER-DECEMBER 2007 29
  • 4. R I N G I N G T H E C H A N G E S F O R C H A N G E M A N A G E M E N T Being able to compare between a collection and a live database is an important requirement, which builds upon the The first core requirement of a database change “collection” concept, as is the ability to compare between collections (and also between live databases). In a Sybase management solution is the ability to capture the replication environment, the ability to compare the multiple databases is the cornerstone to ensuring database integrity. objects and associated properties of a database Comparison operations should be flexible however, in order to pinpoint problems, and ensure efficiency. It should be into “collections”, each with its corresponding possible to narrow the scope of a particular comparison operation horizontally – by selecting what objects are intersection in space and time. included in the comparison – and vertically – by selecting what object characteristics are being subject to comparison. Finally there is audit trail: being able to say what a database Foundational steps looked like yesterday, the day before, or a month ago. All Identifying differences and generating reports is another foun- three will result in direct and indirect cost savings through dational step. This can to a certain degree be accomplished improved efficiency and accuracy. The last two however can with software change management tools, where archived also be justified by regulatory compliance. DDL files are “diffed” against one another. The database Now that we have defined the problem space, we can change management tool takes this two steps further however: begin to look at some of the characteristics of the solution. first it can reverse engineer what is currently inside of live The easiest starting point (easy because it tends not to differ database, versus merely comparing between archived DDL so much across organizations… it is the processes themselves files. However it also offers the ability to generate an alter which are very organization dependent) is to discuss what script to implement the change, saving a great deal of manual possibilities exist out of the box for supporting your database effort when implementing change. change management program. This should equip you with the Modern database change management tools should be tools you need to begin revisiting and improving your processes. able to generate reliable, syntactically-accurate and properly- The first core requirement of a database change manage- ordered SQL to bring the desired components in line with ment solution is the ability to capture the objects and associat- the comparison target. It should also be able to preserve any ed properties of a database into “collections”, each with its existing data and structures, regardless of whether a table corresponding intersection in space and time. Again, this must be dropped and recreated and preserve dependent should include not merely schema objects, but also server and objects, referential integrity, grants, etc., and recompile database specific configuration settings. In the screen capture any dependent objects. below can be seen a sample collection, which for the sake of example includes just tables and indexes on a Sybase 15 server: Figure 2 Figure 3 30 ISUG TECHNICAL JOURNAL
  • 5. R I N G I N G T H E C H A N G E S F O R C H A N G E M A N A G E M E N T Figure 3 is an example where a column, EMAIL_ Below is an example of a data compare, of two databases ADDRESS, has been added to the same Sybase 15 table as residing on different servers. Here, the production database above, with the archive DDL to the left, the modified table (12.5.4) is running in parallel alongside a cut-over database D ATA M A N A G E M E N T to the right and an alter script below. (Sybase 15), until the system is ready to be cut completely Database settings should be dealt with in a similar fashion, over to Sybase 15. The scope of the compare is a single table. however with settings, it can be useful to have a specialized The results show that five of the rows did not match: type of archive (called a “standard”) that serves as a baseline or template against which various classifications of systems should be measured. Below is an example of a comparison between a standard settings template for a development database, and the actual settings for one of the development databases, with differ- ences highlighted: Figure 5 Drilling down, one can see which specific rows did not match, and bring them into sync by selecting the rows of data to be carried over, at which point update, insert, and/or delete statements will be generated, as appropriate: Figure 4 Figure 6 If the management of structural change within a database is likened to maintaining a building’s physical structure, the The technologies described above, available in today’s state- management of data change is that which ensure that all of of-the-art database change management tools, elevate the the fixtures are in the right place so as to meet the needs of game significantly from common homegrown approaches, the occupants. Data change management is the process by such as managing DDL within directory trees, using software which one may compare and verify data: within the same source control to manage database structures, or considering database, between databases, or even across different the database or backup to be the “master copy”. database versions or platforms. Equipping oneself with a robust set of tools is an impor- tant step in developing a modern and effective database Incomparable data compares change management solution. Also of great importance is an In organizations where reference data is used across databases, unambiguous change process, which considers the various data compares can prove invaluable. Though the structure of origination points of change, changes in responsibility for the tax_rate table, for example, may be identical, a difference various object types across the project/database lifecycle, in data could lead to serious problems. In replication shops, standards around tool usage and considers the design layer in the ability to compare sub-sets of the entire dataset provides addition to the physical implementation. With a clear vision, a means to validate the replication jobs. As with structural and judicious use of process and technology, it is possible to comparisons, the ability to limit the scope of an operation craft a robust and systematic solution for managing database to particular set of tables, as well as a particular set of change across one’s enterprise, yielding significant benefits columns within the tables, is important to productivity in a very short time. ■ and performance. www.embarcadero.com NOVEMBER-DECEMBER 2007 31