Redshift数据镜像/模拟

时间:2018-03-12 03:14:23

标签: amazon-web-services amazon-redshift

我们要求在AWS redshift中将数据从一个环境镜像到另一个环境。是否可以使用快照或者是否有其他可能的方式?

数据的镜像/复制是为了测试我们的供应商的概念证明,这是位于同一区域的两个群集之间。我们不确定滞后部分,这里最好的方法是什么,请建议。

它主要是从产品到测试环境。关于一个方向,你的意思是数据流。请提供我们可以在此方案中查找的任何最佳做法。

1 个答案:

答案 0 :(得分:0)

您的要求似乎是将Amazon Redshift生产群集复制到另一个将用于测试的Amazon Redshift群集。

由于测试系统很少需要最新的生产数据,因此这种复制通常是每周,或者如果是自动的,则每天

最佳做法是清理复制到测试系统的数据以删除敏感的客户信息。这可以通过运行清除或混淆特定列的脚本(例如信用卡号)来完成。

如果您对每次从生产中重新加载完全删除测试系统感到满意,最简单的复制方法是:

  • 删除旧的测试群集
  • 拍摄生产系统的快照
  • 从快照
  • 启动新群集
  • 针对测试系统运行任何清理脚本

新群集最初需要与原始群集大小相同(例如,如果生产是3节点,则新群集将是3节点),但是如果您希望以后可以稍后调整测试系统的大小降低成本。

使用AWS Command-Line Interface (CLI)的脚本可以轻松地自动执行这些步骤。例如,您可以每晚运行它,以便每天都有一个新的测试系统。

更新:仅恢复群集的一部分

根据下面的评论,您似乎将Devsh和Test的Redshift群集用作群集中的不同数据库。

在这种情况下,您可以使用Restore Table功能:

  • 删除测试数据库中的所有表
  • 从快照中单独还原每个表

这将涉及更多步骤,并且不可取。使用单独的集群进行测试可能更简单,因此可以完全删除并重新填充。