您的位置: 网界网 > 行业应用 > 正文

探秘因势而动的阿里数据库

2013年07月17日 09:16:23 | 作者:高杨 | 来源 :CNW

摘要:打造和谐、共融的生态产业圈似乎是现阶段社会发展的必然趋势,各行各业在融合的洪流中积极寻找自己“一席之地”的同时,不忘构建自身“生态圈”,打通企业本身的“任督二脉”,力争无缝对接各项业务,保证企业运营更加顺畅自如...

标签
数据库
阿里巴巴集团

探秘因势而动的阿里数据库

打造和谐、共融的生态产业圈似乎是现阶段社会发展的必然趋势,各行各业在融合的洪流中积极寻找自己“一席之地”的同时,不忘构建自身“生态圈”,打通企业本身的“任督二脉”,力争无缝对接各项业务,保证企业运营更加顺畅自如。

要想庞大繁复的业务顺畅有效地运行,整合各方资源,除了业务自身具有相对成熟的运作流程,强大的技术保障是当今信息化社会必不可少的重要组成部分。生态融合急先锋阿里巴巴集团便是其中一员。近期记者拜访了阿里巴巴集团数据库技术负责人、资深数据库专家周宝方(阿里花名: 后羿),在沟通交流的过程中了解阿里巴巴集团数据库技术是如何不断自我挑战、推动变革,为阿里巴巴集团生态大融合贡献自己一份力量的。

与人们所熟知的大数据[注]不同,阿里巴巴集团数据库技术团队主要专注于在线数据存储领域,其核心职责有以下三点: 第一,运营阿里巴巴集团在线存储基础设施; 第二,为阿里巴巴集团各个BU提供高附加值的在线存储方案; 第三,推动阿里巴巴集团技术战略落地。 周宝方表示,阿里巴巴集团数据库技术团队的重点工作都将围绕这三点展开。

运营在线存储基础设施:所有数据库均看成基础设施资源,数据库技术团队人员采用多种手段促进其资源的最大化使用,进而通过有效的管理,提升单机性能。同时,通过数据化的手段抓取各关键节点中每个业务行为对数据库资源的占用数据,并以此为基础不断寻求更为精细化的优化手段。除此之外,探寻通过阶段性的服务器资源交付过程中的合理腾挪来达到资源成本的最大化,为下一步更大规模挑战做好准备。

为各BU提供高附加值的在线存储方案:阿里巴巴集团数十个BU拥有多样化的业务场景,这对数据库工程师提出了更高的要求,需要工程师们具备深入的业务定制优化能力。以秒杀场景为例,数据库工程师们需在秒杀场景下具备热点数据争用处理,或者极高并发场景下的高吞吐、低延迟数据传输处理能力等,确保业务正常发展。

推动阿里巴巴集团技术战略落地:技术战略落地意味着阿里巴巴集团数据库技术团队需站在战略层面平衡阿里巴巴集团数据库技术发展的各项节奏,而不仅仅停留在技术层面。在这一层面,阿里巴巴集团「去IOE」、“双11”数据库技术保障、分布式数据库OceanBase落地、单元化部署、云数据库推广等技术战略均为这一核心职责下的产物。

数据库技术团队全景图

整体了解了阿里巴巴集团数据库技术团队的职责与使命,周宝方又为我们勾勒出阿里巴巴集团数据库技术团队的全景图,让人们从一定程度上更加形象地了解数据库技术团队是如何为整个阿里巴巴集团的数据库运作“保驾护航”。

在采访中了解到,阿里巴巴集团数据库技术团队脱胎于原DBA(数据库管理)团队,在过去几年内经过整合,由原淘宝、支付宝、阿里云、B2B等团队组成,经过几年的发展,紧跟业务节奏,由Oracle DBA转型成为当前的数据库技术团队,目前团队规模为90人。主要由DBA和DBA研发两大部分组成。前者直接深入业务,解决业务痛处。后者则负责为DBA提供数据方案、工具、平台、数据库层定制优化开发等支持保障。其组织架构包括产品DBA(一组和二组)、MySQL组、数据库产品团队(OceanBase组、RDS组、HBase组)、工具平台组及基础技术组。其中DBA一组直接对口淘宝、天猫等淘系业务的数据库支持工作,其他业务均由DBA二组负责。MySQL组主要维护AliMySQL分支,负责应用场景的定制优化工作,为阿里巴巴集团复杂多样的业务场景奠定了坚实的技术基础。在数据库产品团队中值得一提的是阿里自主研发的关系型分布式数据库OceanBase。Oceanbase(简称OB)支持ACID、范围查询和多版本并发(MVCC),同时兼容SQL和JDBC(Java数据库链接)、ODBC(开放数据库互联),通过服务器的在线增加提升容量和性能,可在跨IDC部署情况下做到主备强同步,为持续可用提供坚实的技术保障。目前OB在阿里巴巴集团正处于快速成长期,在淘宝、天猫、支付宝等生产环境上有诸多应用。由于OB支持SQL,无须分库分表, 为应用提供了便捷性。此外,在云数据库领域,RDS可提供对外不间断的关系型数据库服务。据悉,目前跑在RDS上的客户超过5000家,包括大量“聚石塔”客户(淘宝卖家后台管理系统)都已将自己的CRM系统托管在RDS上。

