浅谈Tair缓存的三种存储引擎MDB、LDB、RDB

文章目录


什么是Tair

Tair是阿里巴巴自主研发的高性能、分布式、可扩展、高可靠的 key/value 存储系统。

一般我们可能会认为是阿里开发的加强版Redis,支持双向数据同步,能够很好的支持缓存异地多中心,有更好的写性能等。但实际Tair不仅仅是Redis的封装那么简单。


Tair的三种引擎对比

MDB LDB RDB
产品特性 Tair 1.0产品,Tair最早的一款产品,专注于内存型KV极速缓存。 Tair 1.0产品,Tair第二款产品,专注于持久化型KV高速缓存。 Tair 3.0产品,同时服务集团内部和公有云用户,全面支持业务上云。
应用场景 可接受数据丢失场景,比如经典缓存场景,临时可丢失数据场景。MDB有两种产品类型,还需根据具体场景选择对应的产品类型。 持久化KV场景,比如黑白名单,离线数据在线化等 有丰富的数据结构,支持Redis原生的数据结构,也支持自研的高级数据结构。应用场景覆盖新零售,游戏,教育,文化产品,制造业,交通物流,互联网社交等行业。
持久化特性 目前仅提供持久化规格 支持持久化,数据可靠性99.99% 目前仅提供持久化规格
性能
成本 较低
支持的数据结构 Key-Value,Pkey-{Skey1-Value1,{Skey2-Value2}} Key-Value,Pkey-{Skey1-Value1,{Skey2-Value2}} String,List,Zset,Hmap,Set等复杂数据结构。TairHash,TairString,TairGIS,TairBloom等多种数据结构
可用性 99.99% 99.95% 99。95%

1.MDB

优点:

MDB具备着高读写性能,适用容量小(一般在M级别,50G之内),读写QPS高(万级别)的缓存场景。

缺点:

类似于Memcache,由于是内存型产品,因此无法保证数据的安全性,适用于偶尔数据丢失不对业务产生较大影响的应用,对数据安全有要求的应用建议采取MDB + DB的结构,后端增加加持久化数据源。

使用场景

  • 用于缓存,降低对后端数据库的访问压力。
  • 临时数据存储,分钟级别后失效,偶尔数据丢失不会对业务产生较大影响。
  • 读多写少,读 QPS 达到万级别以上

2.LDB

优点:

LDB 适用于确实有持久化需求,读写QPS较高(万级别)的应用场景。典型应用场景如存储黑白单数据等读 QPS 高的场景或者分布式锁。

缺点:

LDB目前线上使用的SSD机型成本较高

使用场景

  • 存储黑白单数据,读 QPS 很高,DB 无法承载。
  • 榜单类数据、计数器功能,更新非常频繁,且数据不可丢失。
  • 分布式锁:利用 Tair 的 version 特性或者计数功能可以实现分布式锁,由于 LDB 具有持久化功能,当服务有出现宕机的情况,也不会因此出现锁丢失或者锁不可释放的情况,MDB则无法保证。

3.RDB

优点:

RDB兼容Redis接口,支持Redis原生字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型,具备RDB和AOF持久化方式

缺点:

RDB适合高并发场景,但不适合大吞吐场景,即缓存Key不应过大(超过10K)

使用场景

替换Redis,一般认为RDB就是阿里定制版的Redis。

相关推荐
风跟我说过她7 分钟前
Hadoop HA (高可用) 配置与操作指南
大数据·hadoop·分布式·zookeeper·centos
舒克起飞了12 分钟前
设计模式——单例模式
java·单例模式·设计模式
Java&Develop23 分钟前
GitLab-如何基于现有项目仓库,复制出新的项目仓库
java
一只乔哇噻35 分钟前
java后端工程师进修ing(研一版‖day49)
java·开发语言
稻草猫.38 分钟前
Java线程安全:volatile与wait/notify详解
java·后端·idea
IT_陈寒1 小时前
Vite 5年迭代揭秘:3个核心优化让你的项目构建速度提升200%
前端·人工智能·后端
还是大剑师兰特1 小时前
Kafka 面试题及详细答案100道(66-80)-- 运维与部署
分布式·kafka·大剑师·kafka面试题
无敌最俊朗@1 小时前
MQTT 关键特性详解
java·前端·物联网
JAVA学习通1 小时前
微服务项目->在线oj系统(Java-Spring)----[前端]
java·开发语言·前端
拾贰_C1 小时前
【SpringBoot】前后端联动实现条件查询操作
java·spring boot·后端