客戶案例/軟體與網際網路

2020
Dropbox 標誌

Dropbox 透過在 Amazon DynamoDB 和 Amazon S3 上建置可擴展的中繼資料存放區來節省數百萬的經費

1 年

1 年內在 AWS 上推出中繼資料儲存系統。

5.5

使每個使用者 GB 成本降低 5.5 倍。

節省數百萬

節省數百萬美元的擴展成本。

300 TB

2 週內遷移 300 TB 的資料。

4,000-6,000 個查詢

以每秒 4,000 到 6,000 個查詢的速度擷取資料。

概觀

2018 年夏天,由於部分分割區的資料快速成長,Dropbox 遭遇到內部部署中繼資料存放區容量不足的問題。Dropbox 的資料庫團隊共有三個選擇:將內部部署儲存容量增加一倍 (將花費數百萬美元)、刪除大量的中繼資料,或是尋找可高度擴展且符合成本效益的全新解決方案。第三種選擇最佳,但要實現卻是一個挑戰。2 年之內,Dropbox 的內部部署系統就會達到最大容量,而專案實作團隊內只有兩名員工。

這些情況促使 Dropbox 向 Amazon Web Services (AWS) 尋求受管解決方案。Dropbox 採用全受管且靈活的 NoSQL 資料庫 Amazon DynamoDB,在任何規模下皆能提供低於 10 毫秒的效能,以及 Amazon Simple Storage Service (Amazon S3) 雲端物件儲存服務,迅速開發出名為 Alki 的全新受管儲存系統。這為幾乎無上限的使用者中繼資料提供空間,且由於不需要增加內部部署儲存空間,因此不僅為公司節省數百萬美元,還能夠將每 GB 的成本降低 5.5 倍。

701029600

將稽核日誌資料從舊版資料庫遷移至雲端

兩位麻省理工學院學生於 2007 年創立 Dropbox 全球協作工具與檔案共享服務。Dropbox 已成為世界上最成功的新創公司之一,擁有超過 6 億名使用者,上傳內容超過 4 千億則。


Dropbox 的中繼資料存放區最初僅設置於公司的主要資料存放區 Edgestore 內,並託管在建立於 MySQL 碎片叢集上的內部部署分散式資料庫中。至 2018 年中旬,快速成長的冷中繼資料 (不常存取但需要長久儲存且能即時使用的資料) 與無可比擬的 Edgestore 相隔短短不到 2 年。然而,增加內部部署資料庫的容量需要拆分現有的分割區,並購買新機器進行託管,這將會使 Edgestore 的成本倍增,每年增加數百萬美元。此外,將冷中繼資料儲存在與熱 (或經常使用之) 中繼資料相同的資料庫中不再具有意義。Dropbox Alki 團隊技術主管 Jonathan Lee 表示:「如果撰寫的資料並不會經常讀取,則在針對擷取速度最佳化之媒體中使用此類資料的費用將十分高昂,更不用說儲存其中是多麼沒有意義的事了。」


因此,資料庫團隊分出兩名員工建置 Alki,此解決方案能以符合成本效益的方式儲存中繼資料。他們尤其專注於稽核日誌記錄資料 Edgestore 冷中繼資料的首要使用案例。由於小型 Alki 團隊的執行期限緊迫,如果錯過期限,可能導致使用者中繼資料遺失,因此決定實作 AWS 受管服務。透過使用 Amazon DynamoDB 和 Amazon S3,Dropbox 在短短一年內於 AWS 上快速建立原型並部署冷中繼資料存放區。AWS 解決方案架構師的功能類似 Dropbox Alki 團隊的延伸,提供規範性指導及實作協助。


Lee 表示:「建置儲存系統時,必須考慮許多元件,包括複寫、備份和容量管理。Amazon DynamoDB 和 Amazon S3 非常符合這種需求,可堪稱是業界標準。這些都是大型團隊需要花費數年才能解決的問題。但是透過使用 Amazon DynamoDB 和 Amazon S3,我們可以簡化這些問題,因為 AWS 可處理許多複雜的任務,例如資料複寫、資料耐久性管理和硬體佈建。Amazon DynamoDB 和 Amazon S3 皆會隨著我們的容量需求自動成長。我們不再需要針對硬體購買進行內部部署容量和預算規劃,然後必須堅守此決策 4 年。」

kr_quotemark

建置儲存系統時,必須考慮複寫、備份和容量管理等元件。透過使用 Amazon DynamoDB 和 Amazon S3,我們可以簡化這些問題,因為 AWS 可以處理許多複雜的任務。」

Jonathan Lee
Dropbox Alki 團隊技術主管

使用 AWS 解決方案建置冷熱中繼資料存放區

