
Amazon首度公開(kāi)過(guò)去電商平臺采用多年的線(xiàn)上交易與數據存儲服務(wù)架構圖
(還未全面改用AWS數據存儲前)。(圖片來(lái)源/AWS)
(還未全面改用AWS數據存儲前)。(圖片來(lái)源/AWS)
從這個(gè)架構圖來(lái)看,不只數據存儲是采用Oracle RAC數據庫架構,在它上方,還有提供3個(gè)針對營(yíng)運、探查與BIM數據設計的專(zhuān)用數據存儲或數據庫,里面用也都是Oracle, 再透過(guò)DB Link方式相連,連各種交易資料存放的OLTP數據庫,也都有部分使用到Oracle產(chǎn)品。
「這是一個(gè)高達35PB的超大型數據存儲遷移的挑戰。」Amazon.com大數據技術(shù)資深經(jīng)理Thomas Park在今年AWS re:Invent一場(chǎng)專(zhuān)談DBFreedom的黑板開(kāi)講(Chalk Talk)上,對著(zhù)臺下聽(tīng)眾分享Amazon數據庫上云經(jīng)驗時(shí)首度公開(kāi)揭露這項數據。
Amazon在11月1日正式關(guān)閉電商平臺使用多年的Oracle數據存儲系統,改搬到自家AWS云端數據存儲Redshift上,當時(shí)這個(gè)消息一出,科技圈譁然,成了熱議話(huà)題。也讓全球云端龍頭AWS與企業(yè)數據庫巨人甲骨文(Oracle)的數據庫之爭正式浮上臺面。
也因此,今年每一場(chǎng)只要打著(zhù)Amazon數據庫上云的相關(guān)議程,都成了今年最搶手的熱門(mén)場(chǎng)次,早在活動(dòng)前兩周,議程才剛公布,坐位就早已全數被預定一空,只剩下現場(chǎng)候位,甚至活動(dòng)前一天下午,議程還沒(méi)開(kāi)始,場(chǎng)外就已經(jīng)排滿(mǎn)人潮,等著(zhù)搶聽(tīng)Amazon分享第一手的搬移經(jīng)驗。Thomas Park就是其中一場(chǎng)專(zhuān)談「Amazon.com從Oracle數據庫搬上AWS經(jīng)驗」的講者。
Thomas Park表示,Amazon很早就開(kāi)始采用Oracle數據存儲,在換成AWS以前,系統存放的資料總共有多達35PB(壓縮後),1個(gè)PB(Petabytes)等同於1,000個(gè)TB,若以一個(gè)1TB硬碟厚度平均0.7公分來(lái)計算的話(huà),35PB的硬碟,堆成的高度超過(guò)200公尺高,這還不包括還有一個(gè)同樣壓縮過(guò)的5PB的核心資料集,也都要一并改上AWS,這正是Amazon數據存儲上云面對的最大挑戰。

