每日最新頭條.有趣資訊

亞馬遜替換 Oracle:致 Prime Day 促銷日癱瘓

據外媒CNBC獲得的內部檔案顯示,亞馬遜遷離Oracle的數據庫使用Aurora PostgreSQL是Prime Day促銷日陷入癱瘓的主要原因。

這次故障突顯了亞馬遜希望在2020年之前完全擺脫Oracle數據庫的過程中可能面臨的挑戰。

近年來亞馬遜和Oracle在打口水仗,聲稱自家數據庫軟體和雲工具的性能更勝一籌。

亞馬遜現在算是領教了遷離Oracle數據庫軟體有多困難。

據CNBC獲得的一份內部報告顯示,在Prime Day促銷日,這個頭號電子零售商一邊忙著處理導致銷售流程減慢的重大網站故障,一邊忙著應對其在俄亥俄州最大的一個倉庫遇到的技術問題,該技術問題導致成千上萬件包裹發貨延遲。

檔案顯示,這個問題很大程度上歸咎於亞馬遜從Oracle數據庫遷移到自家的數據庫技術。這次故障突顯了亞馬遜希望在2020年之前完全擺脫Oracle數據庫的過程中可能面臨的挑戰,以及重新獲得這種級別的可靠性有多難。這還表明Oracle的數據庫在一些方面確實比亞馬遜的同類軟體更高效,Oracle可能會在本周於舊金山舉行的年度OpenWorld大會上強調這一點。

Prime Day故障發生後,亞馬遜的工程師撰寫了一份長達25頁的報告,亞馬遜稱這是糾正錯誤。亞馬遜採用這套標準流程,試圖了解重大事故為何發生、如何防止將來重蹈覆轍。

報告顯示,亞馬遜努力查明Prime Day問題的根本原因,原因是數據庫遷移之後丟失了一項功能。檔案顯示,萬一剛安裝的數據庫(名為Aurora PostgreSQL)出現錯誤,亞馬遜也未給出應急方案。

在一個問題中,工程師被問及為什麽亞馬遜的倉庫數據庫沒有遇到“上一次流量高峰期間(那時使用Oracle數據庫)的同一個問題”。他們回答,“Oracle和Aurora PostgreSQL是兩種不同的[數據庫]技術”,處理“保存點”(savepoint)的方式不一樣。

保存點是一種重要的數據庫工具,用於跟蹤和恢復單個事務。報告稱,在Prime Day當天,創建了數量過多的保存點,亞馬遜的Aurora軟體不堪重負,因而拖累了數據庫的整體性能。

無論如何都有可能發生

CNBC透露了檔案的細節後,伊利諾伊大學厄巴納-尚佩恩分校的電腦科學教授馬特?西澤(Matt Caesar)說:“如果亞馬遜堅持使用Oracle數據庫,很可能不會發生這次故障。此外,如果亞馬遜使用Oracle的數據庫,似乎能夠更早地診斷問題,從而有望縮短故障的持續時間。”

亞馬遜的發言人在通過電子郵件發表的聲明中對這個問題輕描淡寫,稱沒有什麽故障,儘管內部檔案聲稱數據庫“性能降級導致了滯後和嚴重故障。”

發言人說:“有必要指出這一點,那就是該倉庫從未發生過什麽故障,問題只是導致了約1%的包裹出現短時間的發貨延遲。這個問題很快查明並得到了解決。”

俄亥俄州的這個倉庫是在Prime Day之前遷離Oracle數據庫的13個倉庫中最大的一個。檔案稱,在Prime Day促銷活動期間,該倉庫每天處理的包裹超過110萬件。處理庫存和發貨數據的所有服務和軟體已統統遷移到了那些倉庫中的Aurora數據庫上。

據報告聲稱,這次故障在Prime Day持續了數小時,導致15000多件包裹發貨延遲,還浪費了約90000美元的勞動力成本。損失不包括工程師們排除和修複錯誤所耗費的所有時間或任何可能錯失的銷售訂單。

在報告裡頭名為“汲取教訓”的部分,亞馬遜的工程師寫道:“保存點在Aurora PostgreSQL中的行為與其在Oracle中的行為不一樣”,言外之意是Oracle的軟體處理問題更有效。報告還稱,沒有用於PostgreSQL中分析的SQL語句數據,而要是有該數據,“原本有助於查明”問題的根本原因。

要是亞馬遜做好更充分的準備,這次故障也許不那麽嚴重。在檔案的一個部分,該公司稱,由於“底層PostgreSQL數據庫遇到性能問題時缺少應對方案”,“結果花了很長的時間才解決”問題。檔案還聲稱,一份“完備的應對方案或操作手冊”原本有助於“更快地消除影響”。

哥倫比亞大學的電腦科學教授亨寧?舒爾茨萊寧(Henning Schulzrinne)看了檔案後說:“我猜想,亞馬遜剛更換了數據庫,並沒有測試在亞馬遜Prime Day那天出現的具體的負載模式,結果大吃一驚 ”。

近年來,亞馬遜和Oracle一直在打口水仗,原因是亞馬遜擴大了軟體品種,與Oracle更加正面較量了。CNBC在8月份曾報導,亞馬遜正努力在2020年初之前將整套數據庫從Oracle遷移出去。

“真的很難”

Oracle董事長兼聯合創始人拉裡?埃裡森才不信亞馬遜的說法。在該公司去年12月份的財報電話會議上,埃裡森稱亞馬遜“沒有遷離Oracle”。他在今年8月份的一次活動中重申了觀點,他說:“我認為亞馬遜做不到這一點。”

他說:“亞馬遜有10年的時間來遷移Oracle,但現在仍使用Oracle。而使用自己的技術對它們來說並不容易。那麽做不具有成本效益。我的意思是,真的很難。”

市場研究公司Moor Insights & Strategy的首席分析師帕特裡克?穆爾黑德(Patrick Moorhead)表示,這一事件表明,舊的應用軟體(就像亞馬遜倉庫中使用的那些應用軟體)遷離Oracle有多難;幾十年來,Oracle一直在與世界上最大的企業合作。

他說:“AWS Aurora是為前瞻性應用軟體設計的,而Oracle是為較傳統的應用軟體設計的。”

論文:Amazon Aurora:高吞吐量雲原生關係數據庫在設計方面的考量

獲得更多的PTT最新消息
按讚加入粉絲團