`
asyty
  • 浏览: 347755 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【zz】Cassandra和HBase 设计思路对比

阅读更多

 

Cassandra

HBase

一致性

Quorum NRW策略

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

单节点,无复制,强一致性

可用性

1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障。

 

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

 

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

 

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

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

 

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

 

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

 

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

 

5HDFSnamenode是一个SPOF

伸缩性

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

 

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

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

 

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

负载均

请求Zookeeper取得整个集群地址,然后根据Consistent Hash选择合适的节点。client会缓存集群地址。

请求Zookeeper取读写数据路由表定位Region ServerMaster会修改这个路由表。Client自身也会缓存一部分路由信息。

数据差异比较算法

Merkle Tree , Bloom Filter

Bloom Filter

锁与事务

Client TimestapDynamo使用vector lock

Optimistic Concurrency Control

读写性能

数据读写定位非常快。

数据读写定位可能要通过最多6次的网络RPC,性能较低。

CAP点评

1,弱一致性,数据可能丢失。

2,可用性高。

3,扩容方便。

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

2,可用性低。

3,扩容方便。

 转自:http://rdc.taobao.com/team/jm/archives/915

 

分享到:
评论

相关推荐

    Cassandra与HBase系统架构比对.pdf

    这种设计使得Cassandra具有高可扩展性和高性能。 HBase的数据模型是基于table的,每个table可以包含多个row,每个row又可以包含多个column family,每个column family又可以包含多个column。与Cassandra相比,HBase...

    Cassandra与HBase系统架构比对

    本文将对比分析Cassandra 和 HBase 的数据模型、系统架构以及API接口等方面的异同点。 #### 二、Cassandra简介 Cassandra 是一个高度可扩展且分布式的键值存储系统,最初由Facebook开发并开源。它采用了Amazon ...

    Cassandra与HBase系统架构比对.zip

    Cassandra和HBase是两个广泛使用的分布式NoSQL数据库,它们在处理大规模数据存储和检索方面表现出色。两者都设计用于处理PB级的数据,支持高并发读写操作,并且是高度可扩展的。然而,它们在系统架构和设计理念上...

    大型分布式应用技术资料合集(涵盖Hadoop Cassandra HBase NoSQL)

    这个合集涵盖了四个关键的技术:Hadoop、Cassandra、HBase和NoSQL,这些都是构建大规模分布式数据存储和处理系统的基础。 **Hadoop** 是一个开源的框架,主要用于处理和存储大量数据。《Hadoop权威指南》是了解...

    HBase数据库设计.doc

    与Cassandra相比,HBase更注重实时查询和随机读写,而Cassandra更侧重于写入性能和最终一致性。两者都在大数据环境下有各自的适用场景。 关键概念包括: - **行键(RowKey)**:唯一标识一行,决定数据的物理存储...

    benchmark_hbase_cassandra:使用 YCSB 对 HBase 和 Cassandra 进行基准测试的脚本

    benchmark_hbase_cassandra 使用 YCSB 对 HBase 和 Cassandra 进行基准测试的脚本。 数据库 - HBase 和 Cassandra benchmark_report.pdf 该文件包含使用 YCSB 的 HBase 和 Cassandra 基准测试结果的报告和观察结果。...

    Hbase架构简介、实践

    ### HBase架构简介 HBase是一种分布式的、面向列的开源数据库,是Apache顶级项目之一。它基于Google的Bigtable...此外,HBase通过合理的架构设计确保了系统的高可用性和扩展性,使其成为处理大规模数据的理想选择。

    NoSQL(SequoiaDB&Cassandra&MongoDB)Benchmark性能对比测试报告

    在此次性能对比测试中,bankmarkUG使用了Yahoo Cloud Serving Benchmark(YCSB)作为测试平台,目的是为了比较SequoiaDB、Cassandra和MongoDB在不同工作负载场景下的性能表现。YCSB是一个用于评估云存储系统中数据库...

    Big-Data:该存储库包含 Hadoop、Map Reduce、Cassandra、HBase、Hive、Pig、Spark 和 Mahout 的许多示例

    Cassandra在设计时考虑了高可用性和可扩展性,适合处理大规模实时读写操作。 4. **HBase**:基于Hadoop的分布式数据库,支持实时查询。它是一个NoSQL表格存储系统,提供了强一致性和高并发读写能力,特别适合于处理...

    Cassandra数据模型设计最佳实践

    本文是Cassandra数据模型设计第一篇(全两篇),该系列文章包含了eBay使用Cassandra数据模型设计的一些实践。其中一些最佳实践我们是通过社区学到的,有些对我们来说也是新知识,还有一些仍然具有争议性,可能在要...

    2019云栖大会 Cassandra cql以及业务场景介绍.pdf

    CQL 与 HBase kv 接口对比 * CQL 是趋势:Cassandra 的 CQL 是趋势,提供了类 SQL 的查询方式,支持丰富的数据结构和操作。 * HBase kv 接口:HBase 的 kv 接口是传统的 key-value 存储方式,缺乏丰富的数据结构和...

    Cassandra关键技术详解[整理].pdf

    大数据促进了 NoSQL 的迅速繁荣,出现了大量的技术多样的 NoSQL 系统,这些 NoSQL 系统主要可以分为三大类:即文档系统(MongoDB)、键值系统(Cassandra、Hbase)和图系统(Neo4J)。 1.2 Cassandra NoSQL 数据库...

    NoSQL性能评估(MongoDB,HBase,Cassandra):哪种数据库最适合你的数据?

    非关系数据库(经常被称为NoSQL)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常流行。在2013年,NoSQL数据库的种类达到了150多个,并且一直在增长,多种...

    HBase Essentials

    作者Nishant Garg凭借其在软件架构和开发领域的丰富经验,特别是在Java、Java Enterprise Edition、SOA、Spring、Hibernate、Hadoop、Hive、Flume、Sqoop、Oozie、Spark、Shark、YARN、Impala、Kafka、Storm、Solr/...

    Kafka+FlumeNG+Storm+HBase构架设计

    通过结合Kafka、FlumeNG、Storm与HBase等关键技术,本架构设计实现了对大数据集的实时处理和历史数据的高效查询。不仅可以支持实时数据处理,还能够有效管理海量数据,为用户提供快速、准确的服务。

    Cassandra应用和改进

    Cassandra的设计灵感来源于亚马逊的Dynamo和谷歌的BigTable,因此它继承了这些系统的优点,比如分布式的架构、没有单点故障的高可用性,以及能够水平扩展的可扩展性。 在DTCC 2014中国数据库技术大会上,360的...

Global site tag (gtag.js) - Google Analytics