AWS re:Invent 2018大會上,AWS首席執行執行官Andy Jassy 表示到 2019 年底,亞馬遜將全面放棄使用 Oracle 數據庫,97%的“關鍵任務數據庫”將運行在亞馬遜自己的數據庫服務上。
如今,2019年已經過去了四分之一,亞馬遜的“去O”進程如何了?近日,筆者有幸采訪到了AWS數據庫服務總經理和AWS Amazon Redshift總經理,并向他們進行了求證:亞馬遜整個“去O”進展順利,可以如期完成。
據悉,亞馬遜所有的這些數據庫都將遷移到Aurora、Redshift和DynamoDB這三種類型的數據庫上,其中OLTP(交易型)遷移到Aurora,數據倉庫型遷移到Redshift。
亞馬遜去Oracle的想法可以追溯到5年前,當時亞馬遜的部分核心購物業務還依賴Oracle技術,其自身的數據庫技術暫時還無法規模化地滿足亞馬遜的性能需求。那么,時至今日,為了“去O”,AWS悄悄修煉了哪些內功呢?
AWS的數據庫服務
2015年AWS數據服務的相關功能只有100個,2018年攀升到325個。
據悉,從2015年開始算起,AWS已經總計發布了785個新的數據相關服務,包括數據移動、數據分析等數據服務,關系型、鍵值型、文件型、內存型、圖譜型、時間序列、總帳類型等數據庫服務,以及類似于商業洞察、智能洞察等一系列服務。
以Amazon Aurora為例,Aurora是AWS公司歷史上增長速度最快的一款服務,是兼容MySQL和PostgreSQL的關系型數據庫,其速度和可用性可與Oracle等商業數據庫產品相媲美,而成本只有商業數據庫的1/10。
而Redshift是AWS 2012年推出的、業界第一款云端數據倉庫的云服務,2018年一年,AWS圍繞Redshift推出了220個新功能,其中90%都是基于客戶需求開發的。
為什么會推出這么多數據服務呢?AWS表示是:“為了滿足客戶需求”。那么客戶使用數據服務到底想要達到什么目的?
- 第一,希望能夠從數據中獲得洞見;
- 第二,希望能夠快速打造云端的全新應用;
- 第三,希望能夠把既有的應用直接搬運到云端。
AWS的遷移服務
對于客戶來說,數據庫遷移服務也是很重要的功能。目前AWS的數據庫遷移服務主要有兩類:一是將本地數據庫遷移到云端,二是實現將一種類型的數據庫遷移到另一種數據庫。無論是哪種遷移,整個過程中都可以達到零宕機時間。
據AWS方面介紹:“目前通過數據庫遷移服務DMS已經完成了超十萬個數據庫的遷移”。
AWS的通常做法是將關系型數據庫遷移到Auraro和RDS,而非關系型的數據庫遷移到DynamoDB,數據倉庫遷移到Redshift,Hadoop和Spark集群可以遷移到Amazon EMR,運營、分析的可以遷移到Amazon Elasticsearch Service,BI型的應用可以遷移到Amazon QuickSight。
為什么我們要從本地數據庫遷移到云數據庫呢?一言以蔽之,傳統數據庫無法滿足我們的需求了。
舉個例子,之前企業如果要進行數據分析,通常做法是從傳統的數據倉庫廠商中購買大型的數據倉庫,這類產品能夠處理的數量級通常是GB級和TB級,PB級數據無法處理,而TB級單位的分析成本要達到一萬到五萬美元。即使是付出了這樣的成本投入,也不能支持所有數據的分析,可能只有10%的數據才能得到分析。而AWS的做法是先將數據導入到數據湖中,然后在數據湖之上提供各式各樣的數據庫服務來進行數據分析。
除此之外,在傳統的企業IT架構中無法弄明白企業內部的有用數據占比,而在云端可以很輕松的啟動多項數據分析作業。另外,傳統企業中要做數據分析,需要專門的數據庫技術人才去做數據處理,而在云上,非數據庫技術專業人員也可以使用數據庫服務。
- 根據不同的使用場景提供定制化解決方案;
- 針對數據服務成本進行經濟性的分析,實現成本優化;
- 實現所有數據服務的可伸縮性。
AWS的云數據庫關注點
無論是哪一種技術,在生產環境和落地應用中,其關注點都應該與客戶的關注點保持一致。AWS方表示:“我們得到的用戶反饋是,他們最關心云數據庫的安全性、靈活性和可擴展性。”
而AWS圍繞用戶需求在數據庫方面做的創新主要有兩點:
- 幫助客戶以更容易的方式遷移到云端;
- 幫助客戶以更好的方式開發現代化應用;
例如,匯總打包數據庫支撐管理的服務,來完成數據庫的自我調優和自我運維管理,以實現可擴展性和可伸縮性;當數據從數據庫匯聚到數據湖時,治理、合規以及安全方面也需要作出一些創新。
去Oracle的難度到底在哪里?
很多人都將亞馬遜去Oracle數據庫冠以“商業博弈”的頭銜,這里我們暫且不討論商業方面的內容,只關注于去Oracle的技術。
從技術實施層面來講,亞馬遜去Oracle對AWS自身來說只是一個數據規模比較大的客戶而已,與納斯達克等客戶無異,同樣需要聽取CEO和CTO的意見,在真正實施“去O”之前,已經決定Oracle上的哪些應用應該如何解決。
整個“去O”過程中,AWS面臨的最大困難是什么呢?AWS專家稱:“亞馬遜數據庫遷移的復雜程度在于不止需要做數據和數據庫本身的遷移,同時還要做數據庫上運行的應用遷移,而這些應用既有企業內部開發的也有ISV提供的,甚至有些應用的年代已經非常久遠了,如何很好的支持它們,是我們面臨的巨大挑戰。”
以數據分析為例,該項目最大的難點在于亞馬遜的要求不是簡單的將原來Oracle上的數據分析功能搬到云上,他們要求更好的分析服務,且這種服務要能夠順應未來十年的技術發展變化。