AWS 弃用 Oracle 背后的思考

阅读数:2537 2019 年 10 月 16 日 16:17

AWS弃用Oracle背后的思考

亚马逊 AWS CEO 安迪·贾西(Andy Jassy)在 2018 年的 AWS re:Invent 大会上表示,亚马逊将放弃使用 Oracle ,在 2019 年中期或年底,亚马逊将完成全部迁移。而在北京时间昨晚,AWS 首席布道者 Jeff Barr 在官方博客发布标题为《迁移完成–亚马逊的消费者业务部关闭最后的 Oracle 数据库》的文章,正式宣布迁移完成。

AWS 挥手告别 Oracle

Oracle 创始人拉里·埃里森(Larry·Ellison)十数年来不止一次在公开场合 diss 他的竞争对手,这甚至成了他的营销风格。而近两年, AWS 不巧正是被埃里森 diss 最多的竞争对手之一:“亚马逊数据库就像半自动汽车,坐进去必死无疑。”

AWS 对此则做出了强有力的回击,“没有新公司会使用 Oracle”、“我们所有 Oracle 上的数据都会迁移到亚马逊自己的数据库。”

亚马逊多年来一直在努力从 Oracle 数据库平台迁移到 RedShift Aurora DynamoDB 等本地 AWS 服务。为什么亚马逊要开展去 Oracle 工作呢?Jeff Barr 在博文中提到:多年前,亚马逊就意识到了,他们在管理和扩展陈旧的 Oracle 数据库方面花费了太多的时间,公司的 DBA 并没有把更多的精力放在更有价值的差异化工作,而是在事务速率不断攀升、存储数据总量不断增长的情况下,一直忙于保证系统的正常运转,一直在处理复杂且效率低下的硬件配置、许可证管理和其它本应由现代化托管数据库服务来处理的问题。

本次迁移共有 100 多个团队参与,将存储在近 7500 个 Oracle 数据库中的 75 PB 内部数据迁移到多个 AWS 数据库服务。对于 AWS 而言,迁移在技术上并没有太多的难度,毕竟 AWS 自己的数据库性能各方面都不赖。

“爱吃独食”的 Amazon,“死鸭子嘴硬”的 Oracle

Oracle 的数据库不好吗?事实上,它很好。数据库排行榜 DB-Engines 上,Oracle 已经占据榜首位置很多年,跟老妖精 Java 一样坚挺。

AWS弃用Oracle背后的思考

对大多数企业而言,在 Oracle 数据库上运行自己的业务并没有什么问题,而且还挺省事的。但 Oracle 的定制化做得其实比较一般,而且埃里森这张大嘴巴实在是得罪了太多人,So……

AWS 的一个合作伙伴曾经说过:Amazon 爱吃独食。Amazon 喜欢自己开发各类软件、应用,然后将其产品化,放在 AWS 云上供全世界使用。因此,AWS 选择迁移到自研数据库上也并不奇怪,毕竟 Oracle 数据库虽好,也不便宜,再好的定制化也比不上自己了解需求和痛点。

面对大公司纷纷弃用 Oracle 数据库的局面,埃里森依旧“死鸭子嘴硬”:

没有哪个公司真正地离开了 Oracle。Salesfore 不会,Amazon 也不会。我们的竞争者不会喜欢甲骨文,却会继续在 Oracle 上投资并运营整个业务。我不知道谁在离开 Oracle,还有一直想脱离 Oracle 的 SAP,他们有 HANA 数据库,他们曾尝试从甲骨文迁移出来已经有 5、6 年了,如今 SAP 还运行在 Oracle 上。你告诉我谁在离开 Oracle。

Amazon、Oracle 们打得难解难分,但牺牲品也许另有其人。

Oracle DBA:去 O 浪潮下的牺牲品

曾几何时,Oracle DBA (数据库管理员)是 IT 界有名的金饭碗,只要一证在手,高工资的 offer 就不愁。不仅如此,大公司对 DBA 的需求一直很大,DBA 们不愁找工作,生活更是无忧。

但最近几年,DBA 们已是风光不再。几年前阿里巴巴提出去 IOE ,DBA 首当其冲受到影响,当大公司可以不用依赖 Oracle 的数据库,DBA 们存在的价值就大打折扣。

而随着云时代的到来,跟云绑定的数据库只会越来越多,云计算平台本身提供的一些基础组件,比如运维等能力,也对 DBA 的发展产生了影响。云环境下的数据库工作有别于传统工作环境,更需要 DBA 去调整适应。

AWS 去 Oracle 这个例子,对于 DBA 而言更是一种无声的讽刺:AWS 旗下 Oracle DBA 们的工作就是为了去掉 Oracle。

虽然博文中提到:

迁移后,DBA 解放了双手,他们更专注于执行性能监视和查询优化,所有这些都是为了提供更好的客户体验。作为迁移工作的一项任务,我们努力为 Oracle 的 DBA 创造新的职业道路,培训他们成为数据库迁移专家和顾问,培训内容包括 AWS 数据库技术,云架构,云安全性,OpEx 式成本管理。他们现在以顾问身份与内部和外部客户一起工作,如此一来,他们有机会在大规模迁移关键任务数据库的项目中共享第一手经验。

但后续发展果真会如此理想吗?却也未必。总而言之,DBA 们应该更加警醒,去思考自己未来的职业通道。

核心节点,自研是未来

阿里巴巴几年前提出了去 IOE 的战略,在数据库领域,他们去掉了 Oracle,选择了自研数据库 OceanBase ,后者也在前一阵大出风头,成功登顶 TPC-C 排行榜榜首。

但实际上,阿里巴巴不是最早实践去 IOE 的公司,在此之前,谷歌等硅谷公司就已经走在这条路上,只不过没有提出“去 IOE”这个说法罢了。这说明一个什么问题?在这些核心节点下,自研是科技公司未来的王道。

以阿里、腾讯为代表的这些公司,是国内率先开启去 IOE 动作的企业,也是在数据库自研方面做得比较领先的。而在 IT 架构相对比较保守、稳定的金融、通信等行业,近几年也开始了去 IOE 的动作,而更多选择拥抱开源或是与国内互联网公司合作定制化的方案。

软件如此,硬件同理。为什么阿里巴巴要成立平头哥半导体公司?为什么华为要做鲲鹏、昇腾等芯片?因为芯片是制约计算机、手机、智能设备性能的核心。

只有当你拥有自研的能力,你才能在竞争中不被卡脖子,AWS 懂这个道理,中国公司也懂。

作者介绍

小智,InfoQ 编辑。关注架构、开源、泛互联网科技领域,个人公众号小智的互联网观察,个人微信:ryantz

原文链接

亚马逊弃用 Oracle 背后的思考

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
用户头像
“公司的 DBA 并没有把更多的精力放在更有价值的差异化工作,而是在事务速率不算攀升、存储数据总量不断增长的情况下” 不算攀升是不是错了?
2019 年 10 月 17 日 09:16
回复
是的,应该是不断攀升
2019 年 10 月 17 日 09:23
回复
没有更多了