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里面所有的操作都是串行的,这样就不需要做并发同步了

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

时间: 2024-10-04 11:06:47

cassandra,hbase,kafka,elasticsearch redis 对比总结的相关文章

Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

[TOC] 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进行离线数据分析完整案例>中已经有提及到,这里依然给出下面的图示: 前面给出的那篇文章是基于MapReduce的离线数据分析案例,其通过对网站产生的用户访问日志进行处理并分析出该网站在某天的PV.UV等数据,对应上面的图示,其走的就是离线处理的数据处理方式,而这里即将要介绍的是另外一条路线的数据处理方式,即基于Storm的在线处理,在下面给出的完整案例中,我们将会完成下面的几项工作: 1

安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台

本文是参考logstash官方文档实践的笔记,搭建环境和所需组件如下: Redhat 5.7 64bit / CentOS 5.x JDK 1.6.0_45 logstash 1.3.2 (内带kibana) elasticsearch 0.90.10 redis 2.8.4 搭建的集中式日志分析平台流程如下: elasticsearch 1.下载elasticsearch. wget https://download.elasticsearch.org/elasticsearch/elasti

[Redis专题]Memcache和Redis对比

1. Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等.2. 数据类型--Memcache在添加数据时就要指定数据的字节长度,例如:  set key3 0 0 8  lxsymcto  STORED而redis不需要,如:redis 127.0.0.1:6379>set key2 "lxsymblog"  OK  redis 127.0.0.1:6379>get key2  "lxs

Flume+Kafka+Storm+Redis实时分析系统基本架构

PS:历史原因作者账号名为:ymh198816,但事实上作者的生日并不是1988年1月6日 今天作者要在这里通过一个简单的电商网站订单实时分析系统和大家一起梳理一下大数据环境下的实时分析系统的架构模型.当然这个架构模型只是实时分析技术的一 个简单的入门级架构,实际生产环境中的大数据实时分析技术还涉及到很多细节的处理, 比如使用Storm的ACK机制保证数据都能被正确处理, 集群的高可用架构, 消费数据时如何处理重复数据或者丢失数据等问题,根据不同的业务场景,对数据的可靠性要求以及系统的复杂度的要

Tutorial: 使用rsyslog向kafka, elasticsearch推送日志

本文介绍了一种简单易行的使用rsyslog向kafka,elasticsearch推送日志的方法:rsyslog的omkafka插件的安装.使用方法:rsyslog的omelasticsearch插件的安装.使用方法. Kafka是一种开源的分布式消息系统,项目主页:kafka.apache.org elasticsearch是一种开源的分布式搜索引擎,项目主页:elastic.co rsyslog使用omkafka向kafka推送日志,使用omelasticsearch向elasticsear

Logstash+kibana+ ElasticSearch+redis

这是之前Logstash+kibana+ ElasticSearch+redis 安装时,自己整理的初学者容易看懂的资料,按照以下的步骤也已经完成了安装. 这里有二台服务器: 192.168.148.201 logstash index,redis,ElasticSearch,kibana,JDK 192.168.148.129 logstash agent,JDK 1 系统各部分应用介绍 Logstash:一个完全开源对日志进行收集.分析和存储的工具.他可以做系统的log收集,转载的工具.同时

log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统

前端时间写了个随笔 log4net.NoSql +ElasticSearch 实现日志记录 ,因项目原因需要把日志根java平台的同事集成采用logstash+kibana+elasticsearch+redis结构实现日志统计分析,所以需要一个将log4net日志输出到redis的组件.没有找到现成的,就自己动手了.参考了 log4net.NoSql 的代码. redis的C#客户端使用了 ServiceStackRedis,json序列化使用 RestSharp.代码结构如下: JsonLa

Kibana+Logstash+Elasticsearch+Redis安装部署

最近做日志分析,发现logstash较符合自己的需求, Logstash:做系统log收集,转载的工具.同时集成各类日志插件,对日志查询和分析的效率有很大的帮助.一般使用shipper作为log收集.indexer作为log转载. Logstash shipper收集log 并将log转发给redis 存储 Logstash indexer从redis中读取数据并转发给elasticsearch redis:是一个db,logstash shipper将log转发到redis数据库中存储.Log

利用 Log-Pilot + Kafka + Elasticsearch + Kibana 搭建 kubernetes日志解决方案

利用 Log-Pilot + Kafka+Elasticsearch + Kibana 搭建 kubernetes日志解决方案 1.前提条件 已有kafka.elk.k8s集群,这3套集群搭建网上资料很多,这里不写,IP规划如下所示: kafka集群 10.6.11.22:9092 10.6.11.23:9092 10.6.11.24:9092 ELK集群 10.6.11.25:9200 10.6.11.26:9200 10.6.11.27:9200 k8s集群 10.6.11.28(maste