数据库开发组织

时间:2008-10-10 12:58:01

标签: database version-control obfuscation

关于数据库开发项目的问题。数据库已经存在并且相当大(几个TB)。

  1. 您在数据库开发中使用什么进行版本控制?
  2. 如何控制不同团队对数据模型的并发更改
  3. 您在数据库开发中对单元测试的方法是什么
  4. 如果数据库所有者不知道什么是敏感数据,您如何处理敏感数据?您对数据混淆的方法是什么?你的混淆技术是什么?
  5. 您如何在多个位置处理大型数据库?
  6. 请根据需要回答一个或多个项目。每个答案将分别进行审核。非常感谢你!

    修改 对p.1有正确答案的相关问题是:How do you version your database schema?

2 个答案:

答案 0 :(得分:2)

对于4,“如果数据库所有者不知道什么是敏感数据,您如何处理敏感数据?您对数据混淆的方法是什么?”

“敏感直到证明无害”是我的口头禅。除非有人提出不能充分保护任何数据免于可见性(内部或外部)的情况,否则我的默认模式是保护它。

之后出现的情况是我们将打开数据以获取性能,报告等原因,但需要一个带有相应签名的文档化商业案例。

答案 1 :(得分:2)

对于大多数这些,虽然工具不适用代码开发的一般过程,但是:

  • 使用足够的数据维护与生产分开的开发系统,以便在测试新模型时获得有用的性能指标
  • 此系统在每次发布之前编写并运行单元测试(SQL查询,提交,中止原子提交等)。
  • 有官方'发布'
  • 开发数据库本身就是源代码控制系统 - 换句话说,数据库是通过登录和回滚等建模并保存在数据库中的。这是非常重要的,并不能解决所有问题,但考虑到缺乏适用于数据库的良好VCS。
  • 推出(在测试,集成等之后)只包含进入生产站点的新数据库结构 - 建模表不会在那里复制。