数据湖与数据仓库

数据管理是推动企业分析和打造卓越客户体验的重要组成部分。您可能听说过数据湖和数据仓库这两个术语,但很难知道哪个适合您的项目。这两种系统处理数据的方式不同。数据湖就像一个大型原始数据池,您无需立即定义用途。数据仓库更像是经过整理和过滤的数据库,可用于执行特定任务。了解这些差异有助于您根据自己的数据需求选择合适的工具。

数据湖和数据仓库的定义

  • 数据湖是一个中央位置,您可以在其中存储任何规模的所有数据。您无需在保存数据之前更改数据。数据湖以原始形式存储数据,无论是结构化数据、半结构化数据还是非结构化数据。因此,对于想要先收集大量数据,然后再决定如何使用这些数据的团队来说,这是个不错的选择。
  • 数据仓库是专为数据分析和报告而构建的系统。与数据湖不同,数据仓库只保存已经过清理和处理的数据。它使用特定的结构或“架构”来组织数据。这使得它在运行查询和创建业务报告方面非常快速。

数据湖与数据仓库的区别是什么?

这两个系统之间的主要区别在于它们处理数据结构和使用的方式。数据湖用于存储原始非结构化数据,而数据仓库用于存储结构化的已处理数据。

特性

数据湖

数据仓库

数据类型

所有数据(原始数据、结构化数据、非结构化数据)

经过处理的结构化数据

用途

尚未定义

明确具体

用户

数据科学家、数据工程师

数据分析师、商业智能分析师

无障碍功能

高度灵活,易于更改

更难改变,更僵化

正在处理

读时架构(使用时定义)

写时架构(在保存之前定义)

优势


  • 大量使用时费用低
  • 适用于任何数据类型
  • 可扩缩,适合 AI 和机器学习模型
  • 高性能 SQL 查询
  • 高数据质量和可信度
  • 安全便捷,SQL 用户可轻松上手

特性

数据湖

数据仓库

数据类型

所有数据(原始数据、结构化数据、非结构化数据)

经过处理的结构化数据

用途

尚未定义

明确具体

用户

数据科学家、数据工程师

数据分析师、商业智能分析师

无障碍功能

高度灵活,易于更改

更难改变,更僵化

正在处理

读时架构(使用时定义)

写时架构(在保存之前定义)

优势


  • 大量使用时费用低
  • 适用于任何数据类型
  • 可扩缩,适合 AI 和机器学习模型
  • 高性能 SQL 查询
  • 高数据质量和可信度
  • 安全便捷,SQL 用户可轻松上手

行业示例

假设您正在开发一款移动游戏。您想要跟踪每位用户的每一次按钮点击。您还不知道哪些点击对下一次更新很重要。您可以将所有这些原始 JSON 事件直接发送到数据湖。稍后,数据科学家可以运行脚本来查找原始数据中的模式。

另一个例子是 IoT 传感器。如果有数千个传感器每秒发送一次温度数据,您可以将这些原始数据转储 (dump) 到数据湖中。这样,您就可以获得所有事件的完整历史记录,而无需先考虑格式设置问题。

假设有一家零售公司需要跟踪其销售情况。每天晚上,系统都会提取当天的所有订单,清理地址,计算税费,然后将这些信息保存到数据仓库中。然后,经理可以生成报告,准确查看在芝加哥售出了多少件蓝色衬衫。数据整齐有序,可用于制作图表。

银行也可能会使用数据仓库来跟踪账户。他们需要随时了解每位客户的确切余额。他们不想要原始日志,而是想要一个结构化表格,清楚地显示每笔交易。

使用数据湖构建 AI 模型

数据科学家通常需要构建一个能够实时发现欺诈性预订的 AI 模型。由于数据来自许多来源,例如网站日志、移动应用事件和第三方合作伙伴,因此数据湖最适合用于训练 AI 模型。

收集原始数据

首先,设置一个流水线,将每个原始事件发送到 Cloud Storage。这包括来自网站的杂乱 JSON 文件和来自移动应用的二进制日志。您无需担心数据的格式设置问题,因为 Cloud Storage 就是为处理这种规模的数据而构建的。

大规模处理

为了让数据对 AI 模型有用,您需要清理数据。您可以使用 Google Cloud Service for Apache Spark 运行无服务器 Apache Spark 作业。这样,您就可以将数百万条原始日志转换为结构化格式,而无需管理任何服务器或集群。

训练模型

现在数据已准备就绪,您可以将其输入到机器学习工具中。由于最初的原始数据仍在数据湖中,因此您可以随时返回并查看可能有助于进一步优化模型的“隐藏”细节。

通过使用数据湖,您能够以低成本存储所有内容,并在构建模型时仅处理所需内容。

利用数据仓库预测销售情况

现在,我们来看看一个面向零售商的数据科学应用场景。您可以预测公司下个月将售出多少件冬外套,由于销售数据已经过清理并存储在数据库中,因此建议使用数据仓库来完成此任务。

访问干净数据

首先是 BigQuery,它充当公司的中央数据仓库。销售数据已整理成整齐的表格,其中包含日期、价格和产品 ID 列。由于数据已经结构化,因此您无需花费任何时间来清理数据。

运行快速查询

编写一个 SQL 查询,查看过去五年的冬季销售情况。即使有数十亿行数据,BigQuery 也能在几秒钟内找到答案。这种速度让您可以尝试不同的想法并快速优化预测。

分享数据洞见

预测准备就绪后,您可以使用内置工具创建信息中心。现在,营销团队可以准确地看到他们需要订购多少件外套。由于 BigQuery 是无服务器的,公司只需为运行的查询付费,从而降低了成本。

对于此应用场景,数据仓库是最佳工具,因为它使用已处于可用格式的数据,针对特定业务问题提供快速、可靠的答案。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。
与 Google Cloud 销售专员联系,详细讨论您的独特挑战。

在数据湖和数据仓库之间选择

选择数据湖还是数据仓库,取决于您要构建什么。如果您有大量原始数据,并希望使用代码进行探索,请从数据湖开始。如果您有特定的业务问题,并希望获得快速、可靠的报告,那么数据仓库可能是更好的选择。许多企业公司实际上将两者结合使用,以取长补短。

迈出下一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。

Google Cloud