今年夏天,Databricks 和 Apache Iceberg 都推出了对其开放式表格格式的增强。Databricks 宣布了Delta Lake 3.0,它可以读写所有最流行的开放式表格格式的数据:Delta 表、Iceberg 和 Apache Hudi。Delta 通用格式 (UniForm) 使得开放式表格格式能够互操作,从而避免了以这种或那种格式创建和存储数据的额外副本的需要。使用现有查询引擎(如 DuckDB、Dremio 等)查询 Iceberg 或 Hudi 文件的数据团队可以直接读取 Delta 表,无需转换。
大约在同一时间,Iceberg 宣布了对查询引擎和平台(包括 Snowflake、AWS Athena、Apache Doris 和 StarRocks)的大量新支持。随着 Databricks 和 Iceberg 的这些宣布,互操作性与数据可移植性携手并进。开放式表格格式的设计理念是,您应该能够使用任何您想要的工具,在任何您想要的地方访问、控制、共享和操作您的数据,无论是在公有云、私有云、边缘还是裸机上。
让我们将这些公告置于背景中。开放式表格格式允许数据湖实现过去只能由传统数据仓库或数据库实现的性能和合规性标准,同时保留数据湖环境的灵活性。
有三种主要的开放式表格格式:
Iceberg 最初由 Netflix 设计,专门用于处理数据湖中的大量数据。这种开放式表格格式具有时间旅行、动态模式演变和分区演变等独特功能。这些功能使其具有革命性,能够使查询引擎在同一数据集上并发安全地操作。
Delta Lake 是 Lakehouse 架构中的一个开源存储框架,它支持像 MinIO 这样的对象存储上的数据湖。它确保 ACID 事务、可扩展的元数据处理以及 Apache Spark 的统一处理,提供可靠性和可扩展性。Delta Lake 可以处理复杂 Spark 工作负载的性能和正确性挑战,尤其是在高并发的情况下,非原子更新和元数据操作会导致严重的瓶颈。
Hudi 扎根于 Hadoop 生态系统,Hudi 的主要目的是减少流数据摄取过程中的延迟,提供表、事务、更新/删除、高级索引以及与各种存储实现(包括像 MinIO 这样的云原生对象存储)的兼容性等功能。
关于三种主要开放式表格格式之间的选择,已经写了很多内容,有些人断言它们之间存在高达80% 的功能等效性。考虑到这些开放式表格格式所处并继续繁荣发展的互操作性环境,这种区别的融合是有道理的。这些格式的创建者优先考虑功能,而不是传统的供应商锁定和运营控制概念。
即使在这些最近的公告之前,开放式表格格式已经成为现代数据湖设计的不可或缺的一部分。反过来,数据湖一直是现代数据堆栈不可或缺的一部分。最近一项调查由Dremio 进行,发现 70% 的受访者表示,超过一半的分析将在三年内在数据湖中进行。这种普遍的采用标志着组织结构化和管理数据方式的范式转变,强调互操作性、灵活性以及性能。
云原生数据湖及其组件和技术(如开放式表格格式)成为现代数据堆栈的中心舞台,这并不奇怪。这与传统的、整体的遗留硬件和软件形成了鲜明对比,这些硬件和软件以批发的方式出售给希望在其老化系统上贴上“云技术”标签的组织。成为云原生不仅仅是添加 API——现代数据堆栈是一个模块化且专业的工具集合,专门针对各种数据处理方面。它专为适应性而构建,诞生于云中,并遵循高性能标准。这些特性使现代数据堆栈成为组织的诱人选择。堆栈的模块化提供了多种选择,使组织能够创建符合其特定需求的定制数据基础设施,从而在不断变化的数据环境中促进敏捷性。
尽管这种选择范围不断变化,但仍然有一些定义特性贯穿堆栈的各个组件。
- 云原生:现代数据堆栈旨在跨各种云环境无缝扩展,确保与多个云的兼容性,以防止供应商锁定。
- 性能优化:堆栈采用软件优先的方法设计,并以性能为目标,以提高效率。
- RESTful API 兼容性:堆栈在其组件之间建立了一个标准化的通信框架。这促进了互操作性,并支持微服务的创建。
- 解耦存储和计算:堆栈支持计算资源和存储容量的独立扩展。这种方法通过允许每个方面根据特定需求进行扩展,优化了成本效率并提高了整体性能。
- 对开放性的承诺:除了支持开放式表格格式之外,现代数据堆栈还以开源解决方案的形式拥抱开放性。这种承诺消除了专有孤岛并减少了供应商锁定,从而促进了协作、创新以及数据可访问性的提高。对开放性的奉献强化了堆栈跨各种平台和工具的适应性,确保包容性。
数据可移植性和互操作性作为业务标准
真正拥抱数据可移植性和互操作性意味着能够在任何地方创建和访问数据。这种方法促进了灵活性,使组织能够利用各种工具的功能,而不会受到供应商锁定或数据孤岛的限制。目标是实现对数据的通用访问,从而在组织内部促进更敏捷和适应性更强的数据生态系统。
理解云作为一种运营模型是建立在云原生技术的原理上,而不是特定的位置,这对于实现数据可移植性至关重要。一些组织在这方面遇到了困难,并试图以巨额成本购买进入云的方式。现实情况是,虽然云采用为普通公司提供了将盈利能力提高 20% 到 30% 的机会,但真正的影响和真正的成本节约来自于在私有基础设施上拥抱云运营模型。
许多成熟的组织正在积极采用这种理念,选择将工作负载从云中迁回,并实现了可观的成本节约,例如X.com、37Signals 以及一家大型企业安全公司平均节省了 60% 的云支出。云运营模型允许看似矛盾的想法共存:公司可以从迁移到云中以及将工作负载迁回中获益。关键决定因素是采用云运营模型,从根本上改变组织对基础设施、开发和技术效率的看法。这种模型优化了灵活性、效率和长期成功——无论是在公有云还是其他地方——并且与现代数据堆栈的概念完美契合,使开放式表格格式能够实现数据可移植性和互操作性。
结论
Databricks、Apache Iceberg 和 Hudi 在开放式表格格式方面取得的最新进展标志着数据管理领域的一个关键时刻。Delta Lake 3.0 的通用兼容性和对 Apache Iceberg 的扩展支持展示了数据基础设施公司和现场实施者对无缝数据可移植性和互操作性的承诺。
这些发展与现代数据堆栈的固有模块化相一致,开放式表格格式在实现性能和合规性标准中起着核心作用。这种转变并非孤立,而是与云运营模型相交。除了公有云的吸引力之外,真正的影响和成本节约是通过在私有基础设施上拥抱云运营模型而产生的。
开放式表格格式、现代数据堆栈以及云运营模型的融合标志着数据管理领域的一个变革时代。这种方法确保了跨各种环境(无论是公有云还是私有云、本地还是边缘)的适应性。对于那些正在应对数据湖架构复杂性的人来说,MinIO 的团队随时准备提供帮助。加入我们在 hello@minio.io 或我们的Slack 频道,在我们开始您的数据之旅时进行协作讨论。