SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Tair:淘宝的kv解决方案
                   若海

             2010-07-24




                          1
目录
•   为什么开发Tair
•   Tair简史
•   Tair的功能
•   Tair的内部结构
为什么开发Tair
• 数据库不是万能的
• 对数据存储需求的爆炸式增长
• 数据存储需求的多样性
 – 多样化的产品产生了多样化的数据需求
 – 不同的数据有不同的重要程度
Tair简史
Tair的特性
• Namespace
  – 支持不同的应用使用相同的key而不冲突
• Version
  – 有效的防止并发更新导致数据不一致
• Expire
  – key级别的失效时间控制
• Counter
  – 服务器端的原子计数器
• 集合数据格式支持
  – 将value视为一个集合,提供对集合中部分数据的读写
    接口
Tair的总体架构
轻量级的configserver
• 客户端在启动的时候从configserver获取对
  照表,并缓存在本地
• 客户端根据对照表完成请求的路由
• 当对照表发生变化后,数据节点通过给客
  户端的response顺带的对照表版本号告知
  客户端,客户端主动向configserver请求新
  表
对照表
          初始状态                    有一个点结不可用

Bucket Number   Data node    Bucket Number   Data Node
1               10.1.1.1     1               10.1.1.1
2               10.1.1.2     2               10.1.1.1
3               10.1.1.3     3               10.1.1.3
4               10.1.1.1     4               10.1.1.1
5               10.1.1.2     5               10.1.1.3
6               10.1.1.3     6               10.1.1.3
DataServer的内部结构
Mdb的一些特性
• 支持使用share memory
• namespace级别的容量配额
• Slab的动态平衡
Tair的容灾
• 可以配置的备份数
 – 数据在写入主节点后,会异步同步到辅节点
 – 如果主节点不可用,则辅节点自动接管成为主节点
• 安全的数据分布方式
 – 当集群的节点位于多个机架时,能自动将数据分布
   到不同机架的节点上
 – 当集群的节点位于多个机房时,能自动将数据分布
   到不同机房的节点上
• 自动复制
 – 当有节点不可用时,能自动复制数据,保证数据的
   备份数
Tair的现状
• 支持Java、C/C++的客户端
• 支撑着淘宝网几乎所有的系统
• 一个使用Mdb的Tair集群信息
 – 54个节点,每个节点22GB 的可用存储空间
 – 17.8亿数据
 – 每秒17.6万次请求
 – 246MB/s的数据流量
Tair的未来
• Tair于2010-6-30在code.taobao.org上开源
• 淘宝内部不再有私有分支
• 期待你的加入
参考资源
• http://code.taobao.org
  – Tair 的开源平台,包括Tair的代码、文档、讨
    论区等
• http://memcached.org/
  – 和Tair的缓存系统很相似的一个开源 Cache服
    务器
• http://www.allthingsdistributed.com/2007/1
  0/amazons_dynamo.html
  – Dynamo的论文
Q&A

There is something in the AIR


                                 Taobao pAIR

     Taobao’s AIR


                                TAI Re(太热)?
Tair

Weitere ähnliche Inhalte

Was ist angesagt?

淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Wensong Zhang
 
bada-data-beautiful
bada-data-beautifulbada-data-beautiful
bada-data-beautiful
宗志 陈
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
isnull
 
My sql cluster 基础
My sql cluster   基础My sql cluster   基础
My sql cluster 基础
Sky Jian
 

Was ist angesagt? (20)

2016-12-15 NewSQL資料庫在IoT的應用 - iServDB
2016-12-15 NewSQL資料庫在IoT的應用 - iServDB2016-12-15 NewSQL資料庫在IoT的應用 - iServDB
2016-12-15 NewSQL資料庫在IoT的應用 - iServDB
 
關聯式資料庫系統的規劃
關聯式資料庫系統的規劃關聯式資料庫系統的規劃
關聯式資料庫系統的規劃
 
