雪花故障转移-复制机制

我一直在研究有关如何在snowflake中管理故障转移/复制用例的文档。 here基本上,故障转移策略基于同一组织位于不同区域的两个不同帐户之间的数据库复制功能。

从复制的角度来看,我可以配置这两个数据库并在每10分钟刷新一次主数据库的任务中设置我的复制,并以此方式尝试使次数据库保持尽可能多的更新。但是,如果发生意外事件,我的辅助数据库将一次升级为主数据库,该数据库将具有基于上次完成的更新的数据版本,这意味着我可能会丢失部分在中断之前执行的全部新数据/转换。这让我思考:

  • 除了将复制任务安排到1分钟之外,还有什么方法可以尽可能地将丢失的数据减少到snowflake中的故障转移设计中?
  • 在已解决中断的情况下,我需要将主数据库重新带回如何管理无法复制到辅助数据库但可以与本来可以生成的新数据合并的部分数据在辅助数据库中作为生产运行?

非常感谢

hoyob 回答:雪花故障转移-复制机制

a)为了减少数据丢失,一种策略是如您所指出的那样频繁安排复制操作。另一个是可以在故障转移后重播最近的ETL作业。为此,您需要确保源数据可用并且灾难发生后可以恢复ETL流程。而且ETL可以以幂等的方式重放。

b)不支持合并更改/解决冲突。 Snowflake的数据库复制遵循单主模型。刷新辅助数据库会用主数据库的当前状态覆盖它。建议在故障转移后通过重播(a)中建议的ETL来恢复主数据库上丢失的数据。

本文链接:https://www.f2er.com/3078237.html

大家都在问