基于Apache Doris数仓实时离线一体化探索
背景介绍
数仓职能包括数据集成、数据存储、数据查询、数据处理和数据分析。传统数仓架构存在组件多、架构复杂、运维困难、查询效率低、存储成本高等问题。
架构演进
新一代数仓选型关键要素包括数据查询性能、存储成本、使用成本、运维部署和社区活跃度。基于Apache Doris的离线实时一体化数仓架构具有架构简单、冷热存储、成本与效率均衡等优势。应用收益包括数仓投入成本减少50%~60%、查询结果秒级别返回、数据处理链路缩短、集群故障追踪简单等。
最佳实践
- 大表冷数据查询优化:通过重新设计表、规划tablet大小、利用前缀索引、使用布隆过滤器等措施,将冷数据查询速度提升数十倍。
- 游戏日志接入重构:使用Flink消费Kafka写入Doris实时数仓,数据延迟秒级别,成功替换老版业务日志数据查询功能,减少服务器成本。
- 数据治理:通过统一管理数据源、规范ODS表命名规则、自动化建表、数据同步、数据源信息懒加载等措施,解决数据源众多、表命名不规范、字段类型浪费、分库分表维护等问题。
未来规划
- 调研3.0版本的存算分离架构,考虑将数据全部存储到对象存储。
- 使用异步物化视图,减少数据链路和代码维护。
- 调研倒排索引,Elasticsearch数据迁移,持续优化存储成本。