利用新硬件提升数据库性能
利用新硬件提升数据库性能利用新硬件提升数据库性能
利用新硬件提升数据库性能
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训
 
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
 
Redis 常见使用模式分析
Redis 常见使用模式分析Redis 常见使用模式分析
Redis 常见使用模式分析
 
作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例
 
7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例
 
bada-data-beautiful
bada-data-beautifulbada-data-beautiful
bada-data-beautiful
 
iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案
 
SSD在淘宝的应用实践
SSD在淘宝的应用实践SSD在淘宝的应用实践
SSD在淘宝的应用实践
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
My sql cluster 基础
My sql cluster   基础My sql cluster   基础
My sql cluster 基础
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
Rgw multisite-overview v2
Rgw multisite-overview v2Rgw multisite-overview v2
Rgw multisite-overview v2
 

Andere mochten auch

Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
Engelien - Digitale verktøy og medier i undervisningen Vilnius 1 Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
Kirsti Engelien
 
Akiane Kramarik Painter Inspired By Godi
Akiane Kramarik  Painter Inspired By GodiAkiane Kramarik  Painter Inspired By Godi
Akiane Kramarik Painter Inspired By Godi
Viorica Munteanu
 
Community Driven Innovation 200911
Community Driven Innovation 200911Community Driven Innovation 200911
Community Driven Innovation 200911
OpenSourceCamp
 
Open Source In Enterprises Apache2009 Beijing Jack Cai
Open Source In Enterprises Apache2009 Beijing Jack CaiOpen Source In Enterprises Apache2009 Beijing Jack Cai
Open Source In Enterprises Apache2009 Beijing Jack Cai
OpenSourceCamp
 
[2012 07]this weeks share-0410
[2012 07]this weeks share-0410[2012 07]this weeks share-0410
[2012 07]this weeks share-0410
Bo Shen
 
Open Source community 2.0
Open Source community 2.0Open Source community 2.0
Open Source community 2.0
OpenSourceCamp
 
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
Mirren Business Development
 
[2012 09]this weeks share-0424
[2012 09]this weeks share-0424[2012 09]this weeks share-0424
[2012 09]this weeks share-0424
Bo Shen
 
Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014
Robert Nicholson
 
Geboren voor 1978
Geboren voor 1978Geboren voor 1978
Geboren voor 1978
ejelich
 

Andere mochten auch (19)

14 00 skripnikova_frame
14 00 skripnikova_frame14 00 skripnikova_frame
14 00 skripnikova_frame
 
Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
Engelien - Digitale verktøy og medier i undervisningen Vilnius 1 Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
Engelien - Digitale verktøy og medier i undervisningen Vilnius 1
 
Akiane Kramarik Painter Inspired By Godi
Akiane Kramarik  Painter Inspired By GodiAkiane Kramarik  Painter Inspired By Godi
Akiane Kramarik Painter Inspired By Godi
 
Community Driven Innovation 200911
Community Driven Innovation 200911Community Driven Innovation 200911
Community Driven Innovation 200911
 
Open Source In Enterprises Apache2009 Beijing Jack Cai
Open Source In Enterprises Apache2009 Beijing Jack CaiOpen Source In Enterprises Apache2009 Beijing Jack Cai
Open Source In Enterprises Apache2009 Beijing Jack Cai
 
Made by Madde
Made by MaddeMade by Madde
Made by Madde
 
[2012 07]this weeks share-0410
[2012 07]this weeks share-0410[2012 07]this weeks share-0410
[2012 07]this weeks share-0410
 
On Influence
On InfluenceOn Influence
On Influence
 
Open Source community 2.0
Open Source community 2.0Open Source community 2.0
Open Source community 2.0
 
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
Mirren Conference: Contrasting Clients vs. Agency Exec's, Andrew Deitchman (M...
 
[2012 09]this weeks share-0424
[2012 09]this weeks share-0424[2012 09]this weeks share-0424
[2012 09]this weeks share-0424
 