Alki 團隊由 AWS 解決方案架構師協助,建構以日誌結構合併樹 (LSM 樹狀結構) 為基礎的中繼資料儲存系統,該系統具有兩層資料儲存:熱中繼資料適用的上層,以及冷中繼資料適用的下層。Amazon DynamoDB 可作為熱儲存層,以每表每秒寫入 4,000 至 6,000 次的速度,將稽核日誌記錄資料導入六個 DynamoDB 表中。每個表每天可儲存 50 到 80 GB。每天結束時,團隊會將中繼資料從這些表卸載至 Amazon S3 以進行永久儲存,隨後將刪除 Amazon DynamoDB 中的表格。

2019 年初,Alki 團隊選擇使用 Amazon DynamoDB 和 Amazon S3 後不到 6 個月,Alki 進入生產的測試階段,擷取所有資料並提供部分讀取服務。2019 年 10 月,大約 300 TB 的稽核日誌資料 (代表儲存在 Edgestore 中所有資料的四分之一) 已遷移至目前進入全面生產的 Alki。

Amazon DynamoDB 和 Amazon S3 的可擴展性協助 Dropbox 團隊在 2 週的時間內完成資料遷移。Lee 說明道:「一般而言,可能會設計出在穩定狀態下,規模為預期 10 倍的系統。但是,我們可以在 AWS 上擴展 100 到 1,000 倍,且無需提前設計系統。」 Alki 團隊預期穩定狀態為每秒 4,000 個查詢,但在遷移期間,卻能夠為每秒 60 萬個查詢佈建 Amazon DynamoDB。

Lee 指出,AWS 解決方案架構師在整個遷移過程中為 Alki 團隊提供優質的支援。Lee 表示:「關於我們針對 Alki 工作與 AWS 團隊之間的互動,我們只有正面的感想。AWS 團隊始終非常積極的幫助我們尋找問題、指出如何加快各類事項處理速度,並且確定我們希望在營運方面能夠更加謹慎的範疇。」Alki 團隊和 AWS 解決方案架構師能夠透過即時管道保持穩定溝通。Alki 團隊將繼續透過 AWS 受管服務享有該協作所帶來的效益。Alki 團隊軟體工程師 Stas Ilinskiy 表示:「長久執行系統需要專業知識,我們並不具備這樣的專業知識。但是透過使用 Amazon DynamoDB,我們也能獲得具備系統執行專業知識的人員。」

Alki 透過使用 Amazon DynamoDB 和 Amazon S3,為 Dropbox 省下數百萬美元的擴展成本,並顯著降低每位使用者的 GB 成本。Dropbox Edgestore 每年每位使用者的 GB 成本是 Alki 的 5.5 倍。

持續創造卓越的使用者儲存體驗

Alki 團隊正在探索如何使用 Amazon EMR 更有效地將資料從 Amazon DynamoDB 卸載至 Amazon S3,這個程序目前由 Dropbox 自身的批次處理系統處理。此外,為了進一步透過 Alki 節省成本,Dropbox 於 2020 年 10 月將另一個含有 300 TB 冷中繼資料的資料庫遷移至 Alki。這為 Dropbox 未來如何使用 Alki 最佳化與進一步降低成本奠定基礎:公司可能會將其作為一般用途的冷中繼資料存放區使用。Lee 問道:「與其移動特定使用案例,我們是否可以將 Alki 與 Edgestore 整合,並在兩者之間透明地移動資料?這是下一個願景。」

Alki 團隊透過使用 Amazon DynamoDB 和 Amazon S3,能夠快速啟動耐用且可擴展的中繼資料儲存,為 Dropbox 省下可觀的成本。AWS 提供的受管服務使維護此儲存成為可持續發展的長期選擇。該解決方案還讓 Dropbox 能夠啟動數個無法在 Edgestore 上啟動的專案。Lee 表示:「整個 Alki 專案受到所有高層管理人員的熱切關注。Alki 的效能讓我們感到非常滿意,當然 Amazon DynamoDB 和 Amazon S3 也不例外。」

關於 Dropbox

總部設立於舊金山,Dropbox 是讓生活保持井然有序,並讓工作順利進行的地方。註冊使用者超過 6 億人,橫跨 180 個國家/地區,Dropbox 肩負的使命是設計出更進步的工作方式。

使用的 AWS 服務

Amazon S3

Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務,提供領先業界的可擴展性、資料可用性、安全性及效能。

進一步了解 »

Amazon DynamoDB

Amazon DynamoDB 是一種鍵值和文件資料庫,可在任何規模下達到耗時低於 10 毫秒的效能。

進一步了解 »

Amazon EMR

Amazon EMR 是領先業界的雲端大數據平台,使用開放原始碼工具 (例如 Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi 和 Presto) 來處理龐大的資料量。

進一步了解 »

更多軟體與網際網路客戶案例

找不到項目 

1

開始使用

各行各業各種規模的組織每天都在使用 AWS 來變革其業務和履行其使命。聯絡我們的專家,立即開始您的專屬 AWS 雲端之旅。