技术选型系列 - Tair&Redis对比

* Redis
    http://www.redis.net.cn/
    http://doc.redisfans.com/
* Tair
    http://code.taobao.org/p/tair/wiki/index/

适应场景

Redis

适用

  1. 需要使用复杂数据结构(map, set),map/set中元素很多(1000以上)
  2. 延迟敏感服务

不适用

  1. 数据量超过600GB(数据太多,全内存太浪费资源)
  2. 需要多语言客户端支持

Tair

适用

  1. 不能容忍数据丢失
  2. 数据量大,内存放不下的服务

不适用

  1. 使用复杂数据结构(map/set),map/set中元素很多(1000以上)

详细对比

1.访问模式

具体参数

Redis

Redis Cluster

Tair

支持Value大小

理论上不超过1GB(建议不超过1MB)

理论上不超过1GB(建议不超过1MB)

256M(更大value还需要测试)

支持Value结构

byte[]/list/map/set

byte[]/list/map/set

(1)kv/map/list(2)支持big_list(list无长度限制)(3)支持创建schema,cmd query

支持的总数据量

1000+instance

scale out,理论上总数据量无限制

适宜的读写比

存内存型,均适合

存内存型,均适合

支持多引擎,适宜各种比例的读写。读多写少(mdb+leveldb),读少写多(leveldb)。

数据是否可改写

Y

Y

Y

是否支持Scan/Range Query

不支持,并且不支持merge operations

支持scan;支持range query

CAP

CP

用户可配置,CP或AP

语言支持

主流语言

主流语言,目前java、ruby可用

php,restful,java,c/c++

数据自动过期

支持

支持

支持

2.访问性能

具体参数

Redis

Redis Cluster

Tair

点写latency

虚机上平均1~2ms

虚机上平均1~2ms

5~8ms(write through),1ms左右(write back)

点写吞吐率

一个instance 5w,单机器整体性能根据cpu来决定

一个instance 5w,单机器整体性能根据cpu来决定

受限网卡带宽瓶颈(100MB),单机纯内存8w~10w qps(key+value=1k)

批量写吞吐率

受限网卡带宽瓶颈

受限网卡带宽瓶颈

受限网卡带宽瓶颈(100MB),单机纯内存8w ~10w batch/s(batch=10keys,key+value=100,batch_size=1k)

读latency

虚机上平均1~2ms

虚机上平均1~2ms

同机房内存1ms,磁盘5-8ms(延迟不会随单机数据容量增加而增加)

3.可运维性

具体参数

Redis

Redis Cluster

Tair

可扩展性(自动扩容、在线扩容)

支持水平扩展

在不停读和写的服务下自动扩容

可用性(是否有单点、数据迁移/单机出错时是否会有服务中断、过载保护、慢查询保护)

使用keepalived或者官方哨兵来保持高可用

无单点

(1)无单点(2)不中断服务(3)有过载保护(4)无慢查询保护,但有慢查询递归树监控

可靠性(如何防止数据丢失,包括机器断电、硬盘损毁等情形下)

0~N个数据slave备份(实际使用情况基本是0个备份)

0~N个数据slave备份(实际使用情况基本是0个备份)

(1)多机数据冗余(2)断电数据不丢失,重放redo log(3)数据完整性crc校验(防止磁盘损坏)

数据可靠性

用户可选是否开启持久化

用户可选是否开启持久化

强,有持久存储,一般不会丢失数据

多副本

支持(副本平时可读)

支持(副本平时可读)

支持(副本平时不提供读写)

副本一致性

可根据业务需求配置强一致/弱一致

持久化

支持。持久化的数据是用于重启后的数据恢复。Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施。

支持。持久化的数据是用于重启后的数据恢复。Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施。

支持

对业务混合部署的支持(性能隔离)

进程级隔离(特殊处理可以到机器间隔离)

进程级隔离(特殊处理可以到机器间隔离)

硬软隔离:(1)支持不同group的业务混步(2)支持同一个group业务混步(通过名字空间隔离),支持网络和内存的隔离。

对访问权限的可控制性

web操作管理员授权.api操作支持鉴权和非鉴权两种模式

web操作管理员授权.api操作支持鉴权和非鉴权两种模式

机器粒度的白名单管理

实现语言、代码量

JAVA,java客户端14000行、管理中心22000行

JAVA,java客户端14000行、管理中心22000行

核心代码c++,10w行左右


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

硬盘数据恢复的神器有哪些?

在一切工作进行之前,请先判断硬盘是否有损坏,以及缺损类型,而往往硬盘出现问题主要集中下以下两个方面: 物理(驱动器故障或者组件故障); 逻辑(文件系统出错或是数...

20280
来自专栏DevOps时代的专栏

认识高性能Web缓存体系,你需要知道这些

前言 我们再看知识体系的时候,我们学一个东西的时候,每次我们都回过头去看一看,这就是所谓的不忘初心。这个说着容易做起来难,当一个人慢慢在成长,在进步的时候,是很...

31870
来自专栏云计算教程系列

在Ubuntu 16.04上安装MediaWiki

MediaWiki是一个流行的免费wiki软件包。它与维基百科使用的软件相同,是完全动态的,可以在LAMP堆栈上运行,利用PHP语言和MySQL数据库后端。通过...

19150
来自专栏finleyMa

说下browserslist

browserslist 是一个开源项目 见到有些package.json里会有如下的配置参数

60110
来自专栏乐沙弥的世界

Percona XtraDB Cluster多主复制(PXC 5.7 )

Percona XtraDB Cluster(下称PXC)集群是一种支持多主方式的集群模式,也就是说多个不同的节点均可提供读写功能,并且确保写入对群集中的所有节...

17520
来自专栏EAWorld

8种至关重要OAuth API授权流与能力

在本文中,Curity的Daniel Lindau概述了重要的OAuth授权流程和能力。

9010
来自专栏零基础使用Django2.0.1打造在线教育网站

利用Flask搭建微电影视频网站(一):项目介绍

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

2.4K30
来自专栏大数据架构师专家

zabbix3.4安装

自从zabbix2系列爆出漏洞后,大多数公司都在升级zabbix3系列,升级过程特别简单,在官网有详细的升级教程

25320
来自专栏铭毅天下

干货 |《深入理解Elasticsearch》读书笔记

题记 由于之前已经梳理过Elasticsearch基础概念且在项目中实战过Elasticsearch的增删改查、聚类、排序等相关操作,对ES算是有了一定的认知...

61660
来自专栏喵了个咪的博客空间

[喵咪Liunx(4)Monit进程监控

[喵咪Liunx(4)Monit进程监控 ? 前言 有一段时间没有更新博客了,最近因为公司项目全球化以及最近慢慢在偏向学习团队管理忙的有点不可开交了,不过这次要...

37990

扫码关注云+社区

领取腾讯云代金券