Arizona Capital Conference Apr 25, 2015
Arizona Capital Conference Apr 25, 2015Arizona Capital Conference Apr 25, 2015
Arizona Capital Conference Apr 25, 2015
 
Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014Mq light For Guide Share Europe 2014
Mq light For Guide Share Europe 2014
 
propuestas de mi candidato
propuestas de mi candidato propuestas de mi candidato
propuestas de mi candidato
 
Caso de estudio. Programas de fidelizacion de las aerolineas en España
Caso de estudio. Programas de fidelizacion de las aerolineas en EspañaCaso de estudio. Programas de fidelizacion de las aerolineas en España
Caso de estudio. Programas de fidelizacion de las aerolineas en España
 
Geboren voor 1978
Geboren voor 1978Geboren voor 1978
Geboren voor 1978
 
What a web developer would like to have…
What a web developer would like to have…What a web developer would like to have…
What a web developer would like to have…
 
louis vitton japan case study
louis vitton japan case studylouis vitton japan case study
louis vitton japan case study
 
CD Cover Design from Past Students
CD Cover Design from Past StudentsCD Cover Design from Past Students
CD Cover Design from Past Students
 

Ähnlich wie Tair

基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
锐 张
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
drewz lin
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
锐 张
 
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
 
分布式文件实践经验交流
分布式文件实践经验交流分布式文件实践经验交流
分布式文件实践经验交流
凯 李
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud era
Junchi Zhang
 
MySQL自动切换设计与实现
MySQL自动切换设计与实现MySQL自动切换设计与实现
MySQL自动切换设计与实现
orczhou
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
drewz lin
 

Ähnlich wie Tair (20)

Mysql调优
Mysql调优Mysql调优
Mysql调优
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
mercury
mercurymercury
mercury
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
 
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
 
分布式系统缓存设计
分布式系统缓存设计分布式系统缓存设计
分布式系统缓存设计
 
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
 
分布式系统缓存设计
分布式系统缓存设计分布式系统缓存设计
分布式系统缓存设计
 
分布式文件实践经验交流
分布式文件实践经验交流分布式文件实践经验交流
分布式文件实践经验交流
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud era
 
内存数据库[1]
内存数据库[1]内存数据库[1]
内存数据库[1]
 
MySQL自动切换设计与实现
MySQL自动切换设计与实现MySQL自动切换设计与实现
MySQL自动切换设计与实现
 
主库自动切换 V2.0
主库自动切换 V2.0主库自动切换 V2.0
主库自动切换 V2.0
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
 

Mehr von OpenSourceCamp

Open generation mikkopuhakka-keynote-4
Open generation mikkopuhakka-keynote-4Open generation mikkopuhakka-keynote-4
Open generation mikkopuhakka-keynote-4
OpenSourceCamp
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresql
OpenSourceCamp
 
Chinacache一站式开发和应用部署环境
Chinacache一站式开发和应用部署环境Chinacache一站式开发和应用部署环境
Chinacache一站式开发和应用部署环境
OpenSourceCamp
 
linux 下的音乐学习
linux 下的音乐学习linux 下的音乐学习
linux 下的音乐学习
OpenSourceCamp
 
Cisco cloud strategy cisco
Cisco cloud strategy ciscoCisco cloud strategy cisco
Cisco cloud strategy cisco
OpenSourceCamp
 
Mee go是您的新机遇
Mee go是您的新机遇Mee go是您的新机遇
Mee go是您的新机遇
OpenSourceCamp
 
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
Open sourcecamp 2010-openisthefuture-1.0-beijing-cnOpen sourcecamp 2010-openisthefuture-1.0-beijing-cn
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
OpenSourceCamp
 
Community Driven Innvoation
Community Driven InnvoationCommunity Driven Innvoation
Community Driven Innvoation
OpenSourceCamp
 
OpenSourceCamp Introducation
OpenSourceCamp IntroducationOpenSourceCamp Introducation
OpenSourceCamp Introducation
OpenSourceCamp
 
Intalio Works 20091128 Beijing
Intalio Works 20091128 BeijingIntalio Works 20091128 Beijing
Intalio Works 20091128 Beijing
OpenSourceCamp
 
