在持续交付流程中,是否有适当的方法可以自动将数据从生产转移到开发?

时间:2014-07-17 12:17:27

标签: sql postgresql language-agnostic continuous-delivery

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

为了开发目的(再现错误,使用完整数据集测试性能),大多数时候开发人员将数据从生产数据库提取到他们的开发环境。例如,请参阅this question

在我的公司,我们在持续交付流程中使用三个不同的实例:

  • 最新:每晚使用我们的SCM主干进行同步
  • 暂存:在部署到生产之前的最新发布版本
  • 稳定:使用与生产中部署的完全相同的软件版本(用于重现生产中发现的错误)

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

这是一个好习惯吗?怎么实现呢?有任何陷阱吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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