替换Oracle,从阿里巴巴到亚马逊-他们在逃离什么?

AWS 终于在 2020年前兑现了自己的承诺:彻底替换 Oracle 数据库。这几乎是每年 Oracle Openworld 大会上 Larry Ellision 固定的一个梗,他说 亚马逊 在号召用户迁移使用 AWS 的数据库,然而每年 AWS 自己都在向甲骨文购买大量授权,Oracle 强大且难以替代。

然而,这个故事终于终结了。

其实在 2019年3月底,AWS 就发布过一个里程碑,亚马逊首席技术官Werner Vogels向亚马逊的物流(Fulfillment)团队发送祝贺,他们完成了该服务的最后一个 Oracle 数据库的迁移,36秒的庆祝视频得到了广泛的关注。

Werner Vogels 在推文中说:

恭喜 Amazon Fulfillment 团队完成从 Oracle 数据库到 100% 的AWS数据库环境迁移,数据库自由了。

Amazon 执行倒计时任务的专家 John Darrow 执行了Shutdown Abort,强制终结了Amazon Fulfillment 的最后一个 Oracle 数据库。在 Oracle 数据库中,Abort 属于强制中断,类似断电引起的软件中断,切断所有会话、中断所有事务,下次启动时需要恢复,以这种方式关闭数据库,说明这个数据库已经不再承载业务了,这只是一个象征意义的时刻。

这个数据库迁移到了亚马逊的 Aurora for PostgreSQL 和 Dynamo  上。细致的网友还会发现 Amazon 的提示符是:SYS.FCDBA.PRIMARY ,说明这是一个主库(明确的提示符可以避免 DBA 出现误操作):

这一次,是 AWS首席布道者Jeff Barr 发布,Amazon消费者业务正式完成了对Oracle数据库的迁移工作,关闭了最后的Oracle数据库。Amazon 消费业务的去 Oracle 工作共有 100 多个团队参与,包括 Alexa、Amazon Prime、Amazon Prime Video、Amazon Fresh、Kindle、Amazon Music、Audible、Shopbop、Twitch 和 Zappos 等着知名品牌和网站,以及 AdTech、Amazon Fulfillment 等内部团队技术,涉及到的系统包括消费者付款、客户退货、目录系统、提供体验、数字设备、外部付款、财务、InfoSec、市场、订购和零售系统。

整个迁移工作将存储在近 7500 个 Oracle 数据库中的 75 PB 内部数据迁移到多个 AWS 数据库服务。其中,低延迟服务已迁移到 DynamoDB 和其他高度可扩展的非关系数据库,例如 Amazon ElastiCache;具有高数据一致性要求的事务性关系工作负载已移至 Aurora 和 RDS;分析工作负载已迁移到云数据仓库 Redshift 。

和 AWS 处境类似的阿里巴巴,同样拥有云时代的前瞻和战略领先优势,而阿里巴巴更是早在2009年就正式开始了“去IOE”。

2013年5月17日,阿里集团最后一台IBM小型机在支付宝下线。这是自2009年“去IOE”以来重要的一个节点。当年7月10日,淘宝重中之重的广告系统使用的Oracle数据库下线,也是淘宝的最后一个。

下面这张图成为了一个标志,王坚博士带领的团队在中国创造了『去IOE』这个盛极一时的标志性词汇,而据说在 Oracle 内部去IOE的译文是:De-IOE,然后专门制定了 Anti-De-IOE 策略。

在 AWS 16日的新闻稿中,我特别留意了以下一段描述:
Over the years we realized that we were spending too much time managing and scaling thousands of legacy Oracle databases. Instead of focusing on high-value differentiated work, our database administrators (DBAs) spent a lot of time simply keeping the lights on while transaction rates climbed and the overall amount of stored data mounted. This included time spent dealing with complex & inefficient hardware provisioning, license management, and many other issues that are now best handled by modern, managed database services.

这段话翻译过来是说:
多年来,我们意识到我们花了太多时间来管理和扩展数千个旧的Oracle数据库。我们的DBA不再专注于高价值的差异化工作,而是花费大量时间应对事务率上升和存储数据总量不断增加的挑战。这包括花费在处理复杂且效率低下的硬件配置,许可证管理和许多其他问题上的时间,而这些问题现在最好由现代的托管数据库服务来处理。

这里表达了一层核心的意思:DBA无法专注于高价值的工作常规的事务性技术工作 – 扩容、优化 甚至数据库的授权管理,消耗了太多的时间。而这些工作在技术进步的今天,可以通过现代技术解决掉,让 DBA 们能够投身更有价值创造的工作上

再回到第一段话:
Over my 17 years at Amazon, I have seen that my colleagues on the engineering team are never content to leave good-enough alone. They routinely re-evaluate every internal system to make sure that it is as scalable, efficient, performant, and secure as possible. When they find an avenue for improvement, they will use what they have learned to thoroughly modernize our architectures and implementations, often going so far as to rip apart existing systems and rebuild them from the ground up if necessary.

