数据湖仓库的颠覆性

简介
1997 年,克莱顿·克里斯坦森 在他的著作《创新者的窘境》中,识别了一种创新模式,它追踪了现有企业和新进入者之间的能力、成本和市场细分采用情况。他将这种模式称为“颠覆性创新”。并非所有成功的产品都是颠覆性的,即使它们导致成熟企业失去市场份额甚至完全失败。术语“颠覆性创新”有一个非常精确的定义。它是随着时间的推移,市场细分(低端、主流和高端)的客户需求、现有企业的实力以及新进入者的实力之间的关系。下图显示了产品能力和客户需求之间这种关系的可视化。
来源:什么是颠覆性创新?
下面是对颠覆理论的简要总结
- 颠覆性创新是一个随着时间推移而发生的过程。
- 当市场低端被忽视时,颠覆条件便已成熟。
- 当新进入者利用市场低端服务不足的优势来立足时,颠覆便开始了。
- 新进入者必须持续创新才能进军更高端的市场。
- 如果新进入者达到了市场高端,并且能够保持能力以降低成本优势,那么现有企业可能会陷入困境。
识别一项新技术是否属于这种模式,意味着你可以识别挑战者和现有企业。简而言之,你可以预测采用情况——新技术将如何发展。你还可以确定随着现有产品失去市场份额,谁将会被取代。此外,作为软件行业中的消费者或从业者,理解变化确实是这个行业的圣杯——在这个行业中,变化是唯一不变的。无论你是寻找下一支热门股票的投资者、试图让公司保持领先的决策者,还是试图保持技能更新的技术人员——能够预见未来都是无价的。
快进到今天——2023 年 9 月,有一群低调的初创公司正在构建被称为“数据湖仓”的东西。数据湖仓不是来自单一公司的单一产品。相反,它是一种设计模式。这种设计模式利用了 Uber、Netflix 和 Databricks 等公司的开放规范。它还利用了 MinIO、Apache Spark 和 Project Nessie 等公司和组织的开源技术,后者在数据目录级别启用了类似 Git 的语义。
本文旨在探讨颠覆性创新的定义,了解数据湖仓究竟是什么以及它在行业中的应用。一旦理解了这两个概念,我们就可以得出结论,数据湖仓是否具有颠覆性,以及它是否会遵循其他许多颠覆性技术所遵循的模式。
让我们看看数据仓库和数据湖仓正在发生什么。
比较能力
让我们定义和比较组织在决定将用于商业智能、数据分析和机器学习的数据存储在何处时可用的所有选项。从宏观上讲,这些存储选项是数据湖、数据仓库和数据湖仓。
数据仓库
数据仓库旨在存储和管理来自各种来源的大量结构化数据。它们将数据组织成表格,通常通过向单个服务器或节点添加更多资源来进行垂直扩展。(一些现代数据仓库在一定程度上也支持水平扩展。)表格需要预定义的模式,这会限制处理不断变化的或非结构化数据时的灵活性。数据仓库支持时间旅行,这是一个允许查看表格在过去存在的形式的功能。但是,数据仓库不支持数据版本控制,这允许对表格进行分支,就像代码存储库一样。由于需要高性能硬件和软件许可证,运行数据仓库可能很昂贵,尤其是在大规模操作的情况下。
数据湖
数据湖旨在存储大量保持其原始、本机格式的非结构化数据。由于数据以其原始格式存储,因此不需要预定义的模式。因此,它们更灵活,可以处理更多类型的数据。由于它们不支持表格的概念,因此不支持时间旅行和数据版本控制。数据湖的成本效益很高,因为它们利用了成本较低的存储解决方案,并水平扩展以适应不断增长的数据量。
数据湖仓
数据湖仓旨在通过提供两种存储技术来处理结构化和非结构化数据,具体取决于数据的用途。它们支持结构化数据的模式演进,允许数据工程师和分析师根据需要对模式进行更改,而无需进行大量的 ETL 过程。这种灵活性在数据快速变化的时代至关重要。它们还支持时间旅行和数据版本控制。数据湖仓建立在开源和云原生技术之上,在工具选择和集成方面提供了更大的灵活性。最后,它们更具成本效益,因为它们利用了对象存储和分布式计算,从而允许存储和处理引擎水平扩展以适应不断增长的数据量并提高查询性能。虽然数据湖仓为即席查询和探索性查询提供了良好的性能,但它们可能无法与数据仓库在处理复杂、结构化数据分析任务方面的性能相匹配。
综合起来
数据湖仓的承诺是,它们将把数据仓库和数据湖的最佳特性和功能整合到一个解决方案中。这似乎过于美好,但近年来开放表格格式 (OTF) 的进步使得将对象存储用于结构化数据和非结构化数据成为可能。Apache Iceberg、Hudi 和 Delta Lake 是当今三种流行的 OTF。它们是规范,一旦实施,就会向处理引擎提供有效查询对象存储中数据的元数据——这是数据湖仓的数据仓库组件。由于正在利用对象存储,因此可以使用同一个对象存储来存储非结构化数据——这是数据湖仓的数据湖方面。下图显示了数据湖仓的组件。
数据湖仓不是来自单一公司的单一产品。参考上图,我们可以看到它是由来自不同供应商的一系列产品组成的。您需要一个对象存储、一个处理引擎和一个目录。此外,没有一家供应商对这三个组件中的任何一个拥有排他权。这种设计是分散的,分散提供了选择,让您可以使用现有的产品。下面显示了一个具体数据湖仓实现的示例。如果您已经使用 MinIO 作为对象存储,那么就将其用于您的数据湖仓。如果您已经使用 Spark 作为计算标准,那么它可以成为您的处理引擎。最后,如果您有兴趣进行数据版本控制,那么可以考虑使用 Dremio Arctic 作为目录。
数据湖仓是否具有颠覆性?
现在,我们可以回到我们最初的颠覆理论原则,看看数据湖仓的采用是否会以一种颠覆数据仓库的方式进行。
我认为,市场低端并没有缺少上一节中描述的功能。但是,业界普遍认为专有数据仓库很贵。此外,许多组织都在寻求降低其云计算成本——这项工作将从数据开始。与此同时,许多组织拥有臃肿的内部数据库,这些数据库本质上是数据仓库,需要重新平台化。最后,人工智能的兴起增加了对非结构化数据的需求。这三种力量——削减成本、重新平台化以及对非结构化数据的需求增加以支持大型语言模型——为数据湖仓提供了必要的立足点,以便它们开始颠覆过程。
数据仓库供应商和数据湖仓库供应商都在不断改进其功能。数据仓库供应商及其产品被认为更加成熟,如今大型组织也更乐于使用它们。然而,数据仓库的单服务器扩展设计令人担忧。这并不是一个现代解决方案——组织将不得不为能够处理其峰值工作负载的服务器付费,并在低使用率期间浪费资金。这代表着对数据湖仓库的攻击点。数据湖仓库的所有组件都可以在一个向外扩展的集群中运行,这些集群中的服务器成本较低。此外,数据湖仓库的计算部分可以弹性扩展,在低使用率期间节省资金。
此外,仅存在于云中的产品存在局限性。它们可能会成为削减成本的牺牲品,或者如果数据无法驻留在云中,它们可能根本不会被考虑。数据湖仓库在这方面也具有优势。它们的现代设计是云原生的,可以在任何可以运行微服务集群的地方运行。
摘要
数据湖仓库已经具备了颠覆数据仓库的一切条件,尤其是那些只存在于云中且价格昂贵的数据仓库。削减成本、重新平台化以及大型语言模型的需求已经为数据湖仓库提供了立足点。与过时的数据仓库设计相比,它们现代的设计将为它们提供在进入高端市场后取得成功的竞争优势。此外,它们还得到了初创公司和开源社区的支持。