代码之家  ›  专栏  ›  技术社区  ›  Ilya Kochetov

数据库开发组织

  •  3
  • Ilya Kochetov  · 技术社区  · 16 年前

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

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

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

    编辑: 第1页的一个相关问题有很好的答案: How do you version your database schema?

    2 回复  |  直到 8 年前
        1
  •  2
  •   GEOCHET S.Lott    16 年前

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

    • 在测试新模型时,维护一个与生产分开的开发系统,并提供足够的数据来获得有用的性能指标
    • 该系统在每次发布之前都会编写并运行单元测试(SQL查询、提交、中止的原子提交等)。
    • 有官方的“发布”
    • 开发数据库是源代码控制系统本身,换句话说,数据库是建模的,并通过登录和回滚等方式保存在数据库中。它并非微不足道,也不能解决所有问题,但考虑到数据库缺乏良好的VCS,它是可行的。
    • 推出(在测试、集成等之后)只包括将新的数据库结构发送到生产站点——建模表不会在那里复制。
        2
  •  2
  •   GEOCHET S.Lott    16 年前

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

    “敏感到无害”是我的口头禅。除非有人认为没有充分保护任何数据免受可见性(内部或外部)的影响,否则我的默认模式是保护它。

    稍后会出现案例,我们将出于业绩、报告等原因公开数据,但需要一份有适当签名的有文件记录的商业案例。

    推荐文章