09系统架构师大会数据库技术-淘宝篇

20
© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有 陈吉平 Oracle ACE Director 《构建oracle高可用环境》一书作者 20097高可用分布式数据库系统 架构实践

Upload: dehua-yang

Post on 27-May-2015

3.432 views

Category:

Technology


0 download

DESCRIPTION

介绍了淘宝网数据库使用历史,相信对于每一位DBA都有参考价值

TRANSCRIPT

Page 1: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

陈吉平Oracle ACE Director

《构建oracle高可用环境》一书作者

2009年7月

高可用分布式数据库系统架构实践

Page 2: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

内容介绍

• 淘宝网站发展历程

• 淘宝数据库的发展历程

• 分布式数据库体系架构案例

• 总结

Page 3: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

淘宝网站发展历程

2000片/天

9000片/天2W片/天

3.8W片/天

8W片尿片/天

0

500

1000

1500

2000

2500

2003 2004 2005 2006 2007 2008 2009

PV

全网成交

2008年:交易额999.6亿注册用户9800万卖出1.4亿件服饰卖出1366万部手机卖出3130万张充值卡

Page 4: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

V1.0:最早的淘宝网

• 2003年非典时期

• 使用LAMP架构(Linux, Apache, MySql, Php)

– 业界流行的免费开源组合

• 使用Mysql数据库

– 很少的表,少量的数据

– 用户,交易,商品,其他

简单的结构,但符合当时需求

Page 5: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

V2.0:持续发展

• 集中的数据库– IBM小型机+EMC存储

– Oracle数据库

– Scale up扩展方式

• 宝贵的数据库资源

• 单点,不方便扩展

Oracle数据库

太多的应用机器

有限的链接池

集中的数据库,简单快速

集中的数据库

Page 6: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

• 分布式存储(TFS)

– 解决海量,非结构化数据的存储

– Key-Value数据,如图片

• 分布式Cache(Tair)

– Cache才是王道

使用PC Server做存储媒介

其它数据存储技术的发展

Page 7: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

高可用之双机房构架

• Data Guard + Redo Mirror

Page 8: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

V3.0:垂直扩展

• 基于服务的构架体系– 用户中心,商品中心等

– 每个业务有独立的应用与数据库环境

– 可单独部署与扩展

• 非核心数据从Oracle迁移MySQL

– E.g.,收藏夹

– 节省费用

松耦合,服务导向的架构

Page 9: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

V4.0:水平扩展-读写分离

• 水平扩展构架体系– Scale out的解决方案

– 缓解主库的压力

– 独特的消息中间件同步方式(Notify)

• 读库可以是Oracle或者是Mysql。– 读库可扩展

– 坏掉任何一个读库,不影响业务

从Scale up 到Scale out的转变

Page 10: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

V4.0:水平扩展-水平拆分

• 水平扩展构架体系– Scale out的解决方案

– 对业务基本透明

– 可动态扩展

• 支持任何数据库

• 未来支持多主结构

– 坏掉任何一个主库,不影响业务

• 未来支持压力动态均衡– 数据可以动态分布

– 可以方便的扩展/减少数据库主机

解决单库天花板问题

Page 11: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

数据平台

Page 12: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

未来:多数据中心分布

分布式多数据中心的支持

Page 13: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

未来:云计算与平台服务

• 平台服务

– 如Amazon的S3,Ec2,Simple Db,存储服务和标准的开放

– 持久层不一定需要数据库

Page 14: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

Case 1:读写分离

• 2009年实现– Oracle到Mysql

– 主库集中,读库水平分割(主库的1/N)

– 写操作与部分重要的读操作回主库,其它的读操作回读库

– 读库故障可回主库

• 收到的成效– 缓解主库的压力瓶颈

– 读节点可扩展

– 性能提升

主表

1

2

3

4

5

6

7

8

1,2

3,4

5,6

7,8

复制

读/写 读

Page 15: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

读写分离体系结构

1/N 1/N 1/N 1/N 1/N 1/N 1/N

Application

TDDL

Read

Write & Read

Replication data(自主技术)

主数据库

Page 16: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

Case 2:水平分割

• 2009年实现– Mysql解决方案

– 水平分割

– 规划16个数据库,1024张表

– 分拆之前,单表16亿条记录

• 收到的成效– 成本节省

– 速度更快

– 扩展性提高

Page 17: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

Write & Read

M

S

M

S

M

S

M

S

M

S

M

S

M

S

Application

TDDL

TDDL

水平分割体系结构图

Read

Page 18: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

分布需要好的监控体系

• 好的系统,需要好的监控

Page 19: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

总结

• 数据库技术发展的取决于业务与数据的规模

– 没有最好的,只有最合适的

• 数据库技术需要结合整体构架一起考虑

– 不是所有的东西都要用数据库

– 配套的系统构架很重要

• 分布式环境中监控与工具的重要性

– 工具&自动化,节省人力资源

– 报警,了解最新状况

– 标准化,减少错误的发生

Page 20: 09系统架构师大会数据库技术-淘宝篇

© 2003-2009 Taobao.com All Rights Reserved. 淘宝网 版权所有

谢谢!Q&A