2014-09-29 60 views
1

從一個新項目開始,在適當的平臺上尋找建議。目前的想法是介於Hazelcast或AppScale之間,因爲我們團隊的合併(但有限)經驗涵蓋了舊版Hazelcast和GAE。兩者都可以顯然安裝在EC2上,這可能是滿足我們期望的CPU需求的最簡單方法。Hazelcast或AppScale通過共享數據集管理並行計算任務

問題資料

1)。我們的數據由按日期存儲的許多小記錄組成(但不總是時間)。有些是小數字記錄(商業統計數據,看起來像每日天氣信息或股票市場價格),有些則是龐大的文本(日誌文件條目)。數據量不是很大,每天在1k到50k之間的數百個/日的區域內。 2)。數量非常大的計算昂貴的數值模型(認爲蒙特卡羅模擬)在相同數據的固定大小的窗口上不斷運行。 3)。許多監控代理可以提供數據。 4)。更大(更長的時間段)相同的數據集每天離線處理一次。

使用Hazelcast,我們會將傳入數據添加到地圖並使用Executor服務在共享數據上運行模型。根據需要可能使用Tomcat來提供最少的前端訪問。

使用AppScale,我們將爲每個數據類型添加表格,並使用Task Queues API來構建數值模型。根據GAE部署到AppScale的Servlet提供前端。

問題

我們應該使用AppScale或Hazelcast對於這樣的要求?那就是 - 對於所述的問題,是否有任何突出的因素可以針對我們應該考慮的平臺?

回答

2

如果您更喜歡/需要分佈式的面向服務的編程模型(一攬子任務),那麼答案就是AppScale。如果您更喜歡/需要並行編程模型(單機抽象),那麼答案就是Hazelcast。 AppScale也是一個完整的雲平臺(相對於只有數據存儲),使您可以隨着應用程序的發展對應用程序做更多的事情。如果您使用AppScale,則可以調整任務的時間限制,並使用您要使用的庫自定義平臺,以滿足計算上昂貴的方法。

相關問題