相比自建Redis数据库、云数据库Redis版以及其他内存数据库,云原生内存数据库Tair在数据安全、运维、高可用、内核优化等方面都有一定的优势。
Tair与自建Redis对比
对比项 | 云原生内存数据库Tair版 | 自建Redis |
安全防护 | 事前防护: 事中保护: 事后审计: | 事前防护:
事中保护:
事后审计:
|
备份恢复 | 内存型支持数据闪回功能,可以恢复指定时间点的数据。更多信息请参见通过数据闪回按时间点恢复数据。 | 仅支持全量恢复。 |
运维管理 |
| |
部署和扩容 | 即时开通,弹性扩容。 | 需要自行完成采购、部署、维护硬件设备等工作,周期较长,且需要自行维护节点关系。 |
高可用 |
| |
内核优化 |
| |
内存 | 已购内存100%可用,容灾、运维管理、扩容、实例持久化(Fork写时复制)等占用的内存开销均由阿里云承担,不占用实例内存容量。 例如:采购64 GB的云数据库Redis版实例,用户可用内存为64 GB。 | 需预留25% ~ 40%的内存资源用于容灾、运维管理、扩容等用途。 例如:采购2台内存为64 GB的ECS搭建Redis主从实例,用户可用内存通常低于45 GB。 |
云原生内存数据库Tair与社区版Redis完全兼容,连接数据库的方式也基本相同,您可以根据自身应用特点选用任何兼容Redis协议的客户端程序,详情请参见Tair实例兼容Redis哪个版本?、客户端程序连接Tair。
Tair与云数据库Redis版对比
相比较云数据库Redis版,云原生内存数据库Tair从访问延时、持久化需求、整体成本这三个核心维度考量,基于DRAM、NVM和ESSD云盘存储介质,推出了多种系列,为您提供更强的性能、更多的数据结构和更灵活的存储方式,满足不同场景下的业务需求。
下述表格中,✔️表示支持该功能,❌表示不支持该功能。
关于产品选型的详细介绍,请参见Tair选型指南。
类别 | 对比项 | Tair(Redis企业版) | 云数据库 Redis 版社区版 | |||||
磁盘型(ESSD) | 磁盘型(SSD) | 2.8、4.0及5.0版本 | 6.0、7.0版本 | 5.0、6.0版本经济型 | ||||
基本性能 | 性能基准(以Redis社区版为基准) | 300% | 90% | 读:40% | 读:60% | 一致 | 120% | 120% |
写:30% | 写:40% | |||||||
单个数据节点的最大连接数 | 30,000 | 10,000 | 10,000 | 40,000 | 10,000 | 10,000 | 10,000 | |
单Key服务能力(QPS参考值)① | 450,000 | 130,000 | 30,000~60,000 | 50,000~60,000 | 140,000 | 160,000 | 160,000 | |
最大带宽(MB/s) | 96~2,048 | 96~2,048 | 187.5~1,000 | 187.5~2,048 | 10~2048 | 48~2,048 | 96~2,048 | |
规格特性 | IO与Worker模型 | 多IO+单Worker(Real Multi-IO)③ | 单IO+单Worker | 多IO+多Worker(Real Multi-IO) | 多IO+多Worker(Real Multi-IO) | 单IO+单Worker | 多IO+单Worker | 多IO+单Worker |
单位成本(以Redis社区版为基准) | 117% | 70% | 15%~20% | 15% | 一致 | 一致 | 51~67% | |
数据结构 | 基础数据结构及命令支持 | 不同形态支持的命令有所不同,详情请参见Tair命令限制。 | 部分命令不支持,详情请参见Redis社区版命令支持。 | |||||
✔️ | ✔️️️(部分) | ❌ | ❌ | ❌ | ❌ | ❌ | ||
落盘模式 | 主从复制一致性 | 最终一致 | 最终一致 | 最终一致 | 最终一致 | 最终一致 | 最终一致 | 最终一致 |
落盘一致性 ④ | Write Back | Write Through | Write Through | Write Through | Write Back | Write Back | Write Back | |
持久化级别 | 秒级 | 命令级 | 命令级 | 命令级 | 秒级 | 秒级 | 秒级 | |
安全性 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ||
✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ||
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
性能分析 | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ||
高级功能 | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ||
✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ||
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
表格中数字标记的解释如下:
①:该QPS(每秒访问次数)参考值以时间复杂度为O(1)的命令衡量,时间复杂度越高,QPS参考值会相应降低。
②:该性能与数据访问的冷热分布相关,命中内存的比例越高性能越接近社区版基准性能。
③:区别于Redis社区版6.0的IO多线程,内存型的Real Multi-IO能够将IO加速地更彻底,具备更高的抗连接冲击性,且可以线性地提升吞吐能力。
④:数据落盘方式主要有下述两种:
Write Through:数据写入成功,数据同步落盘后返回。
Write Back:数据写入成功即返回成功,数据异步刷盘。