数据湖与数据仓库

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

数据湖和数据仓库的定义

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

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

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

特性

数据湖

数据仓库

数据类型

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

经过处理的结构化数据

用途

尚未定义

明确具体

用户

数据科学家、数据工程师

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

无障碍功能

高度灵活,易于更改

更难改变,更僵化

正在处理

读时架构(使用时定义)

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

优势


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

特性

数据湖

数据仓库

数据类型

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

经过处理的结构化数据

用途

尚未定义

明确具体

用户

数据科学家、数据工程师

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

无障碍功能

高度灵活,易于更改

更难改变,更僵化

正在处理

读时架构(使用时定义)

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

优势


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

行业示例

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

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

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

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

使用数据湖构建 AI 模型

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

收集原始数据

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

大规模处理

为了使原始数据适用于模型训练,数据工程师会对数据集进行清理和结构化。您可以使用 Managed Service for Apache Spark 执行无服务器 Apache Spark 批处理。这会将数百万个原始日志文件转换为符合规范的表,而无需管理服务器或集群。

训练模型

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

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

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

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

访问干净数据

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

运行快速查询

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

分享数据洞见

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

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

利用 Google Cloud 解决业务难题

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

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

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

更进一步

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