Apache Iceberg 在现代数据架构中的颠覆性影响

121 阅读6分钟

如今很多企业在数据海洋中挣扎,管理数据成了一项艰巨的任务。虽然像 Snowflake、Redshift 和 BigQuery 这样的传统数据仓库可以提供一定帮助,但费用通常不菲,还存在厂商锁定的问题。Apache Iceberg 作为数据领域的新星正在改变这一切。

除了节省成本,Iceberg 还有以下特性值得关注:

  • 数据结构化:将混乱的数据湖转变为结构化、可查询的资源。
  • 避免厂商锁定:避免被单一厂商的价格和限制束缚。
  • 多引擎兼容:为每个数据任务选择最佳工具,最大限度地提高效率和成本效益。
  • 面向未来的架构:适应不断发展的技术,无需痛苦的迁移。

在历史分析领域,像 SnowflakeRedshift 和 BigQuery 等平台早已是主流。然而,Apache Iceberg 正成为数据工程领域的热门话题。用户越来越多地将数据直接发送到 Iceberg 来构建湖仓,重新定义他们管理和查询数据的方式。

从本质上说,Iceberg 提供了多个变革性的能力,如模式演进(Schema evolution)、时间旅行(Time travel)、以及使用各种工具进行数据分析(兼容多种引擎)。这些功能在管理庞大数据集时是颠覆性的,同时也不仅仅是技术优势。采用 Iceberg 要求企业从战略上思考——从各个角度:成本、厂商独立性和未来的可扩展性。因此,Iceberg 的兴起不仅仅是由于技术因素,更主要的是体现了一种范式更迭(Paradigm shift),反映了企业在数据架构上更加开放、更加灵活以及面向未来的倾向。

1. Apache Iceberg 带来的变革性影响

尽管使用 Iceberg 面临多种挑战,采用它的企业仍在不断增长,这不仅是因为技术层面的原因,还因为它在业务上的变革性影响:

1.1 驾驭数据湖

没有 Iceberg 时,在 S3 上的原始数据文件中找到特定信息如同大海捞针。虽然像 AWS Athena这样的工具可以查询文件,但管理数据的结构(Schema)和访问控制(Access control)需要手动设置。Iceberg 可以将 S3 buckets 转变为结构化、可查询的数据集,加上适当的访问控制,兼容任何现代查询引擎。通过在 S3 上层使用 Iceberg,企业可以整合数据湖中不断增长且杂乱无序的数据,让全局分析触手可及。

1.2 摆脱厂商锁定

厂商锁定 (Vendor lock-in)是使用 Snowflake 这类专有系统的企业面临的重大问题。历史上,如果数据存储在 Snowflake 中,当 Snowflake 决定提高费用时,用户几乎没有讨价还价的能力。将数据迁移到另一个平台需要大量的努力,这使得 Snowflake 拥有很大的优势。而 Iceberg 广泛的兼容性则可以摆脱厂商锁定。存储在 Iceberg 格式中的数据可以被许多引擎查询,企业能够更有效地切换厂商、协商价格。例如,企业可以将 Iceberg 与Amazon EMR 或 Databricks 这样的云原生计算引擎配对,在数据需求变化时依然能够适应。这种灵活性不仅能够降低成本,还能保证公司的数据战略经得住时间考验,在不断变化的技术环境中保持敏捷。

1.3 多引擎兼容

不同的数据处理工具(engines)擅长不同的任务。Iceberg 支持多引擎,用户可以根据任务类型选择最合适的工具。例如,将 Iceberg 与 Snowflake 配对以处理复杂的分析查询(OLAP),与 DuckDB 配对进行轻量级分析。这类组合既节省成本,又不影响灵活性。其他查询引擎,如 Trino(用于联邦查询)、RisingWave(用于流处理)、LanceDB(用于向量搜索)、PuppyGraph(用于图形分析)等,提供了多场景下的低延迟查询能力,进一步丰富和提升了 Iceberg 生态系统。此外,借助多引擎兼容,企业将不再局限于单一技术,可以实现从交互式仪表板到实时流分析的多种高级功能。

1.4 多语言支持

Iceberg 支持多种编程语言,因此对跨职能团队具有强大吸引力。数据工程师可以使用 SQL;数据科学家可以利用 Python。在机器学习和人工智能方面,Iceberg 与 Python 工具的兼容性能够提供无缝的数据访问,助力模型训练和推理。此外,PyIceberg 等框架简化了 Python 集成,方便在 Python 环境直接进行复杂数据处理。团队还可以使用 Java 或 Scala 等语言,确保 Iceberg 无缝融入从后端系统到高级数据科学的多样化企业工作流程中。

2. 在 Iceberg 上构建未来的数据仓库

像 Apache Iceberg 这样的开放表格式标志着数据管理的未来。独特的灵活性与生态系统的兼容性让其成为专有系统有力的替代方案,为现代数据架构设定了新标准。

到 2025 年,我相信所有数据库都将发展成本质上以 Iceberg 格式存储数据的数据引擎。如何实现?在 RisingWave Labs,我们已坚定地朝着这一愿景迈进。RisingWave 是一种云原生流数据库,现提供对 Iceberg 表的全面支持,让用户能够无缝地存储和查询Iceberg格式的数据:

通过这一集成,RisingWave 用户可以轻松接入 Iceberg 生态系统,充分利用其开放且具有未来适应性的设计。用户可以灵活地使用任何引擎或编程语言与数据进行互动,确保在日益扩展的分析环境中保持兼容性。这是迈向真正开放和可互操作数据生态系统的重要一步。

3. 结语

Apache Iceberg 不仅是一项新技术,还标志着我们管理和利用数据方式的根本变革。通过倡导开放访问、灵活性和厂商独立性,Iceberg 让组织构建起真正具备未来适应性的数据架构。来自 Databricks、Snowflake 及 AWS 等行业巨头的支持进一步巩固了它作为现代数据工程基石的地位。随着数据领域的不断演进,Iceberg 为实现更开放、灵活和强大的未来铺平了道路。你准备好踏出这一步了吗?

4. 关于 RisingWave

RisingWave 是一款开源的分布式流处理数据库,旨在帮助用户降低实时应用的开发成本。RisingWave 采用存算分离架构,提供 Postgres-style 使用体验,具备比 Flink 高出 10 倍的性能以及更低的成本。

👨‍🔬加入 RW 社区,欢迎关注公众号:RisingWave中文开源社区

🧑‍💻想要了解和探索 RisingWave,欢迎浏览我们的官网:risingwave.com/

🔧快速上手 RisingWave,欢迎体验入门教程:github.com/risingwave

💻深入理解使用 RisingWave,欢迎阅读用户文档:zh-cn.risingwave.com/docs