HBase 和 Cassandra的区别
1. HBase:该模型用于提供对大量结构化数据的随机访问。它建立在 Hadoop 文件系统之上,本质上是面向列的。它用于将数据存储在 HDFS 中。它是一个提供数据复制的开源数据库。HBase 的三个重要组件是 HMaster、Region server 和 Zookeeper。
2. Cassandra:Cassandra 旨在处理跨不同商品服务器的大量数据,提供高可用性而不会出现任何故障。它具有能够处理大量数据的分布式架构。数据被放置在具有多个复制因子的不同机器上,以在没有任何故障的情况下获得高可用性。
HBase 和 Cassandra 的区别:
编号 | 类型 | HBase | Cassandra |
---|---|---|---|
1 | 基础设施 | HBase使用Hadoop基础设施。 | Cassandra 在基础架构和操作方面与 Hadoop 不同。它为各种应用程序采用了各种 DBMS 和基础设施。 |
2 | 架构模型 | HBase基于主从架构模型。 | Cassandra基于主动-主动节点架构模型。 |
3 | 数据库基础 | HBase 基于 Google BigTable。 | Cassandra 基于 Amazon DynamoDB。 |
4 | 有序分区 | HBase 不支持有序分区。Cassandra 允许有序分区。 | 由于这种有序划分,Cassandra 的行大小可以达到数十兆字节。 |
5 | 单点故障 (SPoF) | 集群的可访问性取决于主节点的可用性。 | 所有节点都是平等的,因此不存在这样的 SPoF。 |
6 | 一致性 | HBase 提供了更多的一致性。 | Cassandra没有提供 HBase 提供的一致性。 |
7 | 协处理器 | HBase 具有使用协处理器的能力。 | Cassandra 无法支持协处理器功能。 |
8 | 触发器 | 由于协处理器功能而支持触发器。 | Cassandra不支持触发器。 |
9 | 相互通信 | 对于内部节点通信,HBase使用Zookeeper协议。一个节点充当主节点,所有其他模式通过它接收数据。 | 对于内部节点通信,Cassandra 使用 Gossip 协议。数据将从一个节点传输到下一个节点。换句话说就是复制数据。 |
10 | 查询语言 | HBase 查询语言是一种必须学习的基于自定义的语言。 | Cassandra有自己的CQL(Cassandra Query Language),符合SQL语言。 |
11 | 文档 | HBase不像Cassandra那么容易学习。 | 由于比 HBase 更好的文档,因此易于学习。 |
12 | 设置集群 | HBase 集群设置并不容易。 | Cassandra 的集群设置比 HBase 更容易。 |
13 | 集群再平衡 | HBase 支持集群内的自动再平衡。 | Cassandra 还支持重新平衡功能,但不支持整个集群。 |