今天看到了一个热门的新闻,说的是亚马逊把消费者业务使用的Oracle数据库都迁移了, 迁移到了自家的AWS Database, 这不由得让人想起了Oracle 总裁Larry Ellison 曾经说过的一段话:
"让我告诉你一件有趣的事情,亚马逊并不使用自家的AWS来构建业务,他们的整个业务构建在Oracle数据库之上,他们不能迁移到AWS,因为AWS还不够好。”
(Fox对Larry Ellison的采访:甲骨文注定要在云数据库上击败亚马逊AWS)
Larry Ellison 这个人给外界的感觉有点口误遮拦,狂妄自大,外界对他的评价也是毁誉参半,Oracle 公司收购了Sun以后,挥动起专利大棒,对Java收费,搞死了Java EE,被程序员诟病。不知道Larry Ellison看到亚马逊迁移数据库的这个新闻,会作何感想,这脸打得够响的。
这次亚马逊迁移了7500个Oracle数据库,75 PB的数据,系统包括这包括Alexa,Amazon Prime,Amazon Prime Video,Amazon Fresh,Kindle,Amazon Music,Audible,Shopbop,Twitch和Zappos 等。
并不是所有的数据都迁移到了关系数据库,有些迁移到了NoSQL DynamoDB service, 有些迁移到了数据仓库RedShit,可以想象,系统架构肯定也做了调整。
还有第三方应用程序和Oracle密切绑定,没法迁移。但是亚马逊的最终目标是到2020年彻底摆脱那个Big Red(Oracle)。
亚马逊仔细跟踪了迁移前后的成本和性能变化,发现:
成本降低了60%以上
应用程序的延迟减少了40%
管理和维护开销减少了 70%
(请广大程序员注意,我们做事情的时候也要这样,力争用数字来衡量工作成果,详情参见《简历不能这么写》)
这是一次成功的迁移,皆大欢喜,但是有一个岗位的人心里肯定是五味杂陈, 那就是DBA,因为自己的工作突然间没了 !
使用云数据库,管理和维护的开销降低了70%, 曾经维护这7500个Oracle 数据库的DBA们怎么办?裁员吗?
亚马逊的方案是给DBA创造了一个新的职业发展路径,把他们培养成迁移专家和顾问,有了这些大规模数据迁移的一手经验,他们就可以帮助其他部门,其他公司去做数据库迁移了。把数据库迁移到哪里去? 自然是AWS Database。
亚马逊可以这么办,其他公司的DBA怎么办?现在除了一些特殊行业如银行、金融,电信等行业外,越来越多的公司选择云数据库,云数据库已经成为大势所趋,所需要的DBA肯定会越来越少。
在我的印象中,从关系数据库诞生以来,理论和实践在过去的几十年中非常稳定,DBA是一个非常好的,可以通过长期积累建立核心竞争力的岗位。怎么会受到这么大的冲击呢?
这是因为云技术的到来对于传统DBA是个降维打击。
云数据库的特点是快速创建,轻松维护(备份,恢复,版本升级,监控)。如果一个DBA只是数据库的“修理工”,只会按照要求搭建Oracle数据库,监控性能,做一下备份,编写维护数据库SQL,那将会被打击得溃不成军,因为这些工作在云数据库上会轻松搞定。
但是对于那些真正热爱数据库的DBA,可能会走向这些方向:
1. 往下挖掘
不仅理解数据库工作的原理和操作,还去阅读开源数据库的源码,具备了数据库产品的开发能力,云数据库不是要来了吗,那我就去开发和建设云数据库。
2. 横向扩展
跳出单机,走向分布式,现在的分布式数据库已经不和Oracle在一个维度上竞争了,它面向的是互联网应用的海量数据和高并发,要考虑主从复制,数据库分区等各种分布式技术,再加上和各种NoSQL数据库,做出良好的规划和设计,这个领域大有可为。
另外大数据的兴起也给DBA提供了另外一个途径,完全可以朝着这个领域发展。
亚马逊把Oracle数据库干掉了,再次给我们提了一个醒,DBA在技术升级的浪潮下需要转型,其他领域也是如此,技术风云变换,技术人员要保持敏感性,勇于尝试新的东西,勇于改变,这样才具备转型的能力,不被淘汰。
关于作者:刘欣,码农翻身公众号作者,畅销书《码农翻身》作者,近 20 年软件行业从业经验,前 IBM 架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,用故事讲解技术是拿手好戏。
参考资料:
亚马逊的博客:https://aws.amazon.com/cn/blogs/aws/migration-complete-amazons-consumer-business-just-turned-off-its-final-oracle-database/
Fox对Larry的采访:https://www.youtube.com/watch?v=xrzMYL901AQ
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】