这段话是说:
工程团队的同事们永远不满足于独自一人保持良好状态。他们定期重新评估每个内部系统,以确保其尽可能地可扩展,高效,高性能和安全。当他们找到改进的途径时,他们将使用他们所学到的知识对我们的体系结构和实现进行彻底的现代化,通常甚至将现有系统拆散并在必要时从头开始进行重建。

在去IOE的道路上,很多企业对于重构系统顾虑重重,然而 Jeff 的这段描述给出了一个解释:重构是不满足现状,期望进一步解决问题以实现进化的不懈努力,是不断循环上升的技术使命。这正是一个优秀团队的核心品质所在。

而在阿里巴巴,自研的 OceanBase 替换金融交易中的 Oracle 数据库,则更是引人瞩目的巨大成就。
2014年,OceanBase替换了支付宝交易系统中的Oracle数据库。2015年,OceanBase 替换了支付宝支付系统中的Oracle数据库。2016年,OceanBase替换了支付宝最核心的账务系统中的Oracle数据库。2017年,蚂蚁金服全面去IOE。

王坚这样概括“去IOE”的本质:“去IOE”的本质是分布化,让随处可以买到的通用PC架构成为可能,是云计算能够落地的首要条件。这个过程彻底改变了阿里集团IT架构的基础,是阿里拥抱云计算,产出计算服务的基础。

这就非常清晰的描述了阿里云和AWS摆脱 Oracle 的根本驱动力,只有摆脱了传统IOE的束缚(事实上是摆脱了传统IT的商业模式),才能够扩大云的服务边界,快速、敏捷、批量、经济。而在这个过程中,即磨练了团队,又积累了服务云客户的经验,实现了一举多得

在 AWS的本次迁移中,也涉及了一个财务分类账数据库:Financial Ledger – This team moved 120 TB of data, reduced latency by 40%, cut costs by 70%, and cut overhead by the same 70%, all powered by DynamoDB.财务分类账:在 DynamoDB 的支持下,该团队迁移了 120 TB 的数据,并将延迟减少了 40%,将成本降低了 70%,将开销减少了 70%。

根据新浪微博一位参与过此项目的技术专家描述,服务应用重写了,所以数据层就替换掉了。应用重构正是数据库变革的最佳时机

浙江移动王晓征曾经分析和总结阿里巴巴去IOE的动因,四点驱动非常准确:

  1. 业务 – 阿里业务爆发式增长,对系统的扩展性具有极大的需求;
  2. 成本 – 商业产品的采购以及服务成本;
  3. 能力 – 掌握IT系统核心能力;
  4. 市场 – 阿里云是公有云,需要采用开源产品,降低成本展示实力。其实业务合规提供服务的必然需求。

在以上四个要素中,掌握系统核心的能力最为重要,掌握能力,才能为他人和行业赋能,才能获得抉择的自由。时至今日,阿里在这条道路上获得了巨大成功,阿里云已经是国内云领域的领导者,全球云市场的重要竞争者。

除了互联网的积极践行,传统行业客户也在不断探索数据库应用的出路和方向。例如,从公开的信息可见,中国电信基于 MySQL 的增强 TeleDB 已经替换了传统 BOSS、CRM 核心上的 Oracle 数据库,MySQL 能够为电信行业提供核心的数据库支持。

Image placeholder
yinianjingxin
未设置
  29人点赞

没有讨论,发表一下自己的看法吧

推荐文章
亚马逊会收购Oracle吗?

题图来自:channelasia“亚马逊收购Oracle有着非常现实的可能性。”近日,国外一家专门从事数据预测分析的公司Trefis提出了这一惊人的观点。该公司指出“尽管这个想法听起来有些野心勃勃,但

价值100亿美元!微软刚刚击败亚马逊,拿下美国国防部十年云计算基建订单

大数据文摘授权编译自《纽约时报》编译:李雷、曹培信、刘俊寰为期10年,价值100亿美元。经过长达一年的竞标,微软接连击败了谷歌、IBM、Oracle和亚马逊,拿下了美国国防部云计算这宝贵的一单。上周五

亚马逊将公布超过最大会话和知识数据集,超400万字

4月1日,亚马逊宣布:他们计划向公众公开“TopicalChat”数据集,超410万单词21万句子的语料库将于2019年9月17日发布。该数据集是为参加AlexaPrizeSocialbotGrand

为什么阿里巴巴建议开发者谨慎使用继承?

从学习Java的第一天起,我们就知道Java是一种面向对象语言,而学习Java的第二天,我们就知道了面向对象的三大基本特性是:封装、继承、多态。所以,对于很多开发者来说,继承肯定都是不陌生的。但是,继

阿里巴巴为什么能抗住90秒100亿?看完这篇你就明白了!

1、概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2、

阿里巴巴重磅发布含光 800 芯片:顶 10 个 GPU

2019年9月25日,2019杭州·云栖大会在云栖小镇举行。回顾历届大会,每年都有那么几件大事情值得关注,比如提出“DT时代”、“五新”概念,宣布建设“城市大脑”,成立达摩院、半导体公司“平头哥”等

