Tair

项目介绍:

Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。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,然后在其基础上修改,也可以选择强行更新。

链接:

暂无版本信息

讨论

同类项目

MongoDB
MongoDB是一个基于分布式文件存储的数据库,它是介于关系数据库和非关系数据库之间的产品。 2007年10月,MongoDB由10gen团队所开发,于2009年2月首度推出初始版本。 MongoDB支持的数据结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。 **开发语言:** C++
HBase
HBase(Hadoop Database)是一个分布式的、面向列的开源数据库,是Google Bigtable的开源实现,是Apache Hadoop项目的子项目。Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些数据存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作。 HBase是由Powerset公司的Chad Walters和Jim Kelleman在2006年末发起的,第一个发布版本是在2007年10月和Hadoop0.15.0捆绑在一起发布的。2010年5月,HBase从Hadoop子项目升级成Apache顶级项目。 不同于一般的关系数据库,HBase适合于非结构化数据存储,此外,HBase采用基于列的而不是基于行的模式,每个列族都有几个文件保存,不同列族的文件是分离的。 **开发语言:**Java **开发商:**[Apache Software Foundation](http://www.apache.org/)
Leveldb
Leveldb是一个google实现的非常高效的kv数据库,LevelDB 是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。
OrientDB
Orient DB 是一个可伸缩的文档数据库,支持 ACID 事务处理。使用 Java 5 实现。
RocksDB
RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式。RocksDB 基于 LevelDB 构建。

相关项目

相关讨论组

该项目还没有关联的讨论组