【IT168大会报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。
自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix技术社区已经连续举办了三届数据库技术大会,每届大会超过千人规模,云集了国内技术水平最高的数据架构师、DBA、数据库开发工程师、研发总监、IT经理等,是目前国内最受欢迎的数据库技术盛会。
本次数据库大会,由来自Oracle ACE,数据库架构师 张瑞为我们带来的《阿里数据库关键技术》的精彩演讲,演讲中介绍阿里集团数据库使用的一些关键技术,涉及硬件,MySQL,高可用和工具等方面,这些技术支撑着淘宝和天猫的巨大访问量。同时,也会讲述阿里DBA在运维大规模数据库方面的经验,突发情况的应急预案,以及我们对DBA未来发展的思考。
逆天191亿背后 数据库软硬件解密
在2012年双11活动后,阿里巴巴集团11月12日凌晨确认,“双11”购物狂欢节的支付宝总支付额达到191亿元,超过1亿笔,超过2011年的3倍。其中仅天猫就达成了132亿元,淘宝则完成了59亿元。那么如此大的数额背后数据库是怎样的呢?
如果你认为191亿销售额背后就是如此简单的软硬件,那么你就错了,在这些软硬件的同时,还对数据库存储方案提出要求,阿里使用Flashcache、Flash卡+SAS、SSD+SAS、SAS组合方案,于此同时还在数据库架构上选择了可扩展架构(分库分表、读写分离)、高可用架构(M-M、M-M-S)。
在数据库扩容方面,张瑞为我们分享成功经验:1、集群扩容,在数据库水平扩展,使用2主2备将比4主4备效果更好,针对TPS容量不足的核心数据库,扩容后缩减比较困难。2、机器升级,主要升级为SSD,提升IO性能,同时内存扩容,提升buffer命中率。3、增加备库,增加MySQL备库,应用读写分离,针对QPS容量不足的场景,扩容和缩减很方便。
在阿里的不断优化后,MySQL的高可用成为TMHA,这样将会拥有多种切换类型,同时部署方式不仅可以将MySQL主备库部署在不同机房,还可以讲Zookeeper部署在三个机房,这样做的优点是多机房部署可实现IDC容灾。
保证数据一致性
对于保证数据一致性方面,张瑞表示,“Master宕机后,有三个选择,第一个选择是Slave立即提供服务,存在数据不一致风险;第二个是Slave不提供服务,等待master恢复,保证数据一致;第三个是Slave提供部分服务(比如只能新建,不许修改),等待master恢复后,保证数据一致”。
阿里独立开发秘密工具分享
最后,张瑞分享了2012年双十一时的应用优化,在减库存,抢红包场景时,大量并发更新导致行锁等待严重,触发MySQL死锁检测,CPU耗尽,thread running剧烈波动,RT上升,解决方法是使用MySQL补丁,关闭死锁检测,并发控制,使用合并更新规则。在系统优化方面,首先无处不在的cache,其次系统解耦,减少系统依赖,保护核心应用,最后使用系统保护,可以通过降级开关,实现自动限流。