©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有陈吉平OracleACEDirector《构建oracle高可用环境》一书作者2009年7月高可用分布式数据库系统架构实践©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有内容介绍•淘宝网站发展历程•淘宝数据库的发展历程•分布式数据库体系架构案例•总结©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有淘宝网站发展历程2000片/天9000片/天2W片/天3.8W片/天8W片尿片/天050010001500200025002003200420052006200720082009PV全网成交2008年:交易额999.6亿注册用户9800万卖出1.4亿件服饰卖出1366万部手机卖出3130万张充值卡©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有V1.0:最早的淘宝网•2003年非典时期•使用LAMP架构(Linux,Apache,MySql,Php)–业界流行的免费开源组合•使用Mysql数据库–很少的表,少量的数据–用户,交易,商品,其他简单的结构,但符合当时需求©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有V2.0:持续发展•集中的数据库–IBM小型机+EMC存储–Oracle数据库–Scaleup扩展方式•宝贵的数据库资源•单点,不方便扩展Oracle数据库太多的应用机器有限的链接池集中的数据库,简单快速集中的数据库©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有•分布式存储(TFS)–解决海量,非结构化数据的存储–Key-Value数据,如图片•分布式Cache(Tair)–Cache才是王道使用PCServer做存储媒介其它数据存储技术的发展©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有高可用之双机房构架•DataGuard+RedoMirror©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有V3.0:垂直扩展•基于服务的构架体系–用户中心,商品中心等–每个业务有独立的应用与数据库环境–可单独部署与扩展•非核心数据从Oracle迁移MySQL–E.g.,收藏夹–节省费用松耦合,服务导向的架构©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有V4.0:水平扩展-读写分离•水平扩展构架体系–Scaleout的解决方案–缓解主库的压力–独特的消息中间件同步方式(Notify)•读库可以是Oracle或者是Mysql。–读库可扩展–坏掉任何一个读库,不影响业务从Scaleup到Scaleout的转变©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有V4.0:水平扩展-水平拆分•水平扩展构架体系–Scaleout的解决方案–对业务基本透明–可动态扩展•支持任何数据库•未来支持多主结构–坏掉任何一个主库,不影响业务•未来支持压力动态均衡–数据可以动态分布–可以方便的扩展/减少数据库主机解决单库天花板问题©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有数据平台©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有未来:多数据中心分布分布式多数据中心的支持©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有未来:云计算与平台服务•平台服务–如Amazon的S3,Ec2,SimpleDb,存储服务和标准的开放–持久层不一定需要数据库©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有Case1:读写分离•2009年实现–Oracle到Mysql–主库集中,读库水平分割(主库的1/N)–写操作与部分重要的读操作回主库,其它的读操作回读库–读库故障可回主库•收到的成效–缓解主库的压力瓶颈–读节点可扩展–性能提升主表123456781,23,45,67,8复制读/写读©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有读写分离体系结构1/N1/N1/N1/N1/N1/N1/NApplicationTDDL…ReadWrite&ReadReplicationdata(自主技术)主数据库©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有Case2:水平分割•2009年实现–Mysql解决方案–水平分割–规划16个数据库,1024张表–分拆之前,单表16亿条记录•收到的成效–成本节省–速度更快–扩展性提高©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有Write&ReadMSMSMSMSMSMSMS…ApplicationTDDLTDDL水平分割体系结构图Read©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有分布需要好的监控体系•好的系统,需要好的监控©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有总结•数据库技术发展的取决于业务与数据的规模–没有最好的,只有最合适的•数据库技术需要结合整体构架一起考虑–不是所有的东西都要用数据库–配套的系统构架很重要•分布式环境中监控与工具的重要性–工具&自动化,节省人力资源–报警,了解最新状况–标准化,减少错误的发生©2003-2009Taobao.comAllRightsReserved.淘宝网版权所有谢谢!Q&A