Presentation is loading. Please wait.

Presentation is loading. Please wait.

CascaDB/TokuDB性能与适用场景分享

Similar presentations


Presentation on theme: "CascaDB/TokuDB性能与适用场景分享"— Presentation transcript:

1 CascaDB/TokuDB性能与适用场景分享
一工

2 个人简介 一工 开源爱好者, 目前在淘宝核心系统数据库组从事存储引擎研发工作

3 大纲 B-tree 索引缺点 Buffer-tree 索引结构 性能及适用场景分析

4 随机读 随机读总时间 = 寻道时间 + 读取数据时间

5 B-tree B = 16KB 50GB / 16KB ~ 300百万个node,太多了! 缺点:不适合随机读写,大部分是寻道时间!

6 Buffer-tree B = 4MB (块大,整块压缩,~1MB) 50GB / 4MB ~ 1万个node,node少!

7 Buffer-tree VS LSM-tree
Buffer-tree(CascaDB/TokuDB) - Compactions的时候,数据流动性:root-to-leaf - 父节点的数据要到自己的子节点去,范围可控 LSM-tree(LevelDB) - Compactions的时候,Level-N的数据可能要merge 到Level-(N+1)的多个“节点” - 范围不好控制,可能会浪费磁盘IO

8 10亿随机写(CascaDB vs LevelDB)
单线程4G缓存,10亿条数据随机写 详情:

9 10亿随机写(TokuDB vs InnoDB)
更多 (via tokutek)

10 SSD如何? B-tree块小,不好压缩,写ops高 Buffer-tree块大,压缩性能好,写ops低,对SSD友好
更多 (via tokutek)

11 Buffer-tree索引 索引: - Insert/Delete/Update均可lazy式操作,延迟小 - Column可Hot式增删改
- 多版本,无undo log ,recovery快 - 节点块大,适合压缩,写盘少,也适合SSD 读优化: - buffer又细分成多个block - 增加bloom filter,读可只load pivots数据。

12 不适用场景 select count操作,需做表扫描 affected rows操作 有得有失,不同场景

13 讨论 Thanks!


Download ppt "CascaDB/TokuDB性能与适用场景分享"

Similar presentations


Ads by Google