数据库开发组织

标签 database version-control obfuscation

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

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

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

编辑: 这里有一个对 p.1 有很好答案的相关问题:How do you version your database schema?

最佳答案

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

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

关于数据库开发组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/191137/

相关文章:

sql-server - SQL 在 Microsoft SQL 中合并具有相同 ID 但列值不同的两行

java - 在mysql中插入变量

visual-studio - 如何将我的 Visual Studio 2012 项目和我 friend 的项目连接到同一台电脑

php - 修订更改 - 直观地显示更改

Java 混淆器在反编译时从不给出纯文本

Android:proGuard 教程,用于指定混淆中的排除和包含

javascript - 半混淆/丑化 JavaScript

mysql - 实现大学小组学习的数据库方案

javascript - 禁用 Jasmine 期望,例如 xdescribe 或 xit?

java - 管理俱乐部项目的版本控制?