2008-10-10 100 views
3

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

  1. 你在数据库开发中使用什么版本控制?
  2. 你如何控制由不同的团队对数据模型并发修改
  3. 什么是你在DB发展
  4. 你如何处理敏感数据,如果DB业主不知道的方法来单元测试什么是敏感的?你对数据混淆的方法是什么?你的混淆技术是什么?
  5. 你如何在几个地点的大型数据库上工作?

请根据需要回答一个或多个项目。每个答案将分开审查。非常感谢你!

编辑: 具有良好的答案,第1页一个相关的问题是在这里:How do you version your database schema?

+0

什么是数据库系统? – TomTom 2010-10-27 08:14:13

回答

2

对于大多数的这些,而这些工具并不适用代码开发的一般流程做:

  • 测试一种新模式时,保持从生产有足够的数据独立开发系统,以获得有用的性能指标
  • 该系统在每次发布之前都有单元测试(SQL查询,提交,中止的原子提交等),并对其进行编写和运行。
  • 有官方“版本”
  • 开发数据库是源控制系统本身 - 换句话说,数据库建模,并在数据库中登录和回滚等,这是不平凡的,并没有按举行不能解决所有问题,但考虑到缺乏适用于数据库的良好VCS。
  • 转出(测试后,集成等)只包含到生产现场的新数据库结构 - 建模表不在此复制。
2

对于4,“你如何处理敏感数据,如果DB业主不知道什么是敏感?你对数据混淆的方法是什么?“

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

稍后我们会为了性能,报告等原因打开数据,但需要具有适当签名的文档化业务案例。