本文介绍Doris版本演进规划和V1.2版本的新特性。
Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。
Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。
Doris-1.1版本回顾:
|
特性 |
1.0版本 |
1.1版本 |
优化效果 |
1 |
性能优化 |
正式发布向量化引擎,查询性能提升,但不稳定 |
默认开启向量化引擎 |
查询性能提升: 2.TPCH整体提升4.5倍。 |
2 |
Compaction优化 |
高频数据导入场景会出现版本堆积(-235)错误:导入速度大于后端数据merge速度时会阻塞导入 |
1. 优化compaction选择版本的策略,避免一次处理选择大量版本而导致线程阻塞 2. 主动compaction,杜绝版本堆积错误 |
高QPS数据导入场景下,处理延时由200ms降低至50ms |
3 |
LTS与发版周期 |
/ |
1.1版本未发布较多新功能,主要做bug修复和性能优化。 |
2位版本:(2-3个月)包括BUG修复和功能更新(如1.1->1.2) 3位版本:(2-3周)包括BUG修复和稳定优化(如1.2.1->1.2.2) |
发版迭代计划:
用户在进行版本升级时,需要满足旧版本bug修复需求,但对新功能的不确定性存在顾虑,所以doris探索LTS(Long-Term-Support)版本的维护,每2-3月更新大版本(2位版本),每2-3周更新小版本(3位版本),3位版本更新代码变化不大,可回滚,可通过3位版本更新修复紧急问题。
Doris-1.2版本新功能特性:
发布时间:2022年8月
特性 |
1.1版本 |
1.2版本 |
优化效果 |
|
1 |
冷热分离 |
采用本地盘/云磁盘实现数据存储: 3副本; 单位存储成本高,无弹性; 难以根据业务需求来计算存储成本; 云磁盘甚至达到9副本 |
1. 支持对象存储:纠删码;单位存储成本低;无限付费;按需付费 2. Rowset级别的冷热分离(Tablet下以不同Rowset存储冷数据和热数据) 3. 冷数据支持导入、查询、schema change 4. 创建存储策略,制定数据冷却的时间和位置,支持分区级别 5. 后续优化:当前对象存储副本数和本地副本数一致,后续会优化为单副本;通过缓存机制使得对象存储中的历史数据第一次查询时间可能较长,但进行第二次查询的性能等同于本地盘效果
|
1. 存储成本降低70%; 2. 场景:可以将历史数据冷存到对象存储上,牺牲查询性能以换取存储成本的降低。 |
2 |
New unique key |
Unique 模型,数据按主键做更新,merge-on-read机制,计算和查询过程中进行大量归并、排序、比较等操作,无法了解非KEY列的谓词下推,性能较差 |
1. 基于主键索引,在做数据导入时在索引中查找并标记状态记录在delete bitmap中,数据读取时先通过delete bitmap过滤,减少读取时的归并排序 2. 高频导入场景,会产生多个版本数据,如果每个版本查找主键效率较低,通过添加索引可快速检索所需主键 3. merge-on-write,将归并等处理放在写入阶段,提升查询阶段的性能 |
1. 写入性能降低30%; (append->append+lookup) 2. 查询性能提升10倍,接近明细模型的查询效率 3. 适合场景:对写入压力不大,查询性能要求高的场景 |
3 |
Light schema change |
无法支持上游schema变更(如加减列),schema同步延迟在分钟级别,会造成数据堆积 |
1. 轻量级schema change 2. 只修改FE元数据 3. 毫秒级的加减列更新 4. 底层数据不动 5. tablet下放到rowset级别,对应标记schema,写入rowset时,如果schema变更,会使用新的schema写新的rowset,数据查询时保证每一个rowset的schema自解释 |
1. 支持同步元数据变更 2. 适合场景:上游数据通过CDC同步到下游,上游业务数据经常变更,schema变更情况的场景 |
4 |
New mem tracker |
内存统计不完善,大查询会导致进程OOM,BE挂掉 |
1. 自动统计内存开销 2. 进程级内存限制,防止OOM 3. 查询级别内存限制 4. 查询内存超限时会自动取消查询 5. 算子级别内存统计,提升可观测性 |
通过内存限制,避免进程OOM,减少集群节点故障
|
5 |
Multi catalog |
查询外表需手动创建外表table,使用不方便 |
1. 对应多数据源的catalog 2. 只需建立连接就可以自动同步外表 |
支持多种外部数据源的联邦查询 |