2013-05-03 52 views
3

我會在幾個月內做的,從EC2幾百萬URL的抓取和我的想法,我應該存儲這些數據。我的最終目標是分析它,但分析可能不是即時的(即使我現在想爲其他原因而抓取它),我最終可能會將數據的副本傳輸到本地設備上進行存儲。我估計數據將在5TB左右。利用冰川作爲網絡後臺抓取

我的問題:我正在考慮使用Glacier來實現此目的,我的想法是我將運行一個多線程爬網程序,它在本地存儲抓取的頁面(在EB上),然後使用單獨的線程來合併,壓縮和穿梭數據到冰川。我知道在冰川上的傳輸速度不一定很好,但由於這個過程沒有在線元素,所以這似乎是可行的(尤其是因爲我可以隨時增加我當地EBS卷的大小以防我爬得比我快存儲到冰川)。

是否有缺陷在我的做法或任何人都可以提出一個更具成本效益的,可靠的方式做到這一點?

謝謝!

+1

冰川從根本上說是一個長期歸檔工具,注重遵守法規(例如,「您必須保存XYZ數據至少N年的存檔」)。從中檢索數據是一個緩慢,複雜且有時很昂貴的過程 - 除非您存儲大量不太可能檢索的數據,否則它可能不適合作業。 – duskwuff 2013-05-04 00:13:01

回答

3

紅移似乎比冰川更相關。冰川是關於凍結/解凍的,你需要在做任何分析之前移動數據。

紅移更多的是在它添加的數據投入大,價格便宜,數據倉庫和運行查詢。

另一種選擇是將數據存儲在EBS中並將其保留在那裏。當您完成抓取時,請使用快照將卷推入S3並分解卷和EC2實例。然後,當您準備好進行分析時,只需從快照創建一個卷。

這種方法的好處是,它可能會更加容易的所有文件訪問(沒有正式的數據存儲)。

就我個人而言,我可能會將數據推送到Redshift。 :-)

- 克里斯

+0

感謝您的深思熟慮的評論。不確定Redshift是否適合我(我通常不需要DW),但是你的帖子讓我想到了其他一些選擇,並且我很感謝你對Glacier的評論。 – kvista 2013-05-05 00:07:49

0

如果你的分析不會一蹴而就,那麼你可以採用以下2一個辦法

方法1)在Amazon EC2履帶 - >店EBS磁盤 - 移動他們經常到亞馬遜S3->定期歸檔到冰川。您可以將最近的X天數據存儲在Amazon S3中,並將其用於即席處理。

方法2)在Amazon EC2履帶 - >店EBS磁盤 - 經常將它們移到亞馬遜冰川。在需要時提取並做EMR或其他加工工具

的處理如果您需要經常分析:

方法3)亞馬遜EC2履帶 - >店EBS磁盤 - 經常將它們移到亞馬遜S3->通過分析EMR或其他工具,並將處理後的結果存儲在S3/DB/MPP中,並將原始文件移動到冰河

方法4)如果您的數據是結構化的,那麼Amazon EC2爬蟲 - > RedShift並將原始文件移至冰川

其他提示: 如果您可以再次檢索數據(來自源代碼),那麼您可以使用臨時磁盤代替EBS使用抓取工具

亞馬遜已經推出了數據管道服務,檢查它是否適合您的數據移動需求。