SlideShare uma empresa Scribd logo
1 de 42
淘宝数据库架构演进历程 丹臣 / 赵林 数据架构师 2010-12-12
提纲 ,[object Object],[object Object],[object Object],[object Object],[object Object]
淘宝的数据很美丽
淘宝数据库发展三阶段
SQL 语句变化 ,[object Object],[object Object],[object Object],[object Object]
淘宝电子商务网站的特点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
不同的时期,不同的策略 ,[object Object],[object Object],[object Object],[object Object],[object Object]
数据库里的数据 第一,二阶段的单台数据库里,用户,商品,交易等数据都在一起,存在许多的关联查询,应用完全耦合 用户 商品 交易 评价 收藏
连接数问题 Oracle 数据库 ,[object Object],[object Object],[object Object],小型机的内存有限,发现了 Oracle 数据库有连接数瓶颈, 5000 个以后相当吃力。
中心化,服务化 ,[object Object]
HSF 的诞生 ,[object Object],A 服务 B 服务 HSF
数据垂直化 ,[object Object],[object Object],[object Object],[object Object],用户 商品 交易 评价
问题 ,[object Object],[object Object],[object Object],[object Object],[object Object]
一台高端存储的处理能力 480 块盘的 hdisk , max IOPS 6w 注意应用可以接受的 IO response time, 以及 IOPS 点。比如 3w  IOPS 以上,会达到 20ms 以上
数据库架构发展新思路 ,[object Object]
异构的读写分离 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
构建数据查询的高速公路 ,[object Object]
跨不过去的坎 ,[object Object],[object Object],[object Object],[object Object]
大数据量核心业务数据迁移思路 ,[object Object],[object Object],[object Object],[object Object]
水库模型 ,[object Object]
数据库系统余量 ,[object Object],[object Object],[object Object],[object Object]
数据库系统余量
数据生命周期之历史迁移 Data Online  Data History Data ,[object Object]
在线与历史应用分离 Online  Data Database History  Data Database Online Application  History Application  数据迁移程序 ,[object Object],[object Object],[object Object]
商品访问框架 主键查询 卖家查询 淘宝商品的几个主要的查询: a. 主键查询通过分布式数据库,以及分布式缓存系统解决 b. 卖家商品管理类查询,这一类的查询数据量大,并且还有 like 查询的需求,通过实时搜索解决 商品 分布式缓存 分布式数据库 实时搜索 注:考虑不同的读载体的技术实现,性能,成本
用户 ,[object Object],用户信息 用户主信息 用户信息扩展 ,[object Object],[object Object]
过度中心化 用户中心 Tair 分布式缓存 商品中心 交易中心 评价中心 ,[object Object],[object Object]
用户中心中的读写分离 用户中心 Tair 分布式缓存 商品中心 交易中心 评价中心 ,[object Object],在其它中心中内置可以访问 tair 的客户端,大部份的读不需要经过用户中心,直接读 tair ,写需要经过用户中心。
交易的读写分离框架 ,[object Object]
一些难题 ,[object Object],[object Object],[object Object]
光棍节大促 活动前,经过了充分的准备与系统评估工作: CDN 面临的压力最大,预估流量将会达到 280G 左右,准备了各个层面的系统降级方案。
一个小意外 ,[object Object]
MySQL 源代码研究 ,[object Object],[object Object],[object Object]
MySQL 源代码研究 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL Binlog 解析数据复制中心 ,[object Object]
MySQL Binlog 解析数据复制中心 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
异地多数据中心的数据同步 杭州 青岛 other
异地多数据中心的数据同步 ,[object Object]
淘宝自主数据库 Oceanbase ,[object Object],[object Object],[object Object],[object Object]
总结 ,[object Object],[object Object],[object Object],[object Object]
Follow me ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]

Mais conteúdo relacionado

Destaque

MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
Ronald Bradford
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirks
Colin Charles
 

Destaque (20)

MySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadMySQL - checklist для новичка в Highload
MySQL - checklist для новичка в Highload
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
 
High Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationHigh Availability Using MySQL Group Replication
High Availability Using MySQL Group Replication
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
Online MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackupOnline MySQL Backups with Percona XtraBackup
Online MySQL Backups with Percona XtraBackup
 
Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
 
