前沿追踪|网易云背后的数据库:Facebook开源,完全兼容MySQL( 二 )
由于引入RocksDB , MyRocks具备比MySQL(相比基于B+树的InnoDB)更多优点 , 如更快的写入速度 , 更小的存储空间 , 更高的压缩效率等;这是MyRocks的核心竞争力 , 下面简单对比说明 。
- 存储效率高 , 写性能好
- 存储空间小
- 压缩效率高
RocksDB很好得解决了这个问题 。 每个block压缩后 , 先组合成一个SST文件 , 保存时只需要SST文件对齐到4KB即可 。
不足
在性能上 , MyRocks相比InnoDB不足之处在于查询性能(主要是范围查询) , 在这方面 , MyRocks通过使用布隆过滤器(Bloom Filter)进行了查询优化 。
相对来说 , MyRocks作为一个年轻的开源项目 , 相比MySQL/InnoDB在成熟度上和功能完整度上有所欠缺 , 包括XA事务支持度不够、在线DDL性能不足且内存消耗过大、支持的索引类型偏少(无地理位置索引、全文索引等)等 。 此外 , Bug数也更多 。
【使用场景和实际效果】由于MyRocks完全兼容MySQL , 因此 , 对于一般的 , 比如读写压力都不大、只需关系型数据库基本功能的业务场景下 , MyRocks是完全可以替代MySQL的 , 但这不是MyRocks项目的存在意义 , 因为带来不了多少价值 。
MyRocks应该用在相比现有方案能够明显产生更多价值的场景 , 下面列举MyRocks典型的应用场景 , 并介绍在部分场景上的使用效果 。
大数据量场景这类场景典型的特点是数据量大 , 此外可能数据增长也很快 , 也可能有过期删除的需求等 , 这类场景包括用户行为 , 动态等 。 我们曾与DBA对云音乐和考拉等业务的MySQL实例进行应用场景分析 , 发现这类场景的MySQL实例占有不小的比率 。
MyRocks由于具备更高地压缩比 , 可以极大缩小数据的存储空间 。 降低这部分业务的存储开销 。 而且MyRocks支持数据TTL(Time To Live)特性 , 可以设定数据过期时间 , 更加方便进行数据生命周期管理 。
目前云音乐有多个这类业务场景使用了MyRocks , 这里拿云音乐的用户历史听歌记录为例 。
推荐阅读
- 地下城与勇士|网易最新刷图网游不日公测!比DNF赚钱,搬砖玩家已疯日入万元
- 网易娱乐|劲爆!邓紫棋回怼粉丝 却受网友点赞支持
- 网易娱乐|王祖蓝回应女儿身高:随我老婆怎么了!长得像我
- 网易娱乐|胡歌被问担不担心粉丝流失:你可以去看看其他人
- 网易娱乐|朵朵心疼妈妈让佟丽娅多吃点:你都瘦成什么样了
- 前沿时刻|特朗普突然冒出这一招,不料俄罗斯早有准备,发现中国不好对付后
- 前沿分析局|那美国会遵守吗?金灿荣解析,基辛格希望设立“交战规则”
- 京雄AI前沿|| 中信证券领投,杭州国芯科技完成数亿元C轮融资,京雄AI前沿快讯
- 前沿哨所|原因简单一看便知!俄罗斯已作出决定,土耳其为何敢公开支持阿国
- 国际前沿观察|就算美国盟友遍天下,也不敢轻易动手,有3大坚实盟友鼎力相助
