Tair
tair是淘宝在2010年开源的分布式k-v缓存/存储系统,主要支持以下四种引擎:
mdb:类似memcahe
rdb:采用redis中的存储结构,支持k/v,list,hash,set等
ldb:leveldb
kdb:Kyoto Cabinet
tair可以让我们更方便的使用这些kv数据库。其中mdb,rdb是分布式缓存,ldb,kdb是分布式存储。
tair支持version
每个数据中包含一个version信息,可以保证数据都是基于最新的数据进行更新。
比如有数据“1,2,3”,A和B同时获取到这个数据进行更新,如果使用redis可能需要考虑分布式锁来保证更新的准确性,在tair中可以使用version。A获取到的数据版本为10,更新之后版本为11,B在更新数据时,服务器判定版本不是最新,会拒绝更新,此时B可以get最新的数据进行更新,或强制更新。
使用场景
缓存(mdb,rdb)
数据可以以key/value的形式存储
数据可以接受丢失
访问速度要求很高
单个数据大小不是很大,一般在KB级别
数据量很大,并且有较大的增长可能性
数据更新不频繁
持久化(ldb,kdb)
数据可以以key/value的形式存储
数据需要持久化
单个数据大小不是很大,一般在KB级别