Database automation is the use of unattended processes and self-updating procedures for administrative tasks in a database. The automation of databases and their procedures reduces errors on deployments, improves reliability and increases the speed of implementing changes. Automation also frees up staff that might otherwise be occupied updating code and performing other tasks, including patching, upgrading, failover, scaling, provisioning and recovery.
Changes to databases pose a challenge because of their fundamental structure. Databases containing schema, stored procedures and existing data are add complexity to when making changes. When updating a running database for a production environment, the old information can’t simply be erased to create a new database. Prior to deployment, the preproduction database in development must run in a sandbox environment to simulate changes, rather than make them directly to the production environment.
One of the first automated databases as a service was launched with Amazon Web Services in the form of Amazon RDS in 2009. Microsoft followed suit shortly with Azure in 2010. Other tools for database automation include Stratavia’s Data Palate, GridApp and System BMC’s BladeLogic Database Automation.