Amazon首度公開過去電商平臺採用多年的線上交易與資料倉儲服務架構圖(還未全面改用AWS資料倉儲前)。從這個架構圖來看,不只資料倉儲是採用Oracle RAC資料庫架構,在它上方,還有提供3個針對營運、探查與BIM數據設計的專用資料倉儲或資料庫,裡面用也都是Oracle, 再透過DB Link方式相連,連各種交易資料存放的OLTP資料庫,也都有部分使用到Oracle產品。(圖片來源/AWS)

「這是一個高達35PB的超大型資料倉儲遷移的挑戰。」Amazon.com大數據技術資深經理Thomas Park在今年AWS re:Invent一場專談DBFreedom的黑板開講(Chalk Talk)上,對著臺下聽眾分享Amazon資料庫上雲經驗時首度公開揭露這項數據。

Amazon在11月1日正式關閉電商平臺使用多年的Oracle資料倉儲系統,改搬到自家AWS雲端資料倉儲Redshift上,當時這個消息一出,科技圈譁然,成了熱議話題。也讓全球雲端龍頭AWS與企業資料庫巨人甲骨文(Oracle)的資料庫之爭正式浮上檯面。

也因此,今年每一場只要打著Amazon資料庫上雲的相關議程,都成了今年最搶手的熱門場次,早在活動前兩周,議程才剛公布,坐位就早已全數被預定一空,只剩下現場候位,甚至活動前一天下午,議程還沒開始,場外就已經排滿人潮,等著搶聽Amazon分享第一手的搬移經驗。Thomas Park就是其中一場專談「Amazon.com從Oracle資料庫搬上AWS經驗」的講者。

Thomas Park表示,Amazon很早就開始採用Oracle資料倉儲,在換成AWS以前,系統存放的資料總共有多達35PB(壓縮後),1個PB(Petabytes)等同於1,000個TB,若以一個1TB硬碟厚度平均0.7公分來計算的話,35PB的硬碟,堆成的高度超過200公尺高,這還不包括還有一個同樣壓縮過的5PB的核心資料集,也都要一併改上AWS,這正是Amazon資料倉儲上雲面對的最大挑戰。

Amazon電商平臺背後採用多年的資料倉儲服務架構圖大公開

Amazon大數據技術資深經理Thomas Park坦言,舊有的資料庫設計方式,已無法跟上Amazon事業快速成長的腳步,所以,Amazon決定將資料庫重新打掉重練,改用新的雲端資料庫設計方式來取代,以便能夠快速橫向擴展,來因應業務成長需求。攝影/余至浩

Thomas Park在傳授資料庫搬遷經驗的過程時,也首度公開過去Amazon電子商務平臺背後採用的線上交易與資料倉儲服務架構圖(自11月1日以後,Amazon資料倉儲已全面改由AWS取代)。

從這個架構圖來看,首先,Amazon所建置的一個超大型資料倉儲叢集,全部都是採用Oracle RAC資料庫架構,在它上方,還有提供3個針對營運、探查與BIM數據設計的專用資料倉儲或資料庫,裡面用也都是Oracle, 再透過DB Link方式相連,連做為各種交易資料存放的OLTP資料庫,也都有部分使用到Oracle產品,並透過Amazon自行開發一個可以用來管理不同資料庫處理流程的ETLM管理平臺,來進行協助交易資料萃取和轉置。

Thomas Park指出,就像其他電商平臺,Amazon剛開始,也使用許多OLTP資料庫與Oracle資料倉儲,用來處理不同類型的工作負載,像是Oracle資料庫可以被用於承載交易型與非交易的工作任務,能處理的資料型態,包括目錄、庫存、線上交易、網頁點擊串流,以及行銷等資料。而資料倉儲則是用於蒐集大量交易數據與分析所用。

資料庫擴充力,才是Amazon決定換掉Oracle的真正原因

但是,為何Amazom後來決定換掉原本資料庫?Thomas Park說:「就是為了要讓資料庫具備橫向擴展(Scale Out)的能力。」他表示,Amazon成立20多年來,在業務發展上,從開始用來查詢交易資料與儲存使用的資料庫,用的就是Oracle資料庫及其技術,並用這些資料庫來建立Amazon網站底層的架構。但是當業務量逐漸成長,需要擴建更多的銷售據點與資料中心,並且跨入不同領域市場,對於IT團隊來說,必須要能很快擴展原有基礎設施,來迎合業務快速成長需求。

但是舊有的資料庫設計方式,已無法跟上Amazon事業快速成長的腳步,所以,Amazon決定將自己的舊資料庫全部打掉重練,改用新的雲端資料庫設計方式來取代,以便能夠快速橫向擴展,來因應業務迅速成長。「這也是我們會決定從使用已久的Oracle資料庫搬上AWS的最重要原因。」當然成本也是另一大考量,他事後補充說到。

一般來說,在新舊資料庫搬遷過程中,企業會先針對舊資料庫的綱要(Schema),先經過複製或轉換,改到了目標的資料庫後,才接著將舊資料庫裡存放的資料,透過如AWS DMS等資料庫搬遷工具,再將全部資料移到新的資料庫。

不過,Thomas Park強調,當一家企業發展成長到達一定規模,要遷移資料庫,就不是一件容易的事,隨著業務量成長,系統架構也將日益龐大複雜,例如需要不斷擴增新資料庫與備份資料庫,來滿足營運所需,還要能依據不同關鍵性應用,來針對資料庫採用分層架構,以便於依資料使用頻率與重要程度,對應到不同的資料庫層存放,或是配合業務發展需求,採用新的資料庫架構設計,如分散式資料庫等。

以這次35PB遷移經驗來說,Thomas Park坦言,光是要將這些資料全部搬遷到AWS環境,就花了1年多才完成,同時搬移的過程,還要確保整個資料倉儲服務不能中斷,能持續穩定運作,繼續提供原有的數據蒐集與分析服務。對Amazon的IT團隊來說,這是一大挑戰。

最後,Thomas Park也說到,Amazon至今已經關掉的Oracle資料庫,少說也有數千到數萬個,現在,都已改用AWS的資料庫服務,如Redshift、Amazon RDS、Aurora與DynamoDB等。

除了資料倉儲之外,Amazon也將過去沿用了20年關鍵核心財務系統用的Oracle資料庫,也都一併搬上AWS,總共搬遷多達93個資料庫、185個實例,累積120TB的資料量,現在都改使用DynamoDB雲端資料庫。經過改用新的資料庫以後,除了更易於管理,更高可靠,更加快近一倍的反應處理時間,也替Amazon省下70%整體成本。

Amazon從資料庫遷移學到的10件事

1. 必須先提高能見度,全盤了解資料庫使用狀況,以利掌控進度。

2. 搬遷工程影響許多單位,事前須盡早尋求高層支持。

3. 須先獲得所有資料庫管理人員的支持,搬遷才能順利。

4. 搬遷過程,應單獨設立一組開發團隊,解決不同資料庫團隊的共通問題,有助加快遷移。

5. 執行全程須與AWS團隊保持密切合作。

6. 團隊應克服對技術的恐懼,找出最棘手及真正的技術問題。

7. 認清便宜沒好貨,應追求最高價值,而非最省成本。

8. 以整體效率的改善,來說服尚未轉換的單位。

9. 資料上雲後,要建立統一管理平臺。

10. 隨時保有擴充彈性,然後慶祝勝利到來。

資料來源:AWS,iThome整理,2018年12月

相關報導  殺入敵陣!AWS企業市場新戰略

熱門新聞

Advertisement