3

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

  1. 您在数据库开发中使用什么进行版本控制?
  2. 您如何控制不同团队对数据模型的并发更改
  3. 您在数据库开发中进行单元测试的方法是什么
  4. 如果数据库所有者不知道什么是敏感数据,您如何处理敏感数据?你对数据混淆的方法是什么?你的混淆技术是什么?
  5. 您如何从多个位置处理大型数据库?

请按您认为合适的方式回答一项或多项。每个答案将单独审查。非常感谢你!

编辑: 这里有一个对 p.1 有很好答案的相关问题:你如何对数据库模式进行版本控制?

4

2 回答 2

2

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

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

稍后会出现案例,我们将出于性能、报告等原因开放数据,但需要具有适当签名的书面业务案例。

于 2008-10-10T13:03:24.457 回答
2

对于其中大多数,虽然这些工具不应用代码开发的一般流程,但可以:

  • 使用足够的数据维护与生产分开的开发系统,以便在测试新模型时获得有用的性能指标
  • 该系统在每个版本之前编写并运行单元测试(SQL 查询、提交、中止的原子提交等)。
  • 有官方“发布”
  • 开发数据库是源代码控制系统本身 - 换句话说,数据库是通过登录和回滚等建模并保存在数据库中的。它不平凡,并不能解决所有问题,但鉴于缺乏良好的VCS 适用于它的数据库。
  • 推出(在测试、集成等之后)仅包含进入生产站点的新数据库结构 - 建模表不会在那里复制。
于 2008-10-10T13:08:20.577 回答