use*_*299 6 talend snowflake-cloud-data-platform
我通过谷歌搜索了解到 Snowwflake 可以从 AWS-S3、Google Storage 和 Azure 中放入/获取数据。Snowflake 也有自己的数据库和表格。我有以下问题,
Nat*_*ths 10
当您可以使用 Cloud Storage(S3 等)和 Talend 或任何其他 ETL 工具计算数据时,为什么应该使用 Snowflake?
您正在谈论三种不同类别的技术产品,它们并不等同:
Snowflake是一个数据库平台,与其他数据库技术类似,它提供数据存储和元数据以及用于数据操作和管理的 SQL 接口。
AWS S3(和类似产品)为任何类型的文件提供可扩展的云存储。您通常需要实施附加技术(例如 Spark、Presto 或 Amazon Athena)来查询以文件形式存储在云存储中的数据。Snowflake 还可以利用云存储中的数据文件,可以直接将文件作为“外部表”进行查询,也可以使用 COPY 语句将数据加载到 Snowflake 本身中。
Talend和其他 ETL 或数据集成工具用于在源平台和目标平台之间移动数据。通常,这将从业务线应用程序(例如 ERP 系统)到数据仓库或数据湖。
因此,在考虑 Snowflake 时,您需要考虑三件事:
您的分析数据将存储在哪里?是云存储中的文件、加载到数据库中还是两者的混合?每种情况都有优点和缺点。
您想如何查询数据?您很可能需要支持使用 SQL 查询的东西,如上所述,有许多技术支持对云存储中的文件使用 SQL。不过,如果将数据加载到专用的分析数据库中,查询性能通常会显着提高。
数据如何从数据源到达分析数据存储库(无论是什么)?通常,这将涉及第三方 ETL 工具,或滚动您自己的解决方案(这可能是一个更便宜的选择,但可能会成为大量的管理和支持开销)。
我们可以使用 Snowflake 作为数据驱动的 Web 应用程序的数据库吗?
从理论上来说,答案是肯定的。这在很大程度上取决于您的 Web 应用程序的功能,因为 Snowflake 是一个专为分析而设计的数据库,即通过处理大量数据来找到问题的答案。它并不是为涉及大量更新和少量数据插入的系统设计的事务数据库。例如,Snowflake 不支持引用完整性等功能。
但是,如果您的 Web 应用程序是分析型应用程序(例如,它嵌入了会查询大量数据的报告,并且用户通常会读取数据而不添加数据),那么您可以使用 Snowflake 作为分析部分的后端,尽管您可能仍然需要传统数据库来管理用户和会话等数据。
小智 5
您可以使用连接器之一将 Web 应用程序连接到 Snowflake,例如https://docs.snowflake.com/en/user-guide/odbc.html
Snowflake 擅长处理难以扩展和调整的大型分析工作负载。例如,如果您有许多(数百万/数十亿)事件想要聚合到仪表板中,那么 Snowflake 可能是一个不错的选择。
| 归档时间: |
|
| 查看次数: |
5730 次 |
| 最近记录: |