As your organization invests in DevOps to release more frequently, you need to treat the database tier as an integral part of the automated delivery pipeline—you build, test, and deploy database changes just as for any other part of your application. However, databases are different from source code and pose unique challenges to continuous delivery, especially in the context of deployments.
Updating the database can be more demanding than updating the application layer: database changes are more difficult to test, and rollbacks are harder. Furthermore, for organizations that strive to minimize service interruption to end users, database updates with no downtime are laborious operations. Your database stores transaction data, business data, and user information—the most mission-critical and sensitive data of your organization. As you update your database, you want to ensure data integrity; atomicity, consistency, isolation, and durability (ACID); and data retention and have a solid rollback strategy in case things go wrong. This talk covers strategies for database deployments and rollbacks.
Video producer: http://www.sei.cmu.edu/saturn/