初识 Doris
1. OLAP 应用场景
最近调研 Doris,设想了针对行为分析、用户分析的应用场景,看看 Doris 匹配程度。
2. Doris 介绍
2.1 关键词
MPP 架构:Massively Parallel Processing 大规模并行处理,节点并行计算。
海量数据
实时分析
列式存储
2022 年 6 月 Apache 顶级项目
2.2 使用场景
报表分析:毫秒以内
即席查询:分钟以内
数据仓库
联邦查询:外表关联 Hive、IceBerg、Hudi
2.3 技术架构
2.3.1 Frontend(FE)
用户请求处理
SQL 解析校验
SQL 执行计划创建
元数据管理:库、表、任务定义
运维:节点管理、任务监控
2.3.2 Backend(BE)
数据存储
数据聚合
执行查询计划
2.4 高性能
2.4.1 丰富索引
Sorted Compound Key Index:最多 3 列复合排序键高并发场景分析
Z-order Index:字段任意组合的范围查询
Min/Max :数值范围查询
Bloom Filter :高基数列去重
Invert Index :倒排索引字段快速检索
2.4.2 物化视图
自动更新保持保持数据的一致性,减少维护成本。
2.4.3 查询引擎
复杂的大表分布式的 Shuffle Join
利用 CPU SIMD 支持向量化计算
Adaptive Query Execution : Runtime Statistics 动态调整执行计划过滤大幅数据
3. 安装部署
3.1 约束和建议
3.2 生产环境推荐
3.3 主机资源
3.4 安装 FE
3.5 安装 BE
3.6 安装 Broker
3.7 主要端口
4. 数据模型
4.1 聚合模型
数据写入时,按照维度列对其他指标列进行聚合操作,操作结果:多条数据如果所有维度列相同,那么会对所有指标列进行聚合。
4.2 Unique 模型
通过定义主键保证数据的唯一性,Unique 模型简化了数据导入流程,能够更好地支撑实时和频繁更新的场景。
4.3 Duplicate 模型
用于存储原始数据,允许重复数据
5. 事件分析适配:分页面 PV、分页面 UV
步骤 1:使用 Duplicate 模型存储原始数据
步骤 2:使用聚合模型计算分页面 PV
步骤 3:使用 Unique 模型计算分页面 UV
6. 留存分析适配:用户注册后 7 日内下订单比重
使用 Unique 模型
7. 漏斗分析适配:订单支付:用户注册 > 挑选商品 > 提交订单 > 支付
使用聚合模型 + Bitmap
其余场景使用 Doris 基本都可以适配,满足功能需求后,接下来会着重进行故障测试和性能测试。
评论