天天看點

Amazon Aurora資料庫——帶你領略極光之美

“雲計算不斷擴大營運規模的過程,是一個不斷踩坑、發現bug的過程”。

這句話,對每一個雲計算從業者,甚至所有開源軟體從業者來說,都是一句至理名言。正因為此,有了開源Linux的商業化供應商紅帽公司(Red Hat),從幾年前的10億美元營收到如今翻倍增長,直至這個周日被IBM宣布以340億美元現金收購。

也正因為此,在今天的以資料為新資源的雲時代,商業資料庫的雲化,甚至是原生的商業雲資料庫,正在變得越來越重要。

一個典型的例子,就是全球雲計算巨頭亞馬遜AWS正在通過新一代的商用關系型資料庫Amazon Aurora(原意北極光、曙光、朝霞)——不僅用于替代Oracle的資料庫,同時也用于替代自身初階的RDS。

Amazon Aurora資料庫——帶你領略極光之美

替換RDS:突破性能瓶頸

衆所周知,Autodesk是3D設計、工程和娛樂軟體領域的上司企業之一。比如你家裝修,櫥櫃的設計通常都是用Autodesk解決問題的,又快又友善。當然,你開的汽車、仰望過的摩天大樓、使用過的智能手機,基本上都出自Autodesk之手——一句話,Autodesk 為創造事物的人提供軟體。

而今在雲時代,Autodesk也搬到了雲上——比如Autodesk Access Control Management (ACM)就是在雲中誕生的,出于當時的條件,Autodesk自然而然地選擇了Amazon RDS for MySQL。

Amazon Aurora資料庫——帶你領略極光之美

“ACM資料庫的大小約為1TB,隻有少數的表超過十億行。高峰時期我們每分鐘會收到高達25000至30000條請求。”Autodesk公司進階工程經理Krishna Kumar說:“由于ACM的初始架構為了確定高可用性,應用程式層由跨多個可用區的 EC2 執行個體組成。盡管這種架構允許 Autodesk 擴充和平衡應用程式的負載,但瓶頸很快就轉移到了資料庫。”

正是因為 ACM 的采用受到所實施限制的嚴重制約,是以Autodesk決定評估AWS最新的高性能關系型資料庫Amazon Aurora——Aurora的吞吐量最高可達标準 MySQL 資料庫的五倍。這種性能的提升意味着Autodesk可以在不修改應用程式的前提下取消MySQL帶來的節流限制,同時仍然擁有很大的裕度以滿足未來增長之需。

“ACM的遷移非常成功。”Krishna Kumar表示,“Aurora采用分布式、容錯型、自我修複式的存儲系統,可自動最高擴充至 64 TB,無需手動擴充資料庫的存儲容量。它最高可配置15 個低延遲的Aurora 副本,提高了可用性并支援讀取擴充,典型的複制延遲在100 毫秒以下。”

由于ACM的成功,Autodesk考慮将多個其他應用程式也遷移到Aurora,比如EC2上托管的BIM 360 Field Classic的MySQL 資料庫。

“Aurora叢集包含一個寫執行個體和最高四個 Aurora 副本。Aurora Auto Scaling将會啟用以根據 CPU 使用率自動調整 Aurora 副本的數量。”Krishna Kumar表示,“遷移的亮點在于CPU 使用率下降了10倍,從使用MySQL時高達100%的峰值水準降至使用 Amazon Aurora 後不到 10% 的水準,為資料庫跟随 ACM 的擴充增長留下了空間。”

據介紹,BIM遷移到Aurora後,資料庫的性能超過了預期——應用程式的擴充性提高了20倍,應用程式的響應時間縮短了 2 倍,并且Aurora支援的資料庫連接配接數量增加了7倍。

應該說,借助 Amazon Aurora,ACM 和 BIM 360 Field Classic 應用程式都成功提高了可擴充性,提升了應用程式性能,降低了管理開銷,優化了成本。

替換Oracle:低成本和高穩定

與Autodesk ACM不同,日本的線上音樂發行服務商RecoChoku成立于2001年,此前一直運作的資料庫系統是結合使用Oracle Database和Oracle Real Application Clusters (RAC)。

對于RecoChoku這樣的線上音樂發行服務商來說,盡管它是一家網際網路公司,但管理客戶資訊的會員資料庫系統幾乎就是RecoChoku的生命線,是以客戶資訊管理是RecoChoku業務的關鍵部分,需要具有高可靠性和可用性的系統來支撐,這就是為什麼RecoChoku此前一直選擇Oracle Database和Oracle RAC的原因。

Amazon Aurora資料庫——帶你領略極光之美

時間到了2013年前後,RecoChoku開始使用雲解決方案,旨在實作靈活而又具有高擴充性的基礎架構,一方面節省成本——與使用Oracle RAC的多個節點相比,Amazon Aurora可以大幅降低資料庫軟體的許可費用;另一方面,Amazon Aurora的可擴充性和高彈性,也讓RecoChoku的服務更容易适應網際網路客戶不斷的需求變化。

