字节基于DORIS的数据湖仓探索
字节当前的湖仓一体实践
字节当前的数据架构实践主要包括纯数据仓库、Lambda架构和湖上建仓三种模式。其中,Lambda架构存在历史数据回溯、数据服务对接困难、批量计算较弱等问题;湖上建仓则面临分钟级数据延迟和数据服务能力弱的问题。
存在的问题与挑战
字节在数据平台建设中面临以下主要挑战:
- 高并发查询能力不足:现有Hive、Spark、Presto等技术无法支撑高QPS查询,存在单点瓶颈,无法横向扩展。
- 数据延迟较高:LakeHouse架构下数据可见延迟为分钟级,无法满足实时指标查询和实时风控需求。
- 多维分析性能不足:数据模型固定,非预定义维度查询性能较差。
- 技术栈复杂运维困难:多技术栈导致人力成本高、运维复杂,数据割裂在多个系统间ETL。
基于Doris的解决方案
字节采用Doris作为数据服务层,主要解决方案包括:
- 打通Doris与数据湖:支持Hudi数据存储,包括创建Hudi表、查询Hudi COW/MOR表、分区表和分区裁剪。
- 打通Doris与HiveMetaStore:支持HiveCatalog配置,可直接查询HMS中的表,实现Doris与Hive表的联邦分析。
- 核心优势:Doris支持高并发数据查询、横向扩展、亚秒级数据时延、灵活维度分析。
未来规划
字节对Doris的未来规划包括:
- 支持复杂数据类型:满足业务灵活多变对数据模式的需求,支持半结构数据分析。
- 主键索引:通过构造内存主键索引提高更新删除性能,确保更新场景下查询性能不劣化。
- 存算分离:全量数据存放于对象存储系统,热数据存在本地缓存,支持BE动态扩缩和数据预加载。