作者丨蓋國強
原文連結丨https://mp.weixin.qq.com/s/aLny3q_eQTYCARbDQyCiEw (複製連結至瀏覽器,即可檢視)
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的動因,四點驅動非常準確:
業務 - 阿里業務爆發式增長,對系統的擴充套件性具有極大的需求;成本 - 商業產品的採購以及服務成本;能力 - 掌握IT系統核心能力;市場 - 阿里雲是公有云,需要採用開源產品,降低成本展示實力。其實業務合規提供服務的必然需求。在以上四個要素中,掌握系統核心的能力最為重要,掌握能力,才能為他人和行業賦能,才能獲得抉擇的自由。時至今日,阿里在這條道路上獲得了巨大成功,阿里雲已經是國內雲領域的領導者,全球雲市場的重要競爭者。
除了網際網路的積極踐行,傳統行業客戶也在不斷探索資料庫應用的出路和方向。例如,從公開的資訊可見,中國電信基於 MySQL 的增強 TeleDB 已經替換了傳統 BOSS、CRM 核心上的 Oracle 資料庫,MySQL 能夠為電信行業提供核心的資料庫支援。
在 2019 資料技術嘉年華 大會,在雙11購物狂歡之後,我們邀請了阿里雲資料庫掌門人 李飛飛 博士 分享阿里雲資料庫上的雙11,螞蟻金服 去O變革親歷者, 楊傳輝(日照)將分享 OceanBase 的技術創新和廣受矚目的 TPCC 實踐,來自阿里雲的資料庫架構師 樊文凱(唐修)將會分享 Oracle 遷移上雲的經驗,阿里雲的專家 周振興 將分享 PolarDB 對 Oracle 的相容和使用者實踐,阿里巴巴的高階運維專家 李聖陶 分享智慧運維實踐,而來自四川電信的客戶專家 張明 將分享典型行業在 PostgreSQL 中的應用探索,來自 AWS 的技術專家將分享 AWS 的雲資料庫實踐。
2019 資料技術嘉年華,現在加入,盡享超低票價優惠:
2019 資料技術嘉年華,看中國資料庫力量,就等你來!