cassandra,hbase,kafka,elasticsearch redis 对比总结

Posted brainstorm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cassandra,hbase,kafka,elasticsearch redis 对比总结相关的知识,希望对你有一定的参考价值。

cassandra:

  partition分区器有两种方法: RandomPartitioner 一致性哈希       ByteOrderedPartitioner  按照自己大小

  那么cassandra为什么能快呢。因为它采取了这么一个解决方案:

  数据首先写到 commit log, 然后写到memtable。干完了这两件事,写就算成功了,别的事情您就不用操心了。后面事情是sstable(磁盘),然后是压缩文件

  好在cassandra有一个 Bloom filter, 这个东东就是专门用来判断某个数据是否存在一个sstable的,如果不在,就不用浪费时间了。所以读也是挺快的。
  所有节点都是一样的,副本也没有主副本和从副本,放在hash环上
 
  回滚?
 

hbase 一个table对应按照rowkey划分region,

  一个region内部包含多个store,一个store存储了一个column family,对应hdfs上一个逻辑文件

  一个store包含了一个memstore和多个storefile(对应hdfs的一个文件块),以及hlog

  先写hlog,然后写memstore,memstore内的数据,到达一定量之后,会被异步写入到storefile

  一个table的所有region共享一个hlog,如果数据还没写入到memstore或者还没从memstore写入到storefile,这时候集群挂了

  那么重启的时候,hbase会自动从hlog中回放日志。

  hbase里面最小的数据单元是cell,里面包含value和timestamp

 

 kafka:

  leader and replica partition,  也需要配合zookeeper,里面存了每个consumer group消费每个分区对应的offset

elasticsearch:

  集群-节点     索引-分片    分片分primary和slave,只写primary分片,slave增加读并发

redis: 

  master-》slave1-》slave2-》slave3   这样master挂了,slave1可以迅速切换为master,同时这样可以减少master的同步线程压力

  redis里面所有的操作都是串行的,这样就不需要做并发同步了

以上是关于cassandra,hbase,kafka,elasticsearch redis 对比总结的主要内容,如果未能解决你的问题,请参考以下文章

cassandra 查询超时

Cassandra 与 Hbase 的实时数据对比

浅谈hbase和cassandra

HBase 和 Cassandra的浅谈

HBase 与 Cassandra 架构对比分析的经验分享

大数据组件