此外,随着服務數量的增加,每項服務的成本管理同樣是個問題。以前是各個系統分别管理的,很難确定哪些基礎架構成本是由哪個服務産生的RecoChoku 需要靈活而可靠的服務基礎架構解決這些業務挑戰。

“AWS的一大優勢在于,它能夠闡明每個服務使用的基礎架構。過去我們需要通過本地解決方案保留一定數量的資源,但在遷移到 AWS 後就不再需要這樣。”RecoChoku業務系統推廣部系統架構師小組公司Sakai認為,”由于歌曲數目的增加以及視訊和高分辨率音頻的資料量越來越大,準确預測我們需要管理的資料總量變得很困難。而采用了Aurora之後,我們能夠将機器資源的使用減少到本地系統的30%左右。”

Sakai介紹說,RecoChoku公司在經過一番調研後認為,AWS 在服務數量和開發新服務的速度方面遠遠超出其他服務。于是乎,RecoChoku首先将自己開發和建構的服務基礎架構系統遷移到AWS。不過接下來當RecoChoku遷移會員資料庫系統的時候,遇到了足夠多的挑戰。

為了将該系統轉換為 AWS,RecoChoku最初考慮的方法有在Amazon EC2上安裝Oracle Database或使用 Amazon RDS for Oracle。“我們必須確定高可用性,是以我們希望有一個系統能讓AWS處理以前架構所需要的營運和管理。”Sakai解釋說,“會員系統管理着大約1000萬組使用者資訊,運作了八年,是以我們需要確定Amazon Aurora上不僅有足夠的性能,而且還需要足夠穩定。”

據介紹,RecoChoku花了大約一個月時間來調整系統消化 SQL 差異性問題,為的就是平滑過渡、遷移。值得一提的是,RecoChoku在并行運作的測試期後僅花了不到三個月時間,就完成了從Oracle RAC到Amazon Aurora 的遷移。

Aurora是增長最快服務

事實上,Amazon Aurora到目前為止仍然是AWS曆史上增長最快的服務——成千上萬的客戶使用Amazon Aurora作為他們的關系資料庫,這一數字在去年增加了約2.5倍;截至2018年8月22日,使用AWS資料庫遷移服務已經遷移了87000多個資料庫。

截至2018年4月,Amazon Aurora的新客戶包括ADP、Autodesk、Choice Hotels、TIBCO、Trend、Cloudability、ZipRecruiter、BMLL技術、Beachbody、亞利桑那州立大學、Choku、FirstFuel、Mitel和Wappa等。

Amazon Aurora資料庫——帶你領略極光之美

當然,Aurora的使用者也包括亞馬遜自己。實際上,為了去Oracle,亞馬遜把内部的業務也搬遷到了自研的雲端資料庫Aurora上。

畢竟,亞馬遜是一家超大規模的電商,每天處理的交易量是金融級的。于是乎,這一搬遷導緻了在PrimeDay促銷日的時候,亞馬遜業務出現了問題。在亞馬遜自己的調查報告中,聲稱這次故障導緻了15000件包裹延遲發貨,并浪費了90000美元勞動力成本。

90000美元對于亞馬遜這般體量的電商來說,顯然是小意思。因為,“雲計算不斷擴大營運規模的過程,是一個不斷踩坑、發現bug的過程”。據悉,亞馬遜的長期規劃是到2020年之前,完全擺脫Oracle的資料庫。在筆者的印象中,這和阿裡巴巴的遷移時間表類似。畢竟,将超大規模的金融級業務從有着40年豐富的技術和經驗積累的Oracle資料庫搬遷出來,不是一件簡單的事情。

對于任何一個大的背景系統來說,在架構不犯錯的前提下,最重要的就是不斷通過業務去打磨,不斷踩坑、發現bug,才有可能把系統做得穩定下來。這就是為什麼to C的業務遷移成本這麼低,而to B的業務遷移成本如此之高的原因——to C的業務是面對一個個端,而to B是面對的整個系統、整個背景。

顯然,亞馬遜決定用自己的Aurora在自己的核心應用上替換Oracle,可以看出亞馬遜、亞馬遜AWS對于Aurora的信心有多強,也可以看出Aurora本身有多強。

如今,随着AWS在中國的北京區和甯夏區資料中心真正落地,也随着Aurora在中國的落地,AWS的技術優勢、生态優勢和全球覆寫優勢會逐漸凸顯出來。

無論是阿裡雲、騰訊雲、微軟Azure,還是AWS、華為雲這衆多雲計算領域的巨頭在中國逐鹿中原,對于中國的客戶來說,都是再好不過的事情,不是嗎?