一、tair主要有mdb,rdb,ldb三种存储引擎:
mdb的应用场景:
在实际业务中,大部分当缓存用(后端有DB之类的数据源)。
也可用做大访问少量临时数据的存储(例如session登录,防攻击统计等)。
集团内绝对多数cache服务都是采用的tair mdb。
用于缓存,降低对后端数据库的访问压力。
临时数据存储,分钟级别后失效,偶尔部分数据丢失不会对业务产生较大影响。
读多写少,读qps达到万级别以上。
典型应用场景:
用于缓存,降低对后端数据库的访问压力。
临时数据存储,分钟级别后失效,偶尔部分数据丢失不会对业务产生较大影响。
读多写少,读qps达到万级别以上。
典型用法:
session场景。这种场景一般访问量非常高,且对响应时间有很高的要求,对数据有一定的一致性要求。后端无数据源,数据丢失对应用影响不大。
如:mdb 存储: m_group1 非持久化集群
rdb的应用场景
适用于需要高速访问某些数据结构的应用,例如SNS中常见的的粉丝存储就可以采用set等结构;或者存储一个商品的多个属性(hashmap);高效的消息队列(list)等。现在有30个左右的应用在使用rdb服务。
ldb的应用场景
存储,里面可以细分如下场景:
4.名词说明
group
类似于集群的概念, cs可以控制多个group,目前支持的group包括
m_group1 非持久化集群
p_group1 持久化集群
两个group相当于两个集群
namespace 简称 ns, 用于区分不同的业务,由中间件或者运维,分配给业务的唯一区分不同业务的标识,业务部门需要申请
quota
配额,对于非持久化集群,限定了某个ns,所使用的内存大小,查处该内存大小会面临LRU,把老的数据淘汰,对于持久化
集群, 该设置相当于内存缓存的大小,适当设置可以增加访问速度。
expireTime 超时时间,对于存储在tair的数据,超出expireTime,该数据就会超时,返回超时或者不存在
version 数据的版本,用来做乐观锁,只有设置了正确的版本,数据才能更新成功