1、云原生数据仓库Apache Doris 特性解读与未来规划陈明雨Apache Doris PPMC百度认识 Doris01为什么要选择 Doris02Doris 的进行时和未来式03认识Doris012008Doris12009Doris22012Doris 32012MySQL+Doris3OLAP Engine20132013Palo12015Palo22017PaloOpenSource2018Apache DorisDoris在在数数据据流流中中的的定定位位为什么选择Doris02当我们选择一款分析型数据库时,我们在选择什么?1足够简单2足够高效3功能丰富4开源开放1足够简单 架构图都
2、没看懂,怎么运维系统?副本坏了要手动修复?扩容集群要1人周?我不管,我只会写SQL!每次升级都要给用户发通告?。MySQL Tools(MySQL Networking)FE(Leader,JAVA)FE(Follower,JAVA)FE(Follower,JAVA)FE(Observer,JAVA)BE(C+)BE(C+)BE(C+)BE(C+)整整体体架架构构简简单单,产产品品易易用用 高度兼容MySQL协议 主从架构,不依赖任何其他组件 FE负责解析/生成/调度查询计划 BE负责执行查询计划、数据存储 任何节点都可线性扩展Tablet 1Tablet 3Tablet 1Tablet 2T
3、ablet 2Tablet 3Tablet 2Tablet 3Store 1Store 2Store 3BEBEBEMasterFEFEMySQL ClientTablet 1Tablet 2Tablet 3TableTablet 1Tablet 1Tablet 3Tablet 1Tablet 2Tablet 2Tablet 3Tablet 1Tablet 1Tablet 3Store 1Store 2Store 3Store 4BEBEBEBETablet 2Tablet 2多多副副本本存存储储,自自动动数数据据迁迁移移、副副本本均均衡衡标标准准SQL支支持持 单表聚合、排序、过滤 多表关联
4、、子查询、窗口函数灰灰度度升升级级 分布式系统升级,并没有那么可怕 向前兼容,滚动升级 查询自动重试,减少业务感知FE(Leader,JAVA)FE(Follower,JAVA)FE(Follower,JAVA)FE(Observer,JAVA)BE(C+)BE(C+)BE(C+)BE(C+)2足够高效存储引擎查询引擎优化器存存储储引引擎擎 多种编码方式 自适应编码 按需读取012IDNameCostJohnShawnMarry1005050012IDNameJohnShawnMarryCost1005050BitShuffleDictionaryRLESegment 1Segment 2Se
5、gment 3HeaderData RegionIndex RegionFooterColumn 1Column2Column3Page 1Page 1Page 1存存储储结结构构前前缀缀稀稀疏疏索索引引:基基于于排排序序列列查查询询的的快快速速过过滤滤 Min Max 索引 Bloom Filter 倒排索引?存存储储引引擎擎索索引引结结构构 前缀稀疏索引 Min Max索索引引:Segment和和Page级级别别快快速速过过滤滤 Bloom Filter 倒排索引存存储储引引擎擎索索引引结结构构DataPageSegmentMin/MaxHasNullHasNotNullMin/MaxHa
6、sNullHasNotNullDataPageMin/MaxHasNullHasNotNullDataPageMin/MaxHasNullHasNotNull 前缀稀疏索引 Min Max 索引 Bloom Filter:Page级级别别的的快快速速过过滤滤 倒排索引存存储储引引擎擎索索引引结结构构DataPageDataPageDataPageBloomFilter1BloomFilter2BloomFilter3 前缀稀疏索引 Min Max 索引 Bloom Filter倒倒排排索索引引:基基于于Bitmap快快速速精精确确查查找找存存储储引引擎擎索索引引结结构构 先过滤、再取数 减少