网易ARCTIC基于APACHE ICEBERG构建的实时湖仓一体系统
业务当前的挑战
- Lambda架构下,流与批处理存在割裂,导致数据孤岛、独立采购和部署等问题。
基于ICEBERG构建的湖仓一体系统
- 功能特性:定义在Hive/Iceberg表格式之上,计算引擎之下,提供表结构优化及Kafka封装的实时湖仓系统。
- 主要功能:
- 支持Primary Key:支持CDC摄入、实现Upsert语义。
- 自动优化:支持Minor和Major优化,优化小文件数量和合并change文件。
- 流批一体表:支持CDC、实时订阅、Lookup join和Temporal join。
- 并发写入与一致性保证:支持数据回补和GDPR/CPAA操作。
- Hive兼容性:支持Hive表原地升级、读取和写入arctic表,自动识别Hive写入文件。
实践案例
- 推送营销分析:
- 实时生产:支持流式更新,提供实时数仓能力。
- 批量分析切换到实时生产:优化报表响应时间10-100倍。
未来规划
- 更多流批一体场景:支持Rollup聚合视图、Sort Key支持、部分列的Stream upsert。
- 增强功能:支持Temporal join、更强大的Dashboard、任务血缘与数据血缘、SQL自助查询、安全体系完善、支持开放式权限插件、数据湖支持等。
- 开源计划:预计在6月底开源。
总结
网易ARCTIC基于Apache Iceberg构建了实时湖仓一体系统,解决了流与批处理的割裂问题,提供了强大的数据管理和优化功能,支持流批一体、实时订阅、实时join等特性,并具备良好的Hive兼容性。未来规划中将进一步增强功能和用户体验,支持更多场景和数据湖应用。