淘宝Tair分布式缓存数据库系统主要功能
2017-08-10 21:24
253 查看
Tair的功能
Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。Tair除了普通Key/Value系统提供的功能,比如get、put、delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景,包括:
· Version支持>
· 原子计数器
· Item支持
Version支持
Tair中的每个数据都包含版本号,版本号在每次更新后都会递增。这个特性有助于防止由于数据的并发更新导致的问题。比如,系统有一个value为“a,b,c”,A和B同时get到这个value。A执行操作,在后面添加一个d,value为“a,b,c,d”。B执行操作添加一个e,value为”a,b,c,e”。如果不加控制,无论A和B谁先更新成功,它的更新都会被后到的更新覆盖。
Tair无法解决这个问题,但是引入了version机制避免这样的问题。还是拿刚才的例子,A和B取到数据,假设版本号为10,A先更新,更新成功后,value为”a,b,c,d”,与此同时,版本号会变为11。当B更新时,由于其基于的版本号是10,服务器会拒绝更新,从而避免A的更新被覆盖。B可以选择get新版本的value,然后在其基础上修改,也可以选择强行更新。
原子计数器
Tair从服务器端支持原子的计数器操作,这使得Tair成为一个简单易用的分布式计数器。
Item支持
Tair还支持将value视为一个item数组,对value中的部分item进行操作。比如有个key的value为[1,2,3,4,5],我们可以只获取前两个item,返回[1,2],也可以删除第一个item,还支持将数据删除,并返回被删除的数据,通过这个接口可以实现一个原子的分布式FIFO的队列。
相关文章推荐
- 淘宝Tair分布式缓存数据库系统总体结构
- 淘宝Tair分布式缓存系统 内部结构分析
- 淘宝Tair分布式缓存系统 总体结构分析
- 什么是文件系统,主要功能是什么?
- SlideShare:大话SSD (淘宝核心系统数据库组 褚霸)
- 银行调度系统主要实现功能的分析及代码实现
- 淘宝开源Key/Value结构数据存储系统Tair技术剖析
- 订单系统开发(仿淘宝和美团网) 之 项目总结(降低数据库并发量)
- 简单的asp.net模拟邮箱系统基础实现(一 总体功能版块的设计,与简单数据库的设计)
- 文件系统和数据库系统的主要区别
- 关于淘宝的数据库系统
- [置顶] 商业智能系统具有的主要功能
- 订单系统开发(仿淘宝和美团网) 之 项目总结(降低数据库并发量)
- 全面详细介绍一个P2P网贷领域的ERP系统的主要功能
- 关于淘宝的数据库系统
- Linux系统中主要系统目录的功能
- 系统主要功能模块
- 淘宝开源Key/Value结构数据存储系统Tair技术剖析
- ERP系统的精髓及主要功能
- 全面具体介绍一个P2P网贷领域的ERP系统的主要功能