分库分表 or NewSQL数据库?终于看懂应该怎么选! - 分布式
2019-08-12 18:01
1926 查看
传统关系数据库的存储引擎设计都是面向磁盘的,大多都基于B+树。B+树通过降低树的高度减少随机读、进而减少磁盘寻道次数,提高读的性能,但大量的随机写会导致树的分裂,从而带来随机写,导致写性能下降。
NewSQL的底层存储引擎则多采用LSM,相比B+树LSM将对磁盘的随机写变成顺序写,大大提高了写的性能。不过LSM的的读由于需要合并数据性能比B+树差,一般来说LSM更适合应在写大于读的场景。当然这只是单纯数据结构角度的对比,在数据库实际实现时还会通过SSD、缓冲、bloom filter等方式优化读写性能,所以读性能基本不会下降太多。
相关文章推荐
- 站长应该怎么开通熊掌号?附熊掌号注册入驻流程!
- .Net应该学什么怎么学(四)
- 前途,路应该怎么走?
- 应该怎么做一个登录功能?
- 老赵谈IL(4):什么时候应该学IL,该怎么学IL
- Linux 桌面玩家指南:10. 没有 GUI 的时候应该怎么玩
- 房价网是怎么使用分布式作业框架elastic-job
- 怎么看懂和编写makefile
- Code review应该怎么做
- 【讨论】初学者拿到2440 6410 等开发板应该怎么学习
- 到底应该怎么介绍项目 ---AndroidFire
- 组合索引怎么应该怎么选取引导列?
- php 构造函数格式,具体该怎么写?应该注意什么呢?
- 企业网站怎么建?别头疼,3分钟教你看懂企业建站
- 需要在同一系统里启动多个tomcat,应该怎么处理
- dns应该怎么设置
- 遇到这样的情况你应该怎么办
- 项目开发总结应该怎么写
- 用户应该怎么看百度和酷我“中国好声音”版权之争
- 防大流量的DDOS攻击,DDOS应该怎么防御