随着业务线的不断扩展,传统的技术思路已经不足以支撑阿里巴巴集团数据库团队超大规模的研发支持需求,因此工具平台组的IDB平台可以满足业务团队通过自助的方式解决主要的数据库支持需求。据介绍,IDB集成了大量DBA经验,大幅提升了DBA工作效率,减少了人工成本。在数据可视化领域亦将展开探索,将运行数据以更直观的方式推送给业务人员,使其可快速了解数据库资源的运行情况。 周宝方告诉记者:“根据近期内部数据测算,IDB所承载的工作量是50名经验丰富的数据库工程师的工作量总和,这在互联网企业是难以想象的。这也是阿里巴巴集团在业务不断扩大的情况下,数据库工程师队伍却基本保持不变,甚至有所减少的关键原因之一。可以想象,IDB在未来所能产生的能量也将逐步放大。”

如果将工具平台比喻成次后端支撑团队的话,那么基础技术团队可谓实至名归的大后方。这个团队主要负责软硬件技术、系统的优化、数据方案、资源交付及自动化运维平台的建设。其团队规模为10人左右,是真正站在其他数据库团队背后做相对底层、基础却至关重要的技术团队。

「去IOE」的“成长”路

上文提及的阿里巴巴集团数据库技术团队核心价值之一是为技术战略落地提供保障。周宝方告诉记者,在过去的几年里,阿里巴巴集团数据库团队完成的最重要的技术战略就是「去IOE」。

想要了解阿里巴巴集团数据库技术的「去IOE」之路,首先应明确什么是IOE。所谓IOE是指IBM小型机、Oracle数据库及EMC存储设备的“传统组合”。随着阿里巴巴集团业务的迅猛发展,传统的“IOE”模式已经无法解决现阶段集团集中化所带来的扩张性及稳定性、成本、自主可控等问题。“过去四年,其实我们就做了一件事情,就是「去IOE」,用我们自主的技术来解决传统集中模式带来的各种数据库问题。”周宝方感慨道。

颠覆任何一种成熟的、被肯定的模式都需要相当的勇气,以及足够的实力。在业界已经成为常规动作的IOE,为何被阿里巴巴集团数据库团队的自主技术取代?这个问题将周宝方的思绪拉回到2009年:“其实阿里巴巴集团的「去IOE」是有其必然性的。在2009年底团队梳理数据库技术战略时发现,阿里巴巴集团在IOE方面的各项投入,尤其是淘宝在IOE方面的投入已经非常引人注目了, 如果继续选用IOE这种模式做技术支撑,无论是成本还是技术都将面临非常巨大的挑战。更重要的是,即便投入相当规模的人力物力也未必可以解决阿里巴巴集团数据库技术团队现阶段所面临的难题。既然如此,数据库团队决定在2010年淘宝核心交易系统中摸索用PC机代替小型机的技术方案,同时在当年淘宝数据库年度预算的会议上讨论并通过了不再购买小型机的决议,从而拉开了阿里巴巴集团数据库技术团队「去IOE」战略的序幕。”

也许在此时,人们觉得阿里巴巴集团「去IOE」是水到渠成的事情,但在当时来看这却是一个非常大胆的决定。而整个过程并非一蹴而就。以淘宝商品库(IC库)「去IOE」历程为例,周宝方回忆道:2009年,IC库Oracle读写分离,后来由于读压力过大,因此数据库团队决定将买家查询部分放到实时搜索上进行。2010年7月商品库完成去除小型机步骤,此后又历时一年时间完成「去IOE」全部动作。

