数据仓库 vs. 数据湖 vs. 数据集市

您可能会听到这些术语,因此这里提供了一些关于数据仓库、数据湖和数据集市之间差异的背景信息。

关于这些标准数据仓库术语的问题是它们并不完美。它们是模糊的市场营销词,带有过载的隐喻,因此即使经验丰富的数据专业人士也可能对它们具体指什么有模糊的认识。有时它们可能指代特定的事物,其他时候则指代非常抽象的事物。我们之所以写这篇文章,是因为您可能会听到这些术语,我们希望为您提供一些背景信息。

如果您正在寻找有关使用什么来存储分析数据的建议,请查看您应该使用哪种数据仓库?

数据仓库

“数据仓库”只是一个结构化的位置,您可以在其中存放想要查询的数据。它可能是一个可伸缩的、针对大量数据查询进行优化的列式存储数据库,也可能是一个装有一些文件柜的房间。这里的要点是,数据仓库与您的生产数据库是不同的,即使该数据仓库只是例如您的 PostgreSQL 生产数据库的副本。它是一个旨在存储数据用于分析的地方,而不是为了您的应用程序或服务的需求。数据仓库本质上也是只读的;唯一应该写入数据仓库的是 ETL

然而,理想情况下,您会希望以一种能够预见您将要提出的问题的方式来组织数据。这意味着您需要获取为应用程序事务优化的规范化数据,以及来自第三方应用程序和服务的所有数据转储(想想您从客户关系管理软件中辛辛苦苦获得的所有数据),然后通过 ETL 将其转换为易于回答诸如“上个月与上上个月相比有多少客户注册”或“哪个入职漏斗环节的流失率最大”之类问题的列或表。

您还会听到人们将数据仓库特指为一种特定类型的数据库或云服务,它们专门处理分析查询。像 BigQuery、Redshift、Snowflake 和 Vertica 这样的数据仓库就是为聚合和筛选大量数据而设计的。反过来说,它们作为应用程序数据库使用效果很差,因为它们不擅长查找特定记录(比如当用户登录时返回某个人的个人资料信息)。

数据湖

“数据湖”是您所有来源所有数据的垃圾场(通常在对象存储服务中,这类似于分布式文件系统——例如 AWS 的 S3)。这些数据不一定有结构(您甚至不需要文件柜)。数据湖的优点是,您无需预先确定要在数据上运行哪种查询。数据仓库很棒,但它们需要大量工作才能设置,包括弄清楚您想要如何建模数据,然后实际将所有杂乱来源的数据转换成该结构。而使用数据湖,您只需根据需要通过 ETL 建立表格。您可以使用 Presto 等查询引擎,它们允许您使用 SQL 查询分布在大量 S3 存储桶(本质上是一个分布式文件系统)中的数据。或者您可以在数据湖的某些部分上训练机器学习模型。

一些云提供商提供数据湖产品,例如 AWS 的 Data Lake,其中数据湖“产品”是服务(“基础设施组件”)的特定组合,它们共同帮助您将数据进出存储,在本例中是 AWS 的 S3 (Simple Storage Service)。另一种方法,BigQuery 使用的方法,是联合数据源,其中“湖”不是一个地方,而是 BigQuery 可以查询的多个地方。

数据集市

数据集市本质上是一组仪表盘,用于分析来自数据仓库或数据湖子集的数据,以服务于特定的业务功能。也就是说,数据集市结合了数据仓库或数据湖的一部分,为某个团队或分析领域而整理,并附带分析这些数据的仪表盘和可视化。它们不是您可以购买的东西;它们是您的组织必须定义和构建的东西。

数据集市通常被视为数据栈的垂直切片,这些切片对应于组织内的不同团队。因此,企业中营销团队的数据集市示例将包括所有表和模型(以及汇总该团队感兴趣的事实和维度的数据汇总表)、构建这些表的 ETL,以及该整理数据的“人机界面”:带有营销团队创建的(或传统上由数据或工程团队为他们设置的)图表和仪表盘的 BI 工具(如 Metabase)。

数据集市不一定非要那么严格,而且也不应该那么严格。如果您愿意,您可以在 Metabase 中汇集一组问题和仪表盘,涵盖运营团队感兴趣的一切,并将其称为运营数据集市。您还可以按主题组织数据和分析:这是我们关于客户、供应链、激活漏斗等等的所有信息。BI 工具还可以做一些巧妙的事情,您可以构建带有筛选器的仪表盘,使其易于关注特定的产品或类别或任何其他内容。

数据集市这个概念已经存在了一段时间,但现在您不常听到这个术语了。传统上,数据集市的开发是由数据或工程团队为其他团队完成的,这有好有坏。好的一面是它确保数据易于使用、探索和扩展;坏的一面是它会造成数据孤岛并扼杀好奇心,因为难以提出相关问题或整合其他来源的数据。但数据集市背后的基本思想(即组织数据以使人们更容易提问)与 Metabase 对商业智能的看法息息相关。BI 应该是自助服务的,所以好的数据集市设计不仅为人们提供了一套答案,它还为人们提供了回答这些问题、分析这些答案以及提出自己问题所需的工具。

延伸阅读

下一篇:您应该使用哪种数据仓库?

您选择哪种数据仓库取决于您正在处理多少数据。本指南将引导您了解各种选项,无论您是小型初创公司还是大型企业。

下一篇文章
© . All rights reserved.