01
“我们还是回滚到Oracle吧。”马来西亚最大电商公司之一PrestoMall的数据工程师敲下这句话后,阿里云架构师郑旦和在吉隆坡、北京、杭州三地的同事们,面临着3个月工作一夜归零的险境。
2019年12月6日的凌晨4点,本该在0点启动的数据库迁移行动,推迟了4个小时。他们要将公司成立5年来的所有线上交易、线下分析报表数据从Oracle数据库切换到阿里云的云原生数据库PolarDB上。数据总量超过5T,类似5年时间不间断,每秒300多笔记录,所累积的数据量。
三个月前,PrestoMall分布在印度、韩国、大马的研发团队,以及唯一一位数据库工程师,都觉得这个想法太疯狂了。5T数据的迁移绝不是小事,更何况数据库涉及所有线上核心业务,而任何的数据差错,都会带来业务问题。而且他们新选的数据库供应商来自阿里巴巴,后者旗下的Lazada 可是他们的竞争对手。
但PrestoMall还是做出了决定——上云!
PrestoMall网站
之前PrestoMall使用的32核Oracle数据库,屡屡遇到问题,高峰时间段在线交易的瞬间激增、大量数据的持续存储,让业务随时处于崩溃的边缘。2019年12月,PrestoMall的Oracle许可证将到期,是否继续沿用的问题,提前被提上议程。
如果切换上云成功,PrestoMall预期可以节省90%的数据库费用,相关的IT成本也有望下降40%。因此,在9月初,公司开始与东南亚市场上的数据库供应商接触。
权威机构Gartner报告显示,微软Azure、亚马逊AWS、阿里云Alibaba Cloud是云数据库份额前三厂商,因为都是A开头,简称3A。作为亚洲增速最快的经济体之一,东南亚市场是必争之地。
从当地工程师的认知上讲,微软Azure总体品牌认知度最高,本身有SQLServer的长期积淀,亚马逊AWS的Aurora是最早商用的云数据库,具有性能上的口碑,并且也脱胎于电商业务。
无论找谁,用云数据库替代Oracle等传统数据库都是势在必行。
阿里巴巴集团副总裁、达摩院数据库首席科学家李飞飞是攻下市场的关键角色。
李飞飞曾经是犹他大学终身教授、ACM杰出科学家,在数据库领域拥有非常大的影响力,2018年李飞飞加入阿里巴巴,现任阿里云数据库负责人,花名:飞刀。
阿里巴巴集团副总裁、达摩院数据库首席科学家李飞飞
“今年要帮助1000家企业去O,10000套传统数据仓库上云。”李飞飞在2020年6月9日对外公布了一组数字。这个目标不是单方面的商业计划,而是基于客户表达的强烈需求。李飞飞这一发言具有全球指标性意义。
“他的英语交流出色,在数据库领域又有科学家和大公司团队负责人双重身份,客户很容易认可。”架构师西壁说,李飞飞花了大量时间,帮助东南亚销售团队与客户接触。
阿里巴巴数据库团队很少坐下来向客户做长篇演说推广。西壁认为他们的竞争优势在于:“第一是场景,PolarDB已经支持双11多年,秒杀、直播等场景也都是客户感兴趣的;第二是直接让客户到自己系统中试用,接受检验。”
根据PrestoMall的需求,9月末,阿里和其他厂商一起提交了“去O”的迁移方案以及兼容性评测报告。然而,评测结果是PolarDB产品由于采用分布式架构,当时版本对Oracle数据兼容性相对低,以及价格还更高。
坚持采用分布式架构,而不是只照顾兼容性,是李飞飞加入数据库团队后,与各个骨干达成的共识。因为这种架构能支持不同类型的数据库,共同高效调用资源。当时,团队刚刚快速从过去兼容MySQL的PolarDB数据库产品中,抽出了一款针对Oracle客户快速切换的产品PolarDB-O。
当时,PolarDB-O尚在公测期,李飞飞竟然就要面向国际客户服务。郑旦在阿里巴巴有7年数据库架构师经验,完成了多个事业部的“去O”;这个目标仍然让她感到“太快了”——“当时,团队刚刚改变建制,我突然就被拉到一个群,说你去负责这个马来西亚客户。”
东南亚项目容易“费力不讨好”。语言、编程习惯、3A的疯狂竞争、远程成本……各种因素随时都可能让项目夭折。
为了最终迁移顺利,郑旦团队和多个研发小组,甚至要计划在上海完全模拟了一套复刻客户同体量的数据,模拟从Oracle迁移的每一个细微环节。
但由于评测报告并不占优,接下来的工作只能提速。数据库相关团队整个国庆加班迭代,并派出多名成员前往马来西亚。阿里云智能总裁行癫曾经对内多次谈到,核心技术大件放到国际上竞争,绝不能只靠“价格低”、“阿里出品”来吸引客户。
经过现场对未来场景的几轮商谈,阿里丰富的电商实践检验,最终更有说服力。但无论郑旦们,还是Prestomall的工程师们,仍然感觉到巨大的不确定性。
02
阿里云数据库团队对东南亚市场并不陌生,心动网络就是阿里云服务的客户之一。在热门的游戏出海领域,心动网络打造了游戏社区TapTap,近几年在海外的扩张势头也格外凶猛,《碧蓝航线》《第五人格》等国内爆款游戏均通过心动网络与国外玩家见面。
一直以来,游戏出海行业里关注更多的是如何获取海外流量、如何内容本地化,鲜少有人关注讨论在线娱乐型流量的底层支撑与命门——数据库和数据仓库。前者支撑和记录玩家的所有交互行为;后者则要将大数据实时提供给运营团队数据洞察,便于做出及时的玩法和策略调整。
TapTap的全球化运营与交付模式,意味着他们需要有支撑各区域部署的“数字大脑”,而相互之间,又最好使用统一的大件模块。
然而伴随着业务的扩张,互联网公司原有的大量MySQL数据库面临挑战,数据备份慢、业务延迟大,游戏发版前对数据备份动辄需要几小时,非常影响发布效率。心动网络最早在东南亚市场使用了亚马逊AWS Aurora。
随着阿里云自研的云原生数据库PolarDB在当地开设服务,心动网络选择了这一成本更低、性能更优、曾经扛住了双11大规模高并发的伙伴。
从MySQL到AWS Aurora再到PolarDB,必须平衡数据库迁移诸多细节、稍有差池后果不堪设想。为此,阿里云有两个重要的迁移工具保障这个过程,DTS用于数据的迁移、ADAM用于业务层相关的迁移。两个产品对主流数据库种类的支持规模,都是业内最高。
而另一家游戏出海领头羊莉莉丝,代表作包括《万国觉醒》、《劍与远征》,则在两年前就开始利用阿里云的云原生数据仓库AnalyticDB,帮助数据架构师和运营人员及时分析游戏运行情况,及时调整策略。这个数据仓库产品,也在2020年拿下TPC-DS性能榜全球第一的桂冠,代表着性能和性价比的巅峰水平。
《火炬之光》手游将由心动网络研发并在亚洲范围内发行
互联网数据处理和存储场景越来越要求弹性、智能化。PrestoMall、心动网络、莉莉丝冒着风险更换数据库的选择也并非个例。
相比之下,“去O”的趋势虽然已经明朗,但趋势归趋势,要从Oracle迁移数据的难度,其实大大复杂于其他开源数据库。
郑旦告诉「深响」,因为Oracle数据库版本繁多,不同客户创建报表的逻辑差异很大,基于DTS和ADAM产品,PrestoMall项目需要改动的代码不到5%,但仍然带来不少升级优化需求。
03
数据库的市场并不大,却聚集了全球高科技巨头核心的研发力量。
据不同的统计口径,全球数据库市场规模在300亿美金到600亿美金之间。相比于全球云计算数千亿美元级别的规模,这不算是最大的一块肥肉。
但数据库的战略位置十分特殊,其承载了一个企业客户最核心的数据资产,而每一次迁移,都意味着相当的风险。数据库的选择,往往也也会影响企业对存储、服务器等其他大件的消费,粘性高、撬动后续服务的能力强。
微软、Oracle、SAP、亚马逊AWS、Google、IBM、阿里巴巴、腾讯、华为……全球*科技巨头在数据库领域已经鏖战了数十载,亚马逊AWS的CTO Werner Vogels更是多次强调:“数据库是云计算的终极之战(Real Battle)。”
如果要用云数据库取代传统数据库,这相当于将现有每年数据库500亿美元市场中,约70%的份额分流。按照行业预测增速,未来三年数据库市场总销售额约在1800亿元。
从商业数据库到开源数据库、云原生数据库,从海外巨头占绝对主导地位到如今国内外头部玩家在新赛道上同步起跑,当下的数据库和十年前的数据库已然不是同一个概念。
历史上,最早的数据库要追溯到20世纪70年代,1968年IBM推出了第一代数据库DB1,1970年IBM工程师EdgarCodd写下了最早的关系型数据模型构想的论文。随后的30年间出现了Oracle、Informix、Sybase、Sybase与微软合作的SQLServer等著名的数据库公司。
全球数据库产业在2000年前后进行了第一次大战并主要形成IBM、微软、Oracle三巨头格局,那也是商业数据库的时代。
2000年以后,互联网和云计算技术变革为数据库技术带来了“釜底抽薪”的底层计算系统变化,带来了以开源、分布式和云计算为主导的新数据库时代。
2018年10月,阿里云第一次出现在Gartner全球数据库魔力象限(包括传统和云数据库市场份额)。第二年,阿里云就成为最接近“领导者”象限的“挑战者”,整个市场呈现7强格局:微软、Oracle、SAP、AWS、Google、IBM和阿里云。
历史进程中的数据库
在数据量很少的时候(百GB),传统的数据库如SQLServer、Oracel、DB2等可以完成大多数场景对数据管理的要求。但随着数据越来越多、负载越来越高、对数据分析的需求开始出现,企业意识到了商业数据库的局限性。
这时候云原生数据库厂商开始把商业数据库以及开源的数据库搬到云上,给客户以租用的方式提供服务。云原生数据库更是有目共睹——低成本、免部署运维、高性能、更安全,Gartner预测,到了2021年,云数据库在整个数据库市场中的占比将首次达到50%,而到了2023年,75%的数据库都要跑在云平台之上。
全球*科技公司的新一轮数据库“世界大战”围绕于此。
Oracle和Microsoft原本以数据库见长,在云时代,两家公司都在努力从私有环境部署向云上转型;AWS、Google和阿里云则是在云上取得了成功。逐渐地,抓住了“云机会”的3A(AWS、Azure、阿里云)和Oracle形成了新的头部数据库格局。
其中,阿里云PolarDB系列数据库,从2015年项目启动,经过几年天猫双11的试炼,已经进入快速商业化轨道。也就在昨天,李飞飞向外宣布,PolarDB系列已经成为增速最快的云产品之一。
据「深响」了解,最近几个月这个系列数据库产品同比增速都超过300% 。
2019年Gartner数据库魔力象限
04
而云数据库的崛起,其实是整个互联网场景变化与趋势发展的缩影。
在2004年左右,阿里巴巴尚未涉足云计算,这家“电商公司”当时还是数据库的大买主。
“技术人员们花钱如流水,买得「IOE」(IBM的小型机、Oracle数据库、EMC存储设备)这三家的对口销售年年升职。”据《淘宝技术这十年》中阿里巴巴技术人员的回忆,互联网实在发展得太快,很快就超过了IOE的极限,哪怕花钱也无法解决问题。传统数据库本质上是单机系统,即便做了分库分表,也无法改变单机系统的本质。
2007年左右,阿里B2B业务势头正盛,淘宝、支付宝也出现井喷式增长。反应迟钝的传统软、硬件供应商拿不出解决方案,阿里巴巴需要“自救”。
2008年9月,王坚加盟阿里巴巴集团担任首席架构师,也首次提出去IOE。但这一想法在当时被很多人认为是天方夜谭。据了解,在数据团队整合的过程中,走了三个主管,刚提起来,一周不到就辞职了。
当电商业务逻辑变复杂以后,需要理解Oracle数据库的技术实现,但无论是请Oracle专家到现场的时间还是成本都无法满足业务要求,于是阿里巴巴从2012、2013年后就开始大规模使用、定制开源数据库。
这是一个很有意思的现象。当今格局中头部的AWS与阿里云背后,都是电商基因的支撑。双十一等超大规模场景,在世界范围内来看都绝无仅有,这也给了中国电商企业登顶全球基础软件技术领导地位的机会。
在2019年双11的交易中,PolarDB数据库处理交易事件的峰值更是达到了8700万次/秒。
2011年加入阿里的离哲,现任云原生数据仓库AnalyticDB等智能分析类数据库业务负责人,几乎见证了阿里数据库各种业务应用和自研阶段。
离哲告诉「深响」:“2012年的时候商家进货很有挑战。该进什么样的货,黑色好卖还是白色好卖,商品起什么标题……问题很多。我们怎么帮商家解决这些问题?最终这些问题指向了一个数据分析和面向未来的趋势,所以我们开始尝试用开源技术做这个功能。”
2013年,离哲团队多次争取,获得了一个大数据项目,完全把数据的分析能力透传给商家、广告主,能让他们去做精准营销。
Gartner云数据库全球排行
从2014年开始,其数据分析能力走出了阿里巴巴。
第一个客户中信21世纪(也就是后来的阿里健康)面临的问题上药物条码。药的流通是个很大的问题,药物真假溯源尤为重要。但如果整体“上云”,这个数据量是极大的。
第二个客户线上打车的业务是实时的,除了处理业务数据,同时由于有红包功能,整个数据分析还需要对抗薅羊毛的黑产和灰产。
日积月累,客户的数量越来越多。
“服务外部的时候我们发现很多行业,比如游戏、税务,他们都面临同样的问题——当传统数据量变大的时候怎么用数据去赋能业务、用数据解决业务问题。例如游戏行业里大多数游戏生命周期都很短,一般6-8个月,怎么在短时间内做精准投放、快速引流并留存用户让投入价值最大化。”离哲说。
AnalyticDB这类提供智能分析的数据仓库,成为衔接客户数据和大数据分析能力的关键组件。而Gartner报告也指出,对于未来的数据工程师,数据运维工作量会下降30%,智能化的分析能力则会大幅提升。
AnalyticDB在复杂查询场景比传统关系型数据库快10倍以上。
不过,拥抱新的云原生数据库,并不是一件困难的事。国内第一位Oracle ACE及Oracle ACE总监,云和恩墨创始人盖国强在三年前就在积极推行云原生框架。
盖国强团队是国内数据库社区最顶尖的贡献者之一,他归纳了数据库行业的几个重要趋势:
分布式。弹性伸缩,故障自愈。
智能。智能优化,智能运维。
平台化。用户可以自己去建所有东西,进行统一管理。
软硬一体。将所有东西集成在一起,让用户能够获得极致的性能和便利。
云化融合。云上和云下越来越趋于统一。
05
这是一个好时代。
作为云技术的基础设施,数据库成为了新一轮全球科技竞赛的必争之地,也毫无疑问地是企业进一步数字化、走向更高效率的桥头堡。
而云的弹性和云的本质又让我们有机会通过存储计算分离重新定义数据库。在这条赛道上,全球玩家都是同步起跑。中国巨大的人口基数带来了足够丰富的场景让数据库的性能能够得到校验,新基建所对应的数字化浪潮也正澎湃汹涌。
回到半年之前的那个凌晨,郑旦团队几次进入艰难读秒。
深层的原因,是传统数据库的架构限制,这显示出变化的紧迫性。由于PrestoMall使用传统数据库架构非常简单,并没有分离处理实时交易和离线数据汇总的业务,晚间交易业务减少,但数据报表仍然在汇总。而一旦进入白天,线上交易量增加,迁移的难度提升可想而知。
好在一切顺利。凌晨6:10,陪着当地客户负责人身边的项目销售人员带来好消息,新的数据流可以完全接入PolarDB,除了最后的一些第三方海外邮件服务外,Oracle数据库上其他服务全部接入到了PolarDB。
迁移结束后的12月,PrestoMall顺利扛过了双十二和圣诞两场大促。几个月间,PolarDB系列,又顺利完成十几个版本迭代,正在金融、电信、政务等数十个不同行业类型的客户中部署使用。
数据库的硝烟从未消弭。放到更长的时间线里,一切才刚刚开始。