3

在一个常见的持续交付过程中,代码从开发实例移动到暂存实例再到生产实例。

出于开发目的(重现错误、使用完整数据集测试性能),大多数时候开发人员从生产数据库获取数据到他们的开发环境。例如,参见这个问题

在我的公司,我们在持续交付过程中使用除了生产之外的三个实例:

  • 最新:每晚与我们的 SCM 中继同步
  • staging:在部署到生产之前的最后一个发布版本
  • 稳定:与生产中部署的完全相同版本的软件(用于重现生产中发现的错误)

问题在于,在稳定实例上,为了重现错误,我们希望拥有与生产环境完全相同的数据集。所以我们希望每晚同步数据库。

这是一个好习惯吗?如何实施?有什么陷阱吗?

4

3 回答 3

2

根据您在生产中拥有的数据,您可能不希望将其复制回非生产环境。(或者在某些法规下甚至可能不允许这样做。)如果您有客户数据、个人身份信息 (PII)、受监管数据、财务数据、信用卡数据、健康数据、SSN 或任何其他类型的敏感数据,如果您复制它,您需要在生产中拥有(或应该拥有)的完整控制 - 您可能不需要,也可能不想要。

于 2014-07-17T12:52:05.123 回答
1

我建议您寻找几种 VDB 解决方案。其中之一是 Delphix

于 2014-07-30T12:19:48.750 回答
0

Windocks 支持具有集成数据库克隆的容器,并且仅用于描述的用例。完全披露,我为 Windocks 工作。

于 2017-04-14T00:12:25.003 回答