在联合数据仓库的 Snowflake 区域之间移动数据的最佳方法是什么?

What is the best approach to move data between regions in Snowflake for the Federated Datawarehouse?

我们正在使用雪花创建一个联合数据仓库,即我将在每个特定区域(比如 3 个区域)上拥有专用的 DWH。我将在一个单独的区域中拥有一个全球 DWH,为此我们需要从另一个区域 DWH 的表中获取数据以进行报告。实现相同目标的最佳方法是什么?

我阅读并了解到,您可以将数据从一个区域的 DWH 卸载到同一区域的 AWS S3 或 AZURE Blob 中。我必须为所有 3 个区域执行此操作。然后我们在 AWS S3 跨区域复制中有一个选项,我可以启用它,然后将其加载到 Global DWH。

这是我的方法,看起来有点长,而且可能需要额外的跨区域数据传输费用,无论如何都是必需的。主要是我将无法创建端到端的流程。由于所有人都在不同的区域,我需要 运行 一个单独的作业将其卸载到该区域的 s3,需要验证并需要在所有 3 个卸载完成后开始加载。工作流或编排也是一个问题。我考虑过 AWS Batch 和 Step 功能,但都是区域服务。

感谢是否有人可以通过一些光线和选项?谢谢!

我建议您查看 Snowflake 关于数据库复制的文档,并请您的客户主管或销售工程师与您讨论,它似乎非常适合您的用例。

https://docs.snowflake.com/en/user-guide/database-replication-failover.html

希望这对您有所帮助...Rich Murnane

我不建议使用 S3 执行此操作并加载到每个数据库中。

Snowflake 有两个选项更适合您的用例。 Rich 已经提到过的一个(数据库复制)。您还可以选择通过 Private Data Exchange (not available in all regions yet) or by using Data Sharing

使用数据共享