我想构建一个集群和/或复制的关系数据库,以便公司的所有应用程序都可以使用相同的数据,而无需在数据库之间手动移动数据。
然而,这引发了两个问题:
- 错误的更新或删除查询可能会禁用所有应用程序和服务
- 如果所有存储都是统一的,我们该如何处理分阶段?
我对此的想法是,类似基于事务的数据版本控制(如源的 git)可能会有用,但总的来说,我可以使用任何关于如何缓解这些问题的想法。
答案1
错误的更新或删除查询可能会禁用所有应用程序和服务
- 能力越大,责任越大。细化数据库用户权限,确保只有了解这一点的用户才拥有权力。
- 使用沙盒系统,不要在生产中进行开发。
- 有办法回滚更改/恢复手头的数据库。测试一下。
如果所有存储都是统一的,我们该如何处理分阶段?
就像你说的,使用版本控制。应用程序代码版本控制 [例如 svn],你也可以尝试数据库版本控制 [例如用于部署的 Jenkins]。