I want to build a clustered and/or replicated relational database so that all of the company's apps can use the same data without manually shuffling it between databases.
However, this raises two issues:
- A bad update or delete query can disable all apps and services
- If all storage is unified, how do we handle staging?
My thoughts on this is that something like transaction-based version control for data (like git for source) could be useful, but in general I could use any idea on how to mitigate these issues.