干货 | 阿里巴巴HBase高可用8年抗战回忆录

前言2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBasecommiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合

超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?

导读:资源利用率一直是很多平台管理和研发人员关心的话题。本文作者通过阿里巴巴容器平台团队在这一领域的工作实践,整理出了一套资源利用提升的方案,希望能够带给大家带来一些讨论和思考。引言不知道大家有没有过

阿里巴巴架构师:十问业务中台和我的答案

Photo@  ZachLucero文 |王思轩一切业务数据化,一切数据业务化。“中台”概念这几年非常火,特别是阿里、腾讯、百度、京东等互联网公司最近频繁的基于中台调整组织架构,把“中台”的热度又上升

阿里巴巴向全社会开放黑科技:“泡在水里”的服务器

为了让数据中心更绿色,阿里工程曾将服务器“泡在水里”进行散热,节能超70%,今天这项黑科技的神秘面纱被揭开。2020年1月6日,阿里巴巴宣布将“浸没式液冷数据中心技术规范”向全社会开放。这项规范旨在用

Facebook又叒陷数据门,5亿条数据不安全存储在亚马云服务器中

大数据文摘出品编译:周素云上周Facebook用户又经历了糟糕的一周。Facebook发言人对各大主流媒体承认,用户的多组个人数据被存放在亚马逊AWS数据库中,包括数以百万计的Facebook用户的超

中信银行信用卡业务数据库实现国产替换,湖北银行新核心系统项目正式验收,阿里云与MongoDB达成战略合作

中信银行信用卡业务数据库实现国产替换10月31日,由IT168旗下ChinaUnix社区主办的第十一届中国系统架构师大会(SACC2019)在北京召开。会上,中信银行软件开发中心/技术平台开发处副处长

云计算下半场,从金融业变革看云原生的机遇与挑战

在数字化转型过程中,上云上平台是非常关键的一步。如今是否上云已经不需讨论,云计算在国内经过十年的发展走到了下半场,成为传统产业升级的新助力。而伴随着容器、微服务等技术的逐步成熟,云计算也走到了云原生时

再见微服务,从100多个问题儿童到一个超级明星

翻译| 马岛本文翻译自AlexandraNoonan的 GoodbyeMicroservices:From100sofproblemchildrento1 superstar。内容是描述 Segmen

美团云注资增至8.7亿元,穆荣均将替换王兴成为CEO

据企查查工商信息显示,美团云运营主体北京三快云计算有限公司在12月25日发生工商变更,注册资本由1000万元变更为8.7亿元,公司实际控制人、最终受益人由美团创始人王兴推出,法定代表人变更为美团联合创

jQuery on()和click()的区别是什么?

jQueryon()和click()的区别是什么?●click()属于静态加载,当页面加载完,就不再为新增加的元素添加点击事件。●on()属于动态加载,当页面加载完,可以为新增加的元素添加事件。但是必

jquery中on()和click()的区别是什么?

on()和click()的区别:click()属于静态加载,当页面加载完,就不在为新增加的元素添加点击事件。on()属于动态加载,当页面加载完,可以为新增加的元素添加事件。但是必须选定负级元素。二者在

vue-cli是什么?

vue-cli是有Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。它是用于自动生成vue.js+webpack的项目模板,是为现代前端工作流提供了batteries-included

Salesforce收购Tableau意味着什么?

在客户关系管理软件巨头Salesforce宣布收购商业智能工具Tableau后不久,我认为它又回到了“单一应用”的行业趋势。这种单一应用趋势的含义是什么?不是那些银行仍然热衷的内部大型机,而是云计算中

拐点已至,阿里云进入All in Cloud全面上云时代!

当新旧设备交替势不可挡,当云的基础设施开始超过传统的数据中心,一个新时代开始了。在这样的时代里,以数据、计算、智能为主要特征的新一代信息技术,开始成为企业数字化转型的核心动力。对于所有云服务商来说,就

大力再出奇迹,1024 张TPU,65536 batch size,仅76分钟训练完BERT!

大数据文摘出品作者:AndyBERT作为目前工业界中训练最耗时的应用,计算量甚至远大于机器视觉中的ImageNet训练。在BERT原论文中,JacobDevlin也是用了16台云TPU(64个TPU芯

Sass和less的区别有什么?

Sass和less的区别有什么?sass和less主要区别在于实现方式:less是基于JavaScript的在客户端处理所以安装的时候用npm,sass是基于ruby所以在服务器处理。一、less:L

jquery中size()与length的区别是什么?

jQuerylength和size()区别length是属性,size()是方法。如果你只是想获取元素的个数,两者效果一样既("img").length和("img").size()获取的值是一样的。

css flex布局的优缺点是什么?

Flexbox布局(FlexibleBox)模块旨在提供一个更加有效的方式制定、调整和分布一个容器里的项目布局(基于一维),即使他们的大小是未知或者是动态的。(这里我们称为Flex)。Flex布局主要