Hbase在数据写入或者更新后,就能立即读取到最新的数据变化,这种强CP的特性是如何做到的,特别是在大批量高并发写入的时候,能做到强CP也算是一件比较难的事情?反之,其他的一些系统:cassandra,是AP系统。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
默认不开启region replica的情况下,每一条数据只存在一个region里,当数据写入到reigon成功之后,就可以立即读到这条数据(mvcc速度跟上的情况),这是C的保证,但是因为只存到一个region里,当一个RS宕机之后,region需要分钟级别恢复提供服务,这就放弃了A。
如果开启了region replica,主region所在的rs宕机,数据也可以从其他rs上读到,这是A,但是由于多个replica的冗余,且数据是管道写的情况,那就有可能出现写主Region返回成功,在数据没有同步到从region的时候,主region不能服务,去读从reigon而读不到的情况,这就放弃了C。
感兴趣的可以多翻翻范神和毕杰山大神的博客,会有很大帮助。