Apache Iceberg C++ 首个版本正式发布,为数据引擎提供原生 C++ 支持

📌 导读:

Apache Iceberg 社区近日宣布,正式发布 Apache Iceberg C++ 0.1.0 版本。Apache Iceberg 作为开放湖仓(Open Lakehouse)的事实标准,其生态长期以来缺少原生的 C++ 实现。这使得众多以 C++ 为核心构建的数据处理引擎(如 ClickHouseDorisStarRocks)和人工智能框架(如 TensorFlowPyTorch)在与 Iceberg 表交互时面临性能瓶颈。

此次发布的 0.1.0 版本是该项目的首个官方版本,标志着Apache Iceberg 在支持原生 C++ 应用方面迈出了关键一步,是其生态发展的一个重要里程碑。

关于 Apache Iceberg C++

Apache Iceberg C++ 是一个实现了 Apache Iceberg 规范的 C++ 库。其核心目标是为 C++ 应用程序和系统提供一套完整、高效的接口,以便直接读取、写入和管理 Iceberg 表,而无需依赖 Java 虚拟机(JVM)或其他跨语言调用(如 JNI)。该项目旨在为 C++ 数据生态系统中的各类工具,包括查询引擎、数据处理框架以及客户端应用,提供与 Iceberg 进行原生交互的能力。

里程碑意义

Apache Iceberg C++ 0.1.0 版本的发布具有多重重要意义:

  • 消除性能瓶颈:通过提供原生 C++ 接口,彻底消除了 JNI 调用带来的序列化/反序列化和上下文切换开销,使 C++ 引擎能够以其最高性能直接访问 Iceberg 数据。
  • 扩展生态系统:将 Iceberg 强大的数据管理能力(如 ACID 事务、模式演进、时间旅行和分区演进)带入 C++ 世界,使 ClickHouse、StarRocks 等主流 C++ 引擎可以无缝集成 Iceberg,从而进一步巩固 Iceberg 作为跨语言、跨平台数据湖仓标准的地位。
  • 赋能新应用场景:原生 C++ 的高性能特性,使得 Iceberg 能够更好地支持对延迟敏感的应用场景,例如实时数据分析、特征工程以及在线机器学习模型的服务层,为 Open Lakehouse 架构的应用拓展了新的边界。

项目架构

为了适应 C++ 生态系统复杂多样的依赖环境和性能要求,Iceberg C++ 在设计上采用了模块化的双层库架构:

  • 核心库 (Core Library):一个轻量化的、面向接口的库,拥有最小化的第三方依赖。它定义了如 Catalog、FileIO 等核心抽象接口,允许各类引擎方便地集成并插入其自身高度优化的实现,提供了最大的灵活性。
  • 捆绑库 (Bundled Library):一个功能完备的、“开箱即用”的库。它基于 Apache Arrow C++ 和 Apache Avro C++ 等成熟的开源组件,为用户提供了完整的文件系统支持、Parquet 读写器等功能,旨在简化用户的上手和使用流程。

该项目遵循现代 C++ 标准(C++23),确保代码的健壮性、安全性和性能,并致力于提供跨主流操作系统(Linux, macOS, Windows)和编译器(Clang, GCC, MSVC)的一致性支持。

欢迎加入

Apache Iceberg C++正处在一个激动人心的起点,诚挚邀请您加入!为数据引擎、AI 框架和高性能应用提供新的可能,推动开放湖仓生态迈向更广阔的未来。


云器科技官网 - 改变数据的使用方式

更多内容,欢迎关注「云器科技」官网!

云器科技-多云及一体化数据平台提供

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值