DB schema changes should be versioned and automated using tools such as Liquibase or flywheel. However, even if we have done the automation, updates have to be planned very carefully, especially if the data is huge, in the TB range:
- Use tools such as Liquibase or Flywheel to version, and for automation of DB changes
- Use the Blue-Green strategy to update the standby DB before going live:
- This helps with applying indexing which can take a long time and will impact any incoming traffic
- It helps with complex schema changes by isolating the migration to the replicated DB
- We will still need a downtime to do catch-up to the primary db before going live
- It is mostly manually done using the help of a DBA, it is difficult ...