众所周知,湖仓一体架构(Lakehouse)能提供更为统一和高效的数据处理与分析能力。
StarRocks 当前已打通多种数据湖组件,如 Apache Iceberg、Apache Hudi、Delta Lake、Apache Paimon 等,实现了对数据湖的实时查询与分析。不仅能够作为查询引擎直接读取数据湖中的数据,还支持物化视图等高级功能,进一步提升查询性能,帮助企业"一键实现"湖仓架构。
1. StarRocks 与 Apache Iceberg 的集成
Apache Iceberg 是一个开源的表格式,用于在大数据平台上提供高效、可扩展的数据存储。目前,用户可以直接在 StarRocks 中查询存储在 Iceberg 中的大规模数据集,无需数据迁移或转换。
这一集成不仅简化了数据处理流程,还显著提升了查询效率。StarRocks 支持 Iceberg 表的 Snapshot 查询,能够获取数据的最新状态,满足用户对实时数据分析的需求。
应用实践:微信基于 StarRocks 的湖仓一体实践
腾讯微信团队基于 StarRocks 和 Iceberg 构建了湖仓一体架构,满足海量数据的实时查询需求,数据分析团队实现了查询效率和数据时效性的显著提升,数据时效性从小时/天级提升至分钟级,查询效率也从分钟级提升至秒级/分钟级。
2. StarRocks 与 Apache Hudi 的集成
Apache Hudi方面,StarRocks 提供对 Hudi 表的高效查询能力,通过全新 Connector 框架,实现了对 Hudi 表的 Snapshot 查询、Incremental 查询和 Read Optimized 查询的支持。特别是 StarRocks 2.4 及更高版本,通过简化配置过程,用户可以更便捷地查询数据库下所有 Hudi 表格式的数据。
3. StarRocks 与 Delta Lake 集成与应用
Delta Lake 是另一种流行的数据湖格式,专注于提供 ACID 事务和可靠的批处理。StarRocks 支持查询 Delta Lake 中的 Parquet 格式数据,支持多种压缩格式(如 SNAPPY、LZ4、ZSTD、GZIP 和 NO_COMPRESSION)。
用户可以通过创建 Delta Lake Catalog 来访问 Delta Lake 中的数据。StarRocks 支持查询 Delta Lake 中的表。
4. StarRocks 与 Paimon 的集成
Apache Paimon 是一种新一代的湖格式,支持高效实时更新和统一的批处理与流处理操作。StarRocks 通过 External Catalog 功能支持直接查询存储在 Paimon 数据湖中的数据,并执行 SQL 查询,实现数据的快速检索。StarRocks 支持多种查询优化策略,包括 Data Cache 和异步物化视图,可以显著提升查询性能。
StarRocks与Paimon的集成应用已经在多个生产环境中得到验证。在测试中,StarRocks查询Paimon数据的效率是Trino的4.3倍,开启Data Cache后,查询性能更是提升了35.4%。这表明StarRocks与Paimon的集成应用可以显著提升数据湖中的实时数据分析能力。
镜舟科技作为基于 StarRocks 开源项目的商业化公司,深入参与 StarRocks 社区推广和技术贡献,致力于推动湖仓一体的最佳实践应用于各行各业。未来,镜舟科技将积极与数据湖领域的其他优秀厂商和开源项目开展合作,共同构建更加完善的湖仓一体生态。