当前位置: 首页 >行业动态 > > 正文

环球观速讯丨对比 redis cluster 和 elasticsearch

日期:2023-06-13 11:27:54 来源:博客园


(相关资料图)

一. 对比

redis 提供了redis sentinal 的高可用策略,以及redis cluster来支持扩展性(同时也支持高可用)。redis cluster,ealsticsearch 都属于有状态数据存储服务,这里做一个简单的对比。

特性redis clusterelasticsearch备注
主要设计目标在保证high performance的条件下,提供可扩展性可扩展,高可用
数据特点内存存储,存储的数据一般不超过GB级别主要为硬盘存储,elasticsearch 存储数据通常在TB级别以上针对不同的数据特点,redis 和 elasticsearch 采用不同的分区策略。考虑redis较小的数据规模,redis在存储数据时候可以做轻量的设计,比如将所有数据分为固定数量的slot,做精细化的数据迁移
数据内容kv 对倒排索引,文档,docValues,并区分topic
数据分区数据分为2^14 个slot,slot分布在多个master节点上;最多支持 1000个节点对每个topic进行分区,分片均匀分布在各个节点上elasticsearch 的分片 rebalance 更智能,redis cluster 需要手动调整slot位置
复制与分片一个节点要么是master,要么是replica一个节点包含多个分片,有主分片,复制分片
路由算法crc16(key) / 2^14,或者使用hashTagshard = hash(routing) % number_of_primary_shards
查询代理无代理,客户端直接进行查询,如果查询节点没有对应的slot,返回MOVE error,客户端使用新的节点查询。这样做可以降低redis 节点压力,避免同步调用。每个节点可以当做代理节点,向其他节点发送请求,合并响应返回给客户端
客户端客户端需要缓存slot 和 node 的映射关系
可用性复制节点支持failover复制分片支持failover
写入复制采用异步复制,保证写入高性能可配置写一致性,quorum/one/all, 默认为quorum,即大多数分片可用才允许写操作
选举算法gossipbullygossip算法能预防广播风暴
节点间通信tcp端口10000 + data port (Redis Cluster Bus)9300redis 和 elasticsearch 都是用特定tcp端口进行节点间互相通信,保持长连接
上一篇:内房股集体走强,合景泰富涨近13%,部分房企恢复海外债券融资 下一篇:内房股集体走强,合景泰富涨近13%,部分房企恢复海外债券融资
x
推荐阅读