品牌名稱
Shutterfly
企業規模
501-1000人

Shutterfly與MongoDB的合作案例展示

336次閱讀

蝴蝶

Shutterfly 是領先的基于互聯網的社交表達和個人發布服務,為數百萬客戶保護超過 60 億張圖片。該公司的優質在線照片服務和產品使消費者能夠以照片和視頻的形式分享回憶,并將日常照片變成創意紀念品,例如相冊和個性化網站。

 

作為唯一不縮減采樣、壓縮或強制刪除照片的照片共享網站,Shutterfly 面臨著巨大的數據增長,這推動了其現有 Oracle 數據庫的性能極限。在對開源關系和非關系替代方案進行廣泛分析后,Shutterfly 選擇了 MongoDB 作為其持久數據存儲。MongoDB 提供高性能、可擴展性和快速上市時間——這是幫助 Shutterfly 為客戶提供無與倫比服務的三重優勢。

 

問題

為了在競爭中保持領先并提供最高質量的客戶體驗,Shutterfly 不斷實施新功能以改進用戶與其產品和網站交互的各種方式。在 Oracle 上開發了十年之后,Shutterfly 的代碼庫很脆弱,使許多工程用例陷入了痛苦的爬行。應用程序需要很長時間才能正確構建;或者,一旦建成,它們的性能就不夠快。事實證明,Oracle 的費用太高(軟件許可和硬件之間)并且提供的性能低于標準。2009 年,Shutterfly 開始尋找可以與業務一起增長的替代數據庫,并尋求一種開源解決方案,使他們能夠跨商品硬件橫向擴展,加快應用程序性能并縮短上市時間。MongoDB 符合要求。

 

為什么是 MongoDB?

MongoDB 以低成本為 Shutterfly 提供了敏捷、高性能、可擴展的解決方案。MongoDB 與 Shutterfly 的基于服務的架構無縫協作,提供了一種干凈、快速的應用程序構建方式,以及匹配多個用例的靈活性。迄今為止,Shutterfly 已經在 MongoDB 上開發了近十幾個項目,現在存儲了超過 20TB 的數據。

 

加快上市時間

數據服務總監 Kenny Gorman 解釋說,使用 MongoDB 的“真正殺手級原因”是其豐富的基于 JSON 的數據結構,它為 Shutterfly 提供了一種敏捷的軟件開發方法。借助 MongoDB,Shutterfly 團隊可以快速開發和部署新應用程序,尤其是 Web 2.0 和社交功能(例如標記、喜歡、評論),這些功能在其遺留系統上實施起來既困難又昂貴。MongoDB 的文檔模型豐富了 Shutterfly 的數據建模能力,允許使用以前不可用的新查詢模式,同時靈活的模式縮短了開發周期并加快了上市時間。

 

提高性能

留下復雜的遺留代碼簡化了 Shutterfly 架構,使公司能夠以低成本提高單個頁面和站點的性能。插入的平均延遲從 400 毫秒降至 2 毫秒,Shutterfly 客戶現在可以在執行共享和評論照片等任務時獲得他們期望的速度。

 

可靠的服務器支持

Shutterfly 使用 MongoDB 的副本集滿足了其極高的正常運行時間要求(超過 10,000 ex/sec),通過節點的自動故障轉移和成員節點的恢復實現高可用性。他們獨特的架構為每個副本集包含四個成員,將數據寫入多個成員的能力對于數據質量和安全至關重要。

 

一目了然的監控

Shutterfly 使用MongoDB 管理服務 (MMS)作為獲得系統可見性和洞察力的主要工具。它不僅節省了 DBA 資源,而且 MMS 使他們有信心更快地推進項目。此外,“它使我們能夠與 MongoDB 支持建立緊密的聯系,”Gorman 說。

 

開源社區

Shutterfly 很早就預測到 MongoDB 擁有打造一流產品和大型社區的熱情、遠見和專業知識。他們是對的:MongoDB 社區一直是他們項目的重要資產。“MongoDB 背后有如此多的精力,我們對整體發展方向和速度感到非常滿意,”戈爾曼說。

 

結果

Shutterfly 從 Oracle 切換到 MongoDB 使性能提高了 9 倍并大幅降低了成本。此外,Shutterfly 現在可以在幾個沖刺中開發應用程序——幾周而不是幾十個月的時間框架。

 

得到教訓

Gorman 的建議是為工作選擇合適的工具。最近的 NoSQL 運動帶來了在特定用途上蓬勃發展的新工具;關鍵是要適當地使用每個工具。他建議說,MongoDB 的核心功能表現得非常好,但不要要求它做它不做的事情。“你的數據有它想要的格式,所以仔細聽,它會告訴你的。”

 

下一步是什么?

MongoDB 是 Shutterfly 持久性架構的基石,是開發人員觸手可及的重要功能。“到目前為止,我們已經看到了巨大的收益,我們對未來感到非常興奮,”戈爾曼說。“我們不斷地針對 MongoDB 評估所有新項目,如果合適,我們就會使用它。我希望這將為我們的客戶提供出色的新功能的重要組成部分。”