2013-02-07 142 views
5

以一個100GB的數據庫這個例子:MongoLab VS Azure的表存儲

Azure存儲成本:£6.05 /米 MongoLab在AWS上有1項節點成本:£153.18/M

我缺少的東西?計算不正確的東西?有人可以在這裏爲我清理一些東西嗎?我更願意使用MongoLab,因爲我非常喜歡node/mongoDB。但似乎更符合成本效益的解決方案去與表存儲。

我知道Key/Value和Document store之間的區別,我更喜歡後者。

回答

12

您需要考慮Azure表存儲(ATS)是存儲即服務。您不需要設置任何服務器來管理存儲和相關的CRUD操作。這是由Azure爲您處理的,因爲ATS是一個龐大的多租戶系統。你只需要一個賬戶,接收一個端點(加上主要的&二級密鑰),然後離開你,每GB支付約7美分(每100K交易支付一美分,這相當微不足道)。

使用MongoDB,無論是在AWS還是在Azure(或本地或其他任何位置)以及配置存儲,您都需要創建自己的服務器。開箱即用,今天的雲提供商沒有本地的MongoDB即服務產品。您的成本基礎現在遠高於ATS,並且您負責備份/快照,MongoDB維護等。即使是一個基本的MongoDB部署,您至少也會花費兩臺虛擬機實例(生產中的獨立服務器並不可取由於定期停機)。最小的Azure實例價格爲每小時0.02美元或每月大約14美元x 2,最低佔地面積約爲30美元/月(這是一款低於1GB RAM的低端虛擬機;它不會爲您提供高性能的MongoDB,但可能會僅適用於點播網站或流量小的博客)。犧牲可用性,你可以以每月14美元的價格運行一個額外的小型實例,外加存儲成本(這需要存儲在持久存儲器中,所以你說的是7美分/ GB /月)。

現在,你提到MongoLab。他們有有MongoDB即服務,並且已經構建了一個多租戶託管解決方案,並且他們的服務可用於多個雲,包括Azure。他們收取的價格是他們在虛擬機實例,存儲和帶寬以及服務器維護,備份策略,支持,高可用性,監控等方面的投資。

我不會過分關注存儲成本成爲你唯一的決定因素。如果您需要執行任何類型的需要比如多個索引字段的複雜查詢,那麼您需要構建額外的表來提供這些索引(或者您最終將執行分區掃描或表掃描以查找您的內容需要)。 MongoDB有一個非常強大的搜索和聚合引擎。如果你的應用需要這樣的話,你可能會花更多的錢在開發人員時間工程上,並保持額外的表存儲複雜性,而不是使用MongoDB並讓你的應用「今天」運行。另一方面,如果數據非常適合表存儲,其中分區+行鍵涵蓋絕大多數搜索情況,並且您可以利用實體​​組事務進行原子更新,則應考慮表存儲不僅成本高,而且規模大(每個存儲帳戶200TB)和性能。

我希望這有助於...

+0

我還想補充一點,與存儲 - 作爲一種服務提供你沒有得到執行引擎一般。這是MonoDB/SQL Azure與Azure表存儲之間的巨大差異。執行發生在客戶端和服務器上,而如果我運行存儲過程/ sql語句,我只關心客戶端上的結果。原因在於,執行簡單的操作(如獲取計數或分析)必須將一些數據/元數據帶回客戶端,然後對其進行處理(對於某些Azure表存儲操作)。 –