2013-05-03 54 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使用抓取工具

亚马逊已经推出了数据管道服务,检查它是否适合您的数据移动需求。