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数据库。
整个迁移工作将存储在近 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日的新闻稿中,我特别留意了以下一段描述:
这段话翻译过来是说:
这里表达了一层核心的意思:DBA无法专注于高价值的工作。常规的事务性技术工作 - 扩容、优化 甚至数据库的授权管理,消耗了太多的时间。而这些工作在技术进步的今天,可以通过现代技术解决掉,让 DBA 们能够投身更有价值创造的工作上。
再回到第一段话:
这段话是说:
在去IOE的道路上,很多企业对于重构系统顾虑重重,然而 Jeff 的这段描述给出了一个解释:重构是不满足现状,期望进一步解决问题以实现进化的不懈努力,是不断循环上升的技术使命。这正是一个优秀团队的核心品质所在。
而在阿里巴巴,自研的 OceanBase 替换金融交易中的 Oracle 数据库,则更是引人瞩目的巨大成就。
王坚这样概括“去IOE”的本质:“去IOE”的本质是分布化,让随处可以买到的通用PC架构成为可能,是云计算能够落地的首要条件。这个过程彻底改变了阿里集团IT架构的基础,是阿里拥抱云计算,产出计算服务的基础。
这就非常清晰的描述了阿里云和AWS摆脱 Oracle 的根本驱动力,只有摆脱了传统IOE的束缚(事实上是摆脱了传统IT的商业模式),才能够扩大云的服务边界,快速、敏捷、批量、经济。而在这个过程中,即磨练了团队,又积累了服务云客户的经验,实现了一举多得。
在 AWS的本次迁移中,也涉及了一个财务分类账数据库:
根据新浪微博一位参与过此项目的技术专家描述,服务应用重写了,所以数据层就替换掉了。应用重构正是数据库变革的最佳时机。

浙江移动王晓征曾经分析和总结阿里巴巴去IOE的动因,四点驱动非常准确:
业务 - 阿里业务爆发式增长,对系统的扩展性具有极大的需求;
成本 - 商业产品的采购以及服务成本;
能力 - 掌握IT系统核心能力;
市场 - 阿里云是公有云,需要采用开源产品,降低成本展示实力。其实业务合规提供服务的必然需求。
在以上四个要素中,掌握系统核心的能力最为重要,掌握能力,才能为他人和行业赋能,才能获得抉择的自由。时至今日,阿里在这条道路上获得了巨大成功,阿里云已经是国内云领域的领导者,全球云市场的重要竞争者。

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