淘宝核心交易系统的「去IOE」效果甚丰,为整个阿里巴巴集团「去IOE」打下了良好的基础。周宝方介绍道:“「去IOE」后的IC库将以前集中在两台小型机上的所有数据平均分布到16台PC机上,每台PC机只影响整体业务的1/16数据,加之淘宝商品具有合理的Tair缓存应用设计(80%的商品查询都在缓存中,只有20%需最终查数据库),可保证单台服务器宕机仅影响1/16*20%的商品查询。同时对于数据库宕机后的商品写入也可保证先写入Tair,等故障恢复后再从Tair同步回数据库,大幅度降低设备故障对业务产生的影响。在存储层面,对于大量OLTP(联机事务处理系统)数据库,主要瓶颈是小数据块随机读写。「去IOE」后的内存由原先两台小型机各128G(共256G)内存扩展至16台PC各128G内存(共2048G),极大提高了数据库的缓存命中率。这有可能会使后端存储随机读写次数下降至十分之一,存储的读写压力弱化到可以由本地SAS硬盘代替。” PC硬件工业的发展,使去除存储更为可行。

不可否认,「去IOE」为阿里巴巴集团实现了灵活的架构,可较为轻松地应对高速的业务发展,通过自主可控的技术摆脱更多的外部依赖,在项目进行的过程中累积大量的基础工程技术和人才,为企业提供长久的核心竞争力。同时还能为企业长远发展节省大量成本。这些都是通过「去IOE」所实现的战略价值。

但对于任何一种“新生事物”而言,都有其特定的“生存环境”。以「去IOE」为例,虽然在业界引起了一定的关注,但绝大多数企业对于这项艰巨的任务仍然缺少较为深入的认识。鉴于此种情况,周宝方友情提示道:第一,对于一个大型企业而言,「去IOE」是一项战略性的系统工程,其对公司技术战略的影响非常大,绝不仅仅是简单地换个数据库而已。它要求企业在技术架构和技术细节上须具有非常深入的把控能力,必须清醒地认识到「去IOE」在为企业带来高收益的同时具有高风险,各大企业需要更全面、客观的分析,综合企业各方面因素,切不可盲目做决定。 第二,「去IOE」需要强大的组织保障。比如在阿里巴巴集团,是由阿里巴巴集团数据库技术团队来主导执行并实施落地的,如果企业没有一个很强的技术执行力团队来全盘掌控项目的进行,极有可能出现虎头蛇尾的局面。同时决策层的全力支持也十分重要。理解和支持会在项目遇到反对和质疑声时转化为坚定不移执行项目的动力,最终取得全面性的胜利。反之亦然。

弹性化数据库管理
助力“全”业务

“山穷水尽疑无路,柳暗花明又一村。”在传统的技术思路无法解决现存难题时,创新、颠覆就成为了突破现状的必选项。“关键是我们以什么样的技术思路、战略眼光看问题。”周宝方总结道。

谈及阿里巴巴集团数据库的发展趋势,周宝方表示:借助弹性思路处理现实问题,将在线数据库上“云”快速有效地扩展业务,为其提供更高的灵活性,节省更多的成本是我们数据库的发展方向。以每年的‘双11’为例,阿里巴巴集团数据库技术团队都会投入相当的服务器资源应对业务高峰期,若用传统的技术方法,可能会有大量“不可回收”的设备成本。而如果能够根据数据库具有一定可伸缩弹性能力的特点,去支持随着业务的走势“智能、灵活”地增减设备数量,就能提高使用效率。虽然短期来看需要技术部门突破重重难关,不断创新,不断颠覆,但从长远角度考虑,这种“绿色、经济”的架构模式为业务部门提供了更便捷、更高效的支撑模式,为业务的增长提供了广阔的空间。

据了解,阿里巴巴集团数据库已经将云端数据库投入到业务应用领域,预计在今年的“双11”业务高峰期通过技术的改进,寄希望设备的“伸缩能力”高达50%。

正所谓独乐乐不如众乐乐,在数据爆发式增长的洪流中,周宝方表示,未来阿里巴巴集团数据库技术团队将紧随业内最新技术动态,关注技术上游发展变化,营造开放、和谐的技术氛围,在与业界分享、互动交流的过程中,推动数据库技术更“健康”地“成长”,为业务提供更坚实的保障。

参考资料

1.大数据:(Big Data),研究机构Gartner给出了这样的定义。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 ...详情>>

[责任编辑:高杨 gao_yang@cnw.com.cn]

我也说几句

热点排行