zoukankan      html  css  js  c++  java
  • HBase Cassandra比较

    转自:http://itindex.net/detail/22338-cassandra-hbase-%E8%AE%BE%E8%AE%A1
     
      Cassandra HBase
    一致性 Quorum NRW策略

    通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性

    单节点,无复制,强一致性
    可用性 1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障。

    2,某节点宕机,hash到该节点的新数据自动路由到下一节点做 hinted handoff,源节点恢复后,推送回源节点。

    3,通过Gossip协议维护集群所有节点的健康状态,并发送同步请求,维护数据一致性。

    4,SSTable,纯文件,单机可靠性一般。

    1,存在单点故障,Region Server宕机后,短时间内该server维护的region无法访问,等待failover生效。

    2,通过Master维护各Region Server健康状况和Region分布。

    3,多个Master,Master宕机有zookeeper的paxos投票机制选取下一任Master。Master就算全宕机,也不影响Region读写。Master仅充当一个自动运维角色。

    4,HDFS为分布式存储引擎,一备三,高可靠,0数据丢失。

    5,HDFS的namenode是一个SPOF。

    伸缩性 1,Consistent Hash,快速定位数据所在节点。

    2,扩容需在Hash Ring上多个节点间调整数据分布。

    1,通过Zookeeper定位目标Region Server,最后定位Region。

    2,Region Server扩容,通过将自身发布到Master,Master均匀分布。

    负载均

    请求Zookeeper取得整个集群地址,然后根据Consistent Hash选择合适的节点。client会缓存集群地址。 请求Zookeeper取读写数据路由表定位Region Server,Master会修改这个路由表。Client自身也会缓存一部分路由信息。
    数据差异比较算法 Merkle TreeBloom Filter Bloom Filter
    锁与事务 Client Timestap(Dynamo使用vector lock) Optimistic Concurrency Control
    读写性能 数据读写定位非常快。 数据读写定位可能要通过最多6次的网络RPC,性能较低。
    CAP点评 1,弱一致性,数据可能丢失。

    2,可用性高。

    3,扩容方便。

    1,强一致性,0数据丢失。

    2,可用性低。

    3,扩容方便。

     

  • 相关阅读:
    虚方法表与动态分派机制
    方法重载与invokevirtual字节码指令的关系
    栈桢与操作数栈以及符号引用与直接引用的转换
    通过字节码分析this关键字以及异常表的作用
    JVM synchronized关键字所生成的字节码
    window Chrome 下允许跨域访问服务端接口设置
    JVM Java字节码方法表与属性
    JVM 字节码的结构
    Jar hell问题以及解放方法
    JVM 线程上下文类加载器
  • 原文地址:https://www.cnblogs.com/bonelee/p/6279278.html
Copyright © 2011-2022 走看看