# What is Database Change Management (DCM)?

> What is Database Change Management (DCM), the challenges and solution.

Tianzhou | 2022-12-09 | Source: https://www.bytebase.com/blog/what-is-database-change-management/

---

This is a series of articles about database change management (DCM):

1. What is Database Change Management? (this one)
1. [Top Database Change Management Tools](/blog/top-database-change-management-tools)

---

Database Change Management (DCM) is a critical part of maintaining and managing a database. It involves
tracking and controlling changes to the database, including both the structure of the database (such
as the tables, columns, and relationships between data) and the data itself. For the relational
database systems (RDBMS), SQL is the medium to instruct database changes. The structure change
is dictated via Data Definition Language (DDL), while the data change is dictated via Data
Manipulation Language (DML).

## Ideal Process

The process of database change management typically includes several key steps:

- **Identifying the need for a change to the database.** This could be triggered by a change in
  business requirements, a new feature being added to the system, or a problem with the current
  database structure or data.

- **Documenting the change.** This typically involves creating a detailed description of the change,
  including why it is needed and how it will be implemented. This documentation is important for
  ensuring that all stakeholders understand the change and can provide input or feedback.

- **Implementing the change.** Developers typically implement the change and test it in the dev
  environment. This is to ensure that logically it works as intended. This can involve running test
  cases or simulations to confirm that the change has the desired effect.

- **Reviewing and approving the change.** Once the Developer has tested the change, she will submit
  the change for review. The change is typically reviewed by a team of database administrators (DBA)
  or other experts who assess its impact on the database and determine whether it should be approved.

- **Deploying the change to production.** Once the change has been approved, it will be deployed to
  production. This is often carried out by DBA. This can involve making changes to the database
  structure or data, and may require coordinating with other team members or systems to ensure a
  smooth transition.

- **Finalizing the change.** After the change has been tested and implemented, it is important to
  finalize it. This can involve updating the database documentation and creating records of the
  change for future reference. It may also involve coordinating with other team members or systems
  to ensure that the change is fully integrated into the overall database system.

Overall, the goal of database change management is to ensure that changes to the database are made
in a controlled and coordinated way. This can help to avoid errors and improve the reliability of
the database.

## Challenges

There are several challenges that can arise when managing changes to a database. Some common
challenges include:

- **Ensuring that changes are made in a controlled and coordinated way.** This can be difficult,
  especially in large organizations where multiple teams and different applications may be making
  changes to the database at the same time.

  ![_](/content/blog/what-is-database-change-management/common-situation.webp)

- **Avoiding errors and inconsistencies in the database.** Changes to the database can have
  unintended consequences, such as introducing errors or inconsistencies into the data. This can be
  difficult to detect and can impact the reliability of the database.

- **Managing complex or interdependent changes.** Some changes to the database may be complex,
  involving multiple tables or data sets that are interdependent. This can make it difficult to
  manage the changes effectively, and may require coordination between multiple teams or systems.

- **Keeping track of multiple versions of the database.** As changes are made to the database,
  multiple versions of the database may exist at different stages of the change process. This can
  make it difficult to keep track of the changes and ensure that the correct version of the database
  is being used.

## Solution

Adopting database change management software is a natural step to overcome those challenges.
Since this is a long standing issue, industries have already developed many solutions over the
years. Among them, Bytebase stands out in several ways:

1. Have an all-in-one GUI to manage the database change lifecycle. With Bytebase, organization can
   control all [Human to Database](/blog/how-to-manage-database-access-control#human-to-database)
   access points in a single place.

![_](/content/blog/what-is-database-change-management/ideal-situation.webp)

2. Embrace the latest industry methdology and trends. Bytebase brings DevOps into Database, has
   designed a `Project` model to separate the infrastructure from the application development.

![](/content/blog/what-is-database-change-management/project.webp)

3. Use the state-of-the-art tech stack. Bytebase is built with the modern tech stack for the cloud
   era. Bytebase is the [only Database CI/CD solution acknowledged by CNCF](https://landscape.cncf.io/?selected=bytebase)
   and is gaining momentum among other incumbents.

![bytebase-vs-liquibase-vs-flyway](/content/blog/what-is-database-change-management/star-history.webp)