码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-15 00:17:21      阅读:1523      评论:0      收藏:0      [点我收藏+]

标签:lead   column   tab   region   lte   nbsp   mst   keep   有一个   

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 对比总结

标签:lead   column   tab   region   lte   nbsp   mst   keep   有一个   

原文地址:https://www.cnblogs.com/brainstorm/p/8284677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!