Building A Winning Strategy For Open Source Company Beijing Nov2009
Building A Winning Strategy For Open Source Company Beijing Nov2009Building A Winning Strategy For Open Source Company Beijing Nov2009
Building A Winning Strategy For Open Source Company Beijing Nov2009
OpenSourceCamp
 
Nov 2009 Apache Asia Road Show Schedule 20091123
Nov 2009 Apache Asia Road Show Schedule 20091123Nov 2009 Apache Asia Road Show Schedule 20091123
Nov 2009 Apache Asia Road Show Schedule 20091123
OpenSourceCamp
 
28 Nov 2009 Open Source Camp Schedule
28 Nov 2009 Open Source Camp Schedule28 Nov 2009 Open Source Camp Schedule
28 Nov 2009 Open Source Camp Schedule
OpenSourceCamp
 
Open Source Camp Intro En 20091012
Open Source Camp Intro En 20091012Open Source Camp Intro En 20091012
Open Source Camp Intro En 20091012
OpenSourceCamp
 

Mehr von OpenSourceCamp (20)

Open generation mikkopuhakka-keynote-4
Open generation mikkopuhakka-keynote-4Open generation mikkopuhakka-keynote-4
Open generation mikkopuhakka-keynote-4
 
Cloud ID
Cloud IDCloud ID
Cloud ID
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresql
 
Chinacache一站式开发和应用部署环境
Chinacache一站式开发和应用部署环境Chinacache一站式开发和应用部署环境
Chinacache一站式开发和应用部署环境
 
linux 下的音乐学习
linux 下的音乐学习linux 下的音乐学习
linux 下的音乐学习
 
Cisco cloud strategy cisco
Cisco cloud strategy ciscoCisco cloud strategy cisco
Cisco cloud strategy cisco
 
Mee go是您的新机遇
Mee go是您的新机遇Mee go是您的新机遇
Mee go是您的新机遇
 
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
Open sourcecamp 2010-openisthefuture-1.0-beijing-cnOpen sourcecamp 2010-openisthefuture-1.0-beijing-cn
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
 
Sharism In Action
Sharism In ActionSharism In Action
Sharism In Action
 
What is Co-Working
What is Co-WorkingWhat is Co-Working
What is Co-Working
 
Community Driven Innvoation
Community Driven InnvoationCommunity Driven Innvoation
Community Driven Innvoation
 
MeeGo and Community
MeeGo and CommunityMeeGo and Community
MeeGo and Community
 
Taobao toper
Taobao toperTaobao toper
Taobao toper
 
OpenSourceCamp Introducation
OpenSourceCamp IntroducationOpenSourceCamp Introducation
OpenSourceCamp Introducation
 
Intalio Works 20091128 Beijing
Intalio Works 20091128 BeijingIntalio Works 20091128 Beijing
Intalio Works 20091128 Beijing
 
Building A Winning Strategy For Open Source Company Beijing Nov2009
Building A Winning Strategy For Open Source Company Beijing Nov2009Building A Winning Strategy For Open Source Company Beijing Nov2009
Building A Winning Strategy For Open Source Company Beijing Nov2009
 
Nov 2009 Apache Asia Road Show Schedule 20091123
Nov 2009 Apache Asia Road Show Schedule 20091123Nov 2009 Apache Asia Road Show Schedule 20091123
Nov 2009 Apache Asia Road Show Schedule 20091123
 
28 Nov 2009 Open Source Camp Schedule
28 Nov 2009 Open Source Camp Schedule28 Nov 2009 Open Source Camp Schedule
28 Nov 2009 Open Source Camp Schedule
 
Open Source Camp Intro En 20091012
Open Source Camp Intro En 20091012Open Source Camp Intro En 20091012
Open Source Camp Intro En 20091012
 
Open Source Camp Intro
Open Source Camp IntroOpen Source Camp Intro
Open Source Camp Intro
 

Tair