【DTCC 2011特别报道】4月15-16日,国内数据库领域唯一的年度盛会,由盛拓传媒IT168网站汇集旗下ITPUB、IXPUB以及ChinaUnix中国三大企业级技术社区优势资源主办的2011数据库技术大会在北京举行。点击进入专题:
【IT168 专稿】 基于即时通讯客户端起家的腾讯公司可以说是中国互联网的巨无霸,涉及行业之广,业务领域之多,估计唯有谷歌能与之媲美。然后随着各项业务的不断发展与相互联系,原有的数据库已经无法满足正常的业务需要,迫切需要对数据库进行创新,改革。今天,腾讯网的邵宗文将给讲解腾讯网数据库托管平台的新技术。
▲腾讯网邵宗文
▲腾讯网示意图
腾讯网是一个以新闻为主导的网站,但是随着网站的不断发展和业务的不断扩展,跨部门之间的数据交互沟通也越来越迫切,腾讯数据库面临着前所未有的挑战,如何应对不断增大的流量?对腾讯网所有的业务及新闻频道进行分析,发现,各自频道的巨量流量都是有一定的时间规律的,比如财经频道不会整天都有巨额流量,只是每天固定的那几个小时。再比如世界杯,这些都是可以预见的。那可不可以将流量进行宏观调控,将流量进行分流呢?
▲传统数据库使用结构图
传统的数据库都是所有的应用项目连接到一个主库进行读写操作。从库通过同步主库数据做热备,很少提供服务。一个主库带一个从库的双车道式,当有高峰访问时候,就显得拥堵不堪。从而产生访问过慢或者无法访问。
▲腾讯网数据库托管平台拓扑图
为了面对挑战,腾讯打造了一个业内一流托管平台,实现高可用,可扩性,高性能,高效性的功能。
高可用,可扩性:对故障机器,延迟超过阀值的从库进行自动摘除,并通过建立南北多IDC数据中心实现可扩展性,实现99.999%高可用。
高性能:针对各种不同业务项目,提供自动化告警及优化建议,从而应对更大的高并发访问。
高效性:采用托管平台,提供了简单的域名访问数据库模式,提高了开发速度。
▲腾讯网数据库托管平台特点
腾讯数据库托管平台的特点可以简单概括为四个字,即“软硬兼施”,所谓软就是通过多维度监控业务行情。通过全方位监控,将各个业务做成类似股票行情一样。
硬则多IDC分布,故障快速切换。腾讯公司在北京、上海、天津、深圳搭建了4个IDC机房,合计共投入了上百台DB机器。并且动态监控各个主机的性能,并保证每一台主机的内存使用都不超过2,以便在其他IDC机房突发故障,需要将流量加载到这台主机。实践证明,这条措施是完全有效的,托管平台连续300多天零宕机,服务稳定性提升到99.99%。
兼即是根据各业务生命周期不同,进行单机多实例混跑,从而有效降低公司服务器成本。
施即是平台对于线上托管项目进行慢SQL问题分析和SQL采样,帮助开发人员更快定位问题。
通过采用数据库平台,腾讯首先就对新闻后台发布系统进行优化,将复杂SQL分担到多个从库,并针对暴露出来的庞大库表进行了瘦身,将原来的发布一篇新闻需要一分钟甚至几分钟缩短至现在的一分钟之内,让发文速度提升了几十倍。这对以时效为王的新闻网站来说,无疑在先天上就超过了对手。