-
Notifications
You must be signed in to change notification settings - Fork 6
rockeet edited this page Aug 23, 2018
·
3 revisions
注意: 当前发布的版本是试用版,将会在一个月后过期,如果您希望在生产环境使用,请联系我们获得商业授权。
- MyRocks 是 Facebook 开发的基于 MySQL-5.6,使用 RocksDB 作为存储引擎的 MySQL发行版,占用空间更小、性能更高。
- TerarkDB 是基于 Terark 可检索压缩专利技术的 RocksDB 发行版,完全兼容 RocksDB,为 MyRocks 提供更高效的压缩率和随机读性能。
TerarkDB 完全兼容 RocksDB,所以 TerarkSQL 在功能上完全等同于 MyRocks 官方发行版。
作为 MySQL 存储引擎,RocksDB 对比 InnoDB,已表现出巨大的优势,TerarkDB 则进一步扩大了这个优势。
- TerarkDB 的存储压缩率 远高于 官方 RocksDB
- 即使单比较磁盘文件,TerarkDB 的压缩率也远高于官方 RocksDB
- 进一步比较内存占用,TerarkDB 的对比优势更加明显:可检索压缩解决了双缓存问题(传统块压缩无法解决)
- 相比传统存储引擎,使用相同的内存,TerarkDB 可以装入所有数据,而其它存储引擎只能装入一小部分数据
- TerarkDB 的随机读性能 远高于 官方 RocksDB
- TerarkDB 的可检索压缩专利技术,直接在压缩的数据上执行搜索,无需预先解压(传统块压缩需要先解压数据块)
- 引擎层面随机读性能相比官方 RocksDB 提升 200 倍以上,MySQL 层有固定的性能损耗,最终提升一般在 10 倍以上
- MyRocks 基于 MySQL-5.6,同时也 Back port 了部分 MySQL-5.7 特有的功能
- MyRocks 功能上相对原生 MySQL-5.6 有一些限制:MyRocks-limitations
- TerarkDB 的压缩速度低于官方 RocksDB(因为压缩过程中计算量更大)
- TerarkDB 的顺序读相比略低于官方 RocksDB
- TerarkDB 的顺序读比 TerarkDB 自身的随机读无明显优势
- RocksDB/InnoDB 等传统存储引擎的顺序读比它们自身的随机读要快几百倍,甚至几千倍以上
不推荐以下工作负载
- 综合写操作占比过大(例如 30% 以上)
- OLAP(需要大量顺序扫表)