首页 > 解决方案 > “雪花数据云”是云原生事务应用程序数据存储的好选择吗?

问题描述

目前,我在不同的数据存储上生成数据并复制到 Snowflake Staging,然后该数据通过 ELT 摄取移动到数据仓库数据库以用于分析目的。然而,这种方法本身可以被视为创建数据孤岛,因为我们已经拥有相同数据的 3 个副本:

  1. 事务性数据存储数据库
  2. 复制的雪花分期
  3. 雪花数据仓库数据库

从技术架构的角度来看,将Snowflake 用作事务应用程序的直接数据存储是否是个好主意?(执行许多 CRUD 操作的应用程序)。这可能有助于避免复制和摄取的成本。

我看到这种方法的主要问题是:Snowflake 不强制执行任何引用完整性(主键、外键),因此在 CRUD 应用程序中,我必须始终使用 MERGE 语句或以某种方式确保我不创建重复记录。

另一个问题是在云中,应用程序和雪花之间的距离(又名网络)决定了事务的性能,我希望我的 CRUD 操作具有良好、一致的性能。

非常感谢任何想法/建议。

标签: snowflake-cloud-data-platform

解决方案


到目前为止,Snowflake 在单例更新和插入方面表现不佳,这是我们在事务数据库中看到的主要内容。当使用单例插入针对雪花提交时,我看到性能下降。

相反,它们针对非结构化数据和结构化数据的批量摄取进行了非常优化,并且专为 OLAP 仓库而设计。您仍然可以使用它,但您可能会看到同样的性能下降。此外,可以定义主键,但不强制执行。

在我看来,如果你面临这个挑战,你可以选择使用云中的 Postgre SQL DB(开源)作为你的事务数据库,它可以很好地补充 Snowflake 作为 OLAP 数据库。


推荐阅读