Amazon大數據技術(shù)資深經(jīng)理Thomas Park
(攝影/余至浩)
(攝影/余至浩)
Amazon大數據技術(shù)資深經(jīng)理Thomas Park坦言,舊有的數據庫設計方式,已無(wú)法跟上Amazon事業(yè)快速成長(cháng)的腳步,所以,Amazon決定將數據庫重新打掉重練,改用新的云端數據庫設計方式來(lái)取代,以便能夠快速橫向擴展,來(lái)因應業(yè)務(wù)成長(cháng)需求。
Thomas Park在傳授數據庫搬遷經(jīng)驗的過(guò)程時(shí),也首度公開(kāi)過(guò)去Amazon電子商務(wù)平臺背後采用的線(xiàn)上交易與數據存儲服務(wù)架構圖(自11月1日以後,Amazon數據存儲已全面改由AWS取代)。
從這個(gè)架構圖來(lái)看,首先,Amazon所建置的一個(gè)超大型數據存儲叢集,全部都是采用Oracle RAC數據庫架構,在它上方,還有提供3個(gè)針對營(yíng)運、探查與BIM數據設計的專(zhuān)用數據存儲或數據庫,里面用也都是Oracle, 再透過(guò)DB Link方式相連,連做為各種交易資料存放的OLTP數據庫,也都有部分使用到Oracle產(chǎn)品,并透過(guò)Amazon自行開(kāi)發(fā)一個(gè)可以用來(lái)管理不同數據庫處理流程的ETLM管理平臺,來(lái)進(jìn)行協(xié)助交易資料萃取和轉置。
Thomas Park指出,就像其他電商平臺,Amazon剛開(kāi)始,也使用許多OLTP數據庫與Oracle數據存儲,用來(lái)處理不同類(lèi)型的工作負載,像是Oracle數據庫可以被用於承載交易型與非交易的工作任務(wù),能處理的資料型態(tài),包括目錄、庫存、線(xiàn)上交易、網(wǎng)頁(yè)點(diǎn)擊串流,以及行銷(xiāo)等資料。而數據存儲則是用於蒐集大量交易數據與分析所用。
數據庫擴充力,才是Amazon決定換掉Oracle的真正原因
但是,為何Amazom後來(lái)決定換掉原本數據庫?Thomas Park說(shuō):「就是為了要讓數據庫具備橫向擴展(Scale Out)的能力。」他表示,Amazon成立20多年來(lái),在業(yè)務(wù)發(fā)展上,從開(kāi)始用來(lái)查詢(xún)交易資料與儲存使用的數據庫,用的就是Oracle數據庫及其技術(shù),并用這些數據庫來(lái)建立Amazon網(wǎng)站底層的架構。但是當業(yè)務(wù)量逐漸成長(cháng),需要擴建更多的銷(xiāo)售據點(diǎn)與資料中心,并且跨入不同領(lǐng)域市場(chǎng),對於IT團隊來(lái)說(shuō),必須要能很快擴展原有基礎設施,來(lái)迎合業(yè)務(wù)快速成長(cháng)需求。
但是舊有的數據庫設計方式,已無(wú)法跟上Amazon事業(yè)快速成長(cháng)的腳步,所以,Amazon決定將自己的舊數據庫全部打掉重練,改用新的云端數據庫設計方式來(lái)取代,以便能夠快速橫向擴展,來(lái)因應業(yè)務(wù)迅速成長(cháng)。「這也是我們會(huì )決定從使用已久的Oracle數據庫搬上AWS的最重要原因。」當然成本也是另一大考量,他事後補充說(shuō)到。
一般來(lái)說(shuō),在新舊數據庫搬遷過(guò)程中,企業(yè)會(huì )先針對舊數據庫的綱要(Schema),先經(jīng)過(guò)復制或轉換,改到了目標的數據庫後,才接著(zhù)將舊數據庫里存放的資料,透過(guò)如AWS DMS等數據庫搬遷工具,再將全部資料移到新的數據庫。
不過(guò),Thomas Park強調,當一家企業(yè)發(fā)展成長(cháng)到達一定規模,要遷移數據庫,就不是一件容易的事,隨著(zhù)業(yè)務(wù)量成長(cháng),系統架構也將日益龐大復雜,例如需要不斷擴增新數據庫與備份數據庫,來(lái)滿(mǎn)足營(yíng)運所需,還要能依據不同關(guān)鍵性應用,來(lái)針對數據庫采用分層架構,以便於依資料使用頻率與重要程度,對應到不同的數據庫層存放,或是配合業(yè)務(wù)發(fā)展需求,采用新的數據庫架構設計,如分散式數據庫等。
以這次35PB遷移經(jīng)驗來(lái)說(shuō),Thomas Park坦言,光是要將這些資料全部搬遷到AWS環(huán)境,就花了1年多才完成,同時(shí)搬移的過(guò)程,還要確保整個(gè)數據存儲服務(wù)不能中斷,能持續穩定運作,繼續提供原有的數據蒐集與分析服務(wù)。對Amazon的IT團隊來(lái)說(shuō),這是一大挑戰。
最後,Thomas Park也說(shuō)到,Amazon至今已經(jīng)關(guān)掉的Oracle數據庫,少說(shuō)也有數千到數萬(wàn)個(gè),現在,都已改用AWS的數據庫服務(wù),如Redshift、Amazon RDS,Aurora與DynamoDB等。
除了數據存儲之外,Amazon也將過(guò)去沿用了20年關(guān)鍵核心財務(wù)系統用的Oracle數據庫,也都一并搬上AWS,總共搬遷多達93個(gè)數據庫、185個(gè)實(shí)例,累積120TB的資料量,現在都改使用DynamoDB云端數據庫。經(jīng)過(guò)改用新的數據庫以後,除了更易於管理,更高可靠,更加快近一倍的反應處理時(shí)間,也替Amazon省下70%整體成本。
Amazon從數據庫遷移學(xué)到的10件事
1. 必須先提高能見(jiàn)度,全盤(pán)了解數據庫使用狀況,以利掌控進(jìn)度。
2. 搬遷工程影響許多單位,事前須盡早尋求高層支持。
3. 須先獲得所有數據庫管理人員的支持,搬遷才能順利。
4. 搬遷過(guò)程,應單獨設立一組開(kāi)發(fā)團隊,解決不同數據庫團隊的共通問(wèn)題,有助加快遷移。
5. 執行全程須與AWS團隊保持密切合作。
6. 團隊應克服對技術(shù)的恐懼,找出最棘手及真正的技術(shù)問(wèn)題。
7. 認清便宜沒(méi)好貨,應追求最高價(jià)值,而非最省成本。
8. 以整體效率的改善,來(lái)說(shuō)服尚未轉換的單位。
9. 資料上云後,要建立統一管理平臺。
10. 隨時(shí)保有擴充彈性,然後慶祝勝利到來(lái)。
資料來(lái)源:AWS,iThome整理,2018年12月