Couchbase的高速来自于各种tricky

以前一直以为Couchbase的高速仅仅是因为自带缓存层,直接操作内存数据所以速度快。但是后来开始对分布式系统进行一些系统性的理论学习,发现问题没这么简单。

首先,Couchbase通过一致性哈希把不同ID的文档直接分散到不同节点,后来对文档的操作也是直接对应到相应节点的,这样就避免了单点压力,其实也就是自带CDN;其次,这还是个弱一致数据库,这样数据备份就不需要与数据更新保持高度一致,这就少了各种锁,而且事实上数据备份也无非就是在写入数据时根据vBucket往冗余的节点再写一份罢了,还有Couchbase内部的Lazy策略,各种index更新数据淘汰都不是即时完成的,变相把工作负载分散开了;不仅如此,文档ID这个作为文档在数据库内的唯一标识,或者可以近似类比为主键,必须由用户指定,数据库本身不提供自动生成不同ID的功能,这就又省下了一部分全局时序的协调工作;最后,作为一个文档型数据库,支持的操作就是写入数据、覆盖数据和删除数据,如果直接通过ID操作的话都是一步到位的简单操作,如果通过View的话因为map函数的结果是已经保存在硬盘里所以处理速度也很快。

当然,这还只是我看了一点书之后就发现这么些trick,如果深入学习分布式系统再看看Couchbase源码肯定还能发掘更多精巧之处。

不过Couchbase也不打算再继续研究了,自己也用不着,也不是热门的数据库,接下来如果还准备探索数据库那还是准备研究一下MySQL和Redis。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值