开发者社区> 问答> 正文

Hbase是如何做到强CP的?

Hbase在数据写入或者更新后,就能立即读取到最新的数据变化,这种强CP的特性是如何做到的,特别是在大批量高并发写入的时候,能做到强CP也算是一件比较难的事情?反之,其他的一些系统:cassandra,是AP系统。

展开
收起
hbase小能手 2018-11-07 16:17:22 2540 0
1 条回答
写回答
取消 提交回答
  • 社区管理员

    默认不开启region replica的情况下,每一条数据只存在一个region里,当数据写入到reigon成功之后,就可以立即读到这条数据(mvcc速度跟上的情况),这是C的保证,但是因为只存到一个region里,当一个RS宕机之后,region需要分钟级别恢复提供服务,这就放弃了A。
    如果开启了region replica,主region所在的rs宕机,数据也可以从其他rs上读到,这是A,但是由于多个replica的冗余,且数据是管道写的情况,那就有可能出现写主Region返回成功,在数据没有同步到从region的时候,主region不能服务,去读从reigon而读不到的情况,这就放弃了C。
    感兴趣的可以多翻翻范神和毕杰山大神的博客,会有很大帮助。

    2019-07-17 23:12:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
HBase源码解析 立即下载
HBase在hulu的使用和实践 立即下载
HBase内核及能力 立即下载