Requirements the Last Bottleneck
Requirements the Last BottleneckRequirements the Last Bottleneck
Requirements the Last Bottleneck
 
MySQL Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
 
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 
10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应
 
MHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirksMHA (MySQL High Availability): Getting started & moving past quirks
MHA (MySQL High Availability): Getting started & moving past quirks
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
 
Lessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting ReplicationLessons Learned: Troubleshooting Replication
Lessons Learned: Troubleshooting Replication
 
Explain
ExplainExplain
Explain
 
MySQL High Availability Deep Dive
MySQL High Availability Deep DiveMySQL High Availability Deep Dive
MySQL High Availability Deep Dive
 
Why MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it BackWhy MySQL Replication Fails, and How to Get it Back
Why MySQL Replication Fails, and How to Get it Back
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 

Semelhante a 淘宝数据库架构演进历程

2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
2014-10-17 探析台灣巨量資料產業供應鏈串聯現況2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
Jazz Yao-Tsung Wang
 
民间秘方
民间秘方民间秘方
民间秘方
dynasty
 
高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍
uptodate
 
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt
Frank Cai
 
Ocean base内部探秘
Ocean base内部探秘Ocean base内部探秘
Ocean base内部探秘
gettyying
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for banking
focusbi
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
Yiwei Ma
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
 
新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍
helbreathszw
 

Semelhante a 淘宝数据库架构演进历程 (20)

Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
Sybase Analytic Appliance
Sybase Analytic ApplianceSybase Analytic Appliance
Sybase Analytic Appliance
 
深入淺出 AWS 大數據工具
深入淺出 AWS 大數據工具深入淺出 AWS 大數據工具
深入淺出 AWS 大數據工具
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
2014-10-17 探析台灣巨量資料產業供應鏈串聯現況2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
2014-10-17 探析台灣巨量資料產業供應鏈串聯現況
 
民间秘方
民间秘方民间秘方
民间秘方
 
如何快速实现数据编织架构
如何快速实现数据编织架构如何快速实现数据编织架构
如何快速实现数据编织架构
 
高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍
 
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt
 
Ocean base内部探秘
Ocean base内部探秘Ocean base内部探秘
Ocean base内部探秘
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for banking
 
基于用户行为的数据分析
基于用户行为的数据分析基于用户行为的数据分析
基于用户行为的数据分析
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
 
博晓通企业介绍和典型客户201504 (完整版)
博晓通企业介绍和典型客户201504 (完整版)博晓通企业介绍和典型客户201504 (完整版)
博晓通企业介绍和典型客户201504 (完整版)
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
 
Emc keynote 1130 1200
Emc keynote 1130 1200Emc keynote 1130 1200
Emc keynote 1130 1200
 
阿里巴巴数据中台实践分享.pdf
阿里巴巴数据中台实践分享.pdf阿里巴巴数据中台实践分享.pdf
阿里巴巴数据中台实践分享.pdf
 
Analytics in a Day.pptx
Analytics in a Day.pptxAnalytics in a Day.pptx
Analytics in a Day.pptx
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
 
新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍
 

Mais de zhaolinjnu (6)

MySQL aio
MySQL aioMySQL aio
MySQL aio
 
Redis介绍
Redis介绍Redis介绍
Redis介绍
 
Hbase源码初探
Hbase源码初探Hbase源码初探
Hbase源码初探
 
Mysql参数-GDB
Mysql参数-GDBMysql参数-GDB
Mysql参数-GDB
 
Hash
HashHash
Hash
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
 

淘宝数据库架构演进历程

Notas do Editor

  1. MySQL 到 Oracle,PC server 到 IBM 小型机的迁移,极大的提升了数据库的处理能力,在高端存储的帮助下, IO 能力也得到了极大的提升,使大家能够在较长一段时间内,集中精力做业务,数据库系统能够快速响应业务发展的各种需求 小型机硬件不断升级,高端存储不断扩展, Oracle 商业软件费用增加,公司面临成本压力,我们的技术没有得到提升 再好的硬件也有极限,集中式始终存在要命的扩展问题,整个系统出现 IOPS ,连接数等各种瓶颈 随着公司的发展,各类技术人才开始汇集,我们可以有所作为