Apache Doris(incubating)介绍

介绍Apache Doris(incubating), 原百度Palo。Doris是一款MPP数据库,能够解决一些用户的在线报表、分析需求。由百度开源,被Apache社区接收正在孵化。在百度内部支持百度统计等需求。开源后已经被小米,美团,新浪等公司在生产环境使用。本次分享会介绍Doris的整体架构,Doris的技术特性,应用场景,以及Doris的使用案例。
展开查看详情

1.Apache Doris(incubating) 介绍

2.目录 •  Doris背景介绍 •  适用场景&案例介绍 •  Doris整体架构 •  Doris关键技术

3.Doris •  A MPP-based Interactive Data Analysis SQL DB •  面向百TB ~ PB级别,结构化数据,毫秒/秒级分析 •  百度大数据部研发 •  OLAP团队第三代产品:Doris -> OLAP Engine -> Palo -> Apache Doris •  200+产品线使用,1000+台机器,单一业务最大百TB

4.Doris外部用户

5.Doris定位

6.Doris定位 低成本 线性扩展 支持云化部署 1/10 ~1/100 Cost 100~200节点 / 1000 TB 高可用 高查询性能 高加载性能 99.9999 % Uptime 10W QPS/ 100GB/s 10 TB / Hour

7.在线报表

8.多维分析

9.目录 •  Doris背景介绍 •  适用场景&案例介绍 •  Doris整体架构 •  Doris关键技术

10.适用场景 •  对数据分析、统计 •  报表 – MySQL存结果数据 – 跑批处理,发送邮件 •  多维分析 – Hadoop + Hive

11.案例分析-1 •  百度统计 – 为网站站长提供流量分析,网站分析,受众分析等多种分析服务 – 450w网站 – 每天查询量1500w,峰值QPS1400+ – 日处理数据量2TB+ – 5分钟导入 – 30ms平均查询时延

12.案例分析-2 •  百度云交易系统 – 提供订单、账单、扣费、交易流水等T级别量数据的存储和实时查 询服务 – 12T数据量 – 每5分钟导入 •  百度云数据中心 – 提供百度云经营分析,产品分析,用户分析等多种分析服务 – 提供多维度(100+)分析、高性能(秒级)BI能力 – 日处理数量1TB+ – 分钟级导入

13.案例分析-2

14.目录 •  Doris背景介绍 •  适用场景&案例介绍 •  Doris整体架构 •  Doris关键技术 •  Doris对外开放

15.Doris整体架构 MySQL Tools (MySQL Networking) Palo-FE Palo-FE Palo-FE Palo-FE (Leader, Java) (Follower, Java) (Follower, Java) (Observer, Java) Palo-BE Palo-BE Palo-BE Palo-BE (C++) (C++) (C++) (C++)

16.Doris数据分布 MySQL Client Master FE FE BE BE BE BE Table Tablet 1 Tablet 1 Tablet 2 Tablet 1 Tablet 1 Tablet 2 Tablet 3 Tablet 2 Tablet 3 Tablet 2 Tablet 3 Tablet 3 Store 1 Store 2 Store 3 Store 4 Doris

17.Doris使用

18.目录 •  Doris背景介绍 •  适用场景&案例介绍 •  Doris整体架构 •  Doris关键技术

19.数据可靠性 •  元数据 –  Memory + Checkpoint + Journal –  类Raft协议实现,高可靠&高可用 •  数据 –  多副本 –  自动修复 Log Replicating Leader Followers Observers Metadata In MEM Metadata In MEM Metadata In MEM Checkpoint.10 LOG.11 Checkpoint.10 LOG.11 Checkpoint.10 LOG.11 LOG.12 LOG.12 LOG.12 Checkpoint.13 Checkpoint.13 Checkpoint.13 LOG.13 LOG.13 LOG.13 LOG.14 LOG.14 LOG.14

20.易运维 •  无外部依赖 •  Online Schema Change – 在线更改表模式(加减列、创建Rollup) – 用户无感(不阻塞读、写) – 异步执行 •  副本自动均衡 – 扩、缩容只用一条SQL,无需额外操作 •  内置监控

21.易运维

22.MySQL兼容性 MySQL Network Protocol & MySQL语法 MySQL Tools (MySQL Networking) FE FE FE FE (Follower, (Follower, (Leader, Java) (Observer, Java) Java) Java) BE BE BE BE (C++) (C++) (C++) (C++)

23. MySQL Client MySQL Proxy MySQL Protocol Layer Frontend ü  轻量级客户端 ü  与上层应用兼容容易 ü  学习曲线平缓,方便用户上手使用 ü  利用MySQL相关工具,比如MySQL Proxy

24.Tableau兼容性

25.R语言兼容性

26.MPP(Massively Parallel Processing)

27.数据模型-1 Time Id Country Clicks Cost 2013/12/31 1 US 10 32 2014/01/01 2 UK 40 20 2014/01/01 2 US 150 80 •  Key列,Value列 •  Key列全局有序 – 查询快速定位 •  全Key全局唯一 – 相同Key的行,其Value列合并(SUM,MIN,MAX,REPLACE)

28. 数据模型-2 Time Id Country Clicks Cost 2013/12/31 1 US 10 32 2014/01/01 2 UK 40 20 Base 2014/01/01 2 US 150 80 + Time Id Country Clicks Cost 2014/01/01 1 US 5 3 Delta 2014/01/01 2 UK 60 30 2014/01/01 2 US 50 20 = Time Id Country Clicks Cost 2013/12/31 1 US 10 32 New Base 2014/01/01 1 US +5 +3 2014/01/01 2 UK 40+60 20+30 2014/01/01 2 US 150+50 80+20

29. 数据模型-3 versioned ion num- n update Users can update. plications ons in the the stan- e) update key. More pport use Figure 3: A two level delta compaction policy n inverse detection 引自Google Mesa Paper raudulent is called base compaction, and Mesa performs it concurrently ere could and asynchronously with respect to other operations (e.g., ure 2 that