分享

谈谈数据产品的分类

 数据治理精英馆 2025-01-01 发布于浙江

如今,数据产品引起了很多讨论,但对于该术语的实际含义却没有明确的共识。因此,它经常被用来描述完全不同的东西。

数据产品是软件应用程序

对我来说,数据产品本质上是一种软件应用程序。与任何软件一样,它是由界面、代码、数据和基础设施组成的管理单元。即使数据集本身具有明确的所有权并在市场上发布以供使用,它本身也不是数据产品。

然而,并非所有软件应用程序都是数据产品。要将应用程序视为数据产品,它需要具备两个关键特征:它必须是产品,并且提供由其管理的数据直接驱动的功能。让我们仔细看看这些特征意味着什么。

如果软件应用程序是按照产品管理原则开发的,那么它就是产品。与采用基于项目的方法构建的应用程序不同,产品不仅仅是满足一组预先定义的时间和预算要求(输出)。相反,它专注于解决问题并为用户提供真正的价值(结果)。此外,产品有一个所有者,通常是一个专门的团队,他们推动产品随着时间的推移而发展,在其生命周期的每个阶段(从构思到退役)进行管理。

如果数据不仅是软件功能的副产品,而且是塑造软件功能的关键因素,那么软件应用程序就是由数据驱动的。事务性应用程序优先考虑功能,而它们生成的数据则起着次要作用。相比之下,数据产品则在其管理的数据之上构建功能。在这里,数据是第一位的,它驱动功能并成为产品的核心部分。

总而言之,这是我对数据产品的定义

数据产品是一种由数据驱动并遵循 产品管理原则开发的软件应用程序。

仪表板是数据产品吗?

根据这个定义,仪表板和 ML 模型是数据产品,对吗?如果它们是按照产品管理原则开发的,我对这个问题的回答绝对是肯定的。然而,仪表板和 ML 模型等分析应用程序并不是唯一可能的数据产品类型。还有一些数据产品只以纯形式公开数据,而不在其上构建特定功能,除了那些方便管理、访问和使用所必需的功能。这些纯数据产品的开发不是为了支持特定的用例,而是为了使数据资产随着时间的推移易于重用和与其他数据资产组合。

在《将数据作为产品进行管理》这本书中,专注于这种特定类型的纯数据产品,探索如何设计一种技术架构来支持它们的发展和持续演变。以下是纯数据产品的定义:

纯数据产品是数据架构内的模块化单元,根据负责团队的认知能力量身定制,并按照产品管理原则进行开发,以使一个或多个数据资产准确、相关、可组合且可随时用于未来价值创造。

为什么要关心纯数据产品?

数据是一种资产,只有在使用时才具有价值。纯数据产品不直接使用数据,而是让其他分析和非分析应用程序可以访问数据,从而促进其使用。这就提出了一个问题:专注于这种类型的数据产品有什么意义?开发能够满足组织和最终用户的高价值用例的分析应用程序还不够吗?

我对这个问题的回答是肯定的“不”。如果没有纯数据产品,每个分析应用程序都必须重新实现所有必要的集成,以将原始数据转换为开发其功能的正确格式。因此,每个应用程序都变成了一个数据孤岛,集成工作(可能已由其他应用程序完成)必须从头开始复制,这显然会导致维护成本和错位风险。

最终用户只关心结果。他们不介意分析应用程序是从头开始重新实现集成逻辑,还是依赖于将来可以重复使用的纯数据产品。在大多数情况下,他们可能会更喜欢允许更快地实施分析应用程序的选项。当没有现有的纯数据产品组合时,最快的选择始终是直接在应用程序内为用例实现临时集成,而不是先开发纯数据产品,然后在其基础上构建分析应用程序。然而,从中期来看,这种实施新用例的方法变得不可持续,因为维护成本高,而且每个分析应用程序使用不同的逻辑集成相同数据的多个副本会导致数据质量问题。

纯数据产品是一种合理化组织内与关键数据资产相关的集成工作的方法,使其可用于支持多种用例。纯数据产品是构建模块,可实现数据随时间推移的可持续管理,控制维护成本并确保质量。

纯数据产品和分析应用程序同样重要,两者缺一不可。正如我们所讨论的,如果不支持纯数据产品(按订单设计),那么开发分析应用程序是不切实际的,因为从长远来看,整体数据架构是不可持续的。另一方面,如果开发纯数据产品而不支持任何分析应用程序(按订单存货),那么开发分析应用程序也是没有意义的,因为未使用的数据只是一种非生产性成本。正确的方法是按照用例驱动的方法(按订单编写)同时开发纯数据产品和分析应用程序。

纯数据产品真的是产品吗?

如果应用程序不直接被业务用户使用,那么将其称为产品真的有意义吗?我对这个问题的回答是肯定的。要被视为产品,应用程序需要用户认可其价值并愿意付费使用它。DBMS 是一种产品,就像 BI 工具一样,即使后者直接由企业使用,而前者则不是。同样,纯数据产品也是一种产品,就像分析应用程序一样。用户可能有所不同,但定义产品的所有元素都存在(所有权、生命周期、用户等)。

此外,一个完善的纯数据产品应该让它管理的数据资产尽可能地易于理解、查询和使用,即使是技术水平较低的用户也能轻松使用。一个好的纯数据产品应该可供业务用户甚至外部客户使用。

DWH 或 DATA LAKE 是纯数据产品吗?

纯数据产品充当数据生产者和数据消费者之间的桥梁,创建一个解耦层,允许重用和共享集成工作。本质上,它们正是 DWH 和数据湖多年来一直在做的事情。那么,真的有必要引入这种新范式吗?DWH 和数据湖不能简单地被视为纯数据产品吗?

我的答案是“不”。DWH和数据湖确实是一种以纯数据形式提供数据的软件应用程序,但规模也很重要。正如定义中所述,“纯数据产品是数据架构中的模块化单元,根据负责团队的认知能力量身定制”。

DWH 和数据湖通常是单体应用程序,其复杂性很快超出了负责开发和维护它们的团队的认知能力。这通常会导致开发速度变慢和技术债务加速增长,直到系统不堪其产生的复杂性重压而崩溃。许多组织不得不多次从头开始重建其数据平台,并遵循“推倒重来”的策略,这并非巧合。然而,对复制相同单体架构的旧系统进行平台重建并没有解决与可持续管理所产生的复杂性相关的核心问题。

创建模块化平台可以将这种复杂性分解为更小、更易于管理的部分,由开发团队或多个团队处理。这就是为什么纯数据产品不能太大以至于超出开发团队的认知能力。

数据湖和 DWH 与单片事务应用程序类似;它们在管理复杂性方面面临同样的问题。相反,通过利用模块化的力量,纯数据产品解决了 DWH 和数据湖的问题,就像微服务解决了单片事务应用程序的问题一样。

小结

由于我将数据产品分为两类 - 一类是公开基于数据的功能,另一类是仅提供使托管数据易于重用的功能 - 我需要引入两个术语来清楚地识别它们。有必要吗?可能没有必要,但如果没有它,每当我需要区分这两类数据产品时,我就不得不重复定义。为了简单方便,我使用纯数据产品和分析产品这两个术语。当然,有更好的名称,但重要的是概念,而不是名称。名称只是指代概念的一种方式。如果你找到更好的术语,请随意使用它,只要我们在意义上保持一致。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多