关于数据库开发项目的问题。数据库已经存在并且相当大(几个 TB)。
- 您在数据库开发中使用什么进行版本控制?
- 您如何控制不同团队对数据模型的并发更改
- 您在数据库开发中的单元测试方法是什么
- 如果数据库所有者不知道什么是敏感数据,您如何处理敏感数据?您对数据混淆的方法是什么?你的混淆技术是什么?
- 您如何从多个位置处理大型数据库?
请回答您认为合适的一项或多项。每个答案将被单独审查。非常感谢!
编辑: 这里有一个对 p.1 有很好答案的相关问题:How do you version your database schema?
最佳答案
对于其中的大多数,虽然这些工具不适用代码开发的一般流程,但可以:
- 维护一个独立于生产的开发系统,拥有足够的数据,以便在测试新模型时获得有用的性能指标
- 此系统已编写单元测试(SQL 查询、提交、中止的原子提交等),并在每次发布之前针对它运行。
- 有官方“发布”
- 开发数据库本身就是源代码控制系统 - 换句话说,数据库是通过登录和回滚等方式建模并保存在数据库中的。它很重要,并不能解决所有问题,但考虑到缺乏适用于其工作的数据库的良好 VCS。
- 推出(在测试、集成等之后)仅包括进入生产站点的新数据库结构 - 建模表不会在那里复制。
关于数据库开发组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/191137/