3

数か月にわたって EC2 から数百万の URL をクロールする予定で、このデータをどこに保存するかを考えています。私の最終的な目標はそれを分析することですが、分析はすぐには行われない可能性があり (他の理由で今すぐクロールしたいのですが)、最終的にはデータのコピーを転送してローカル デバイスに保存したいと思うかもしれません。 . データは約5TBになると見積もっています。

私の質問: 私はこれに Glacier を使用することを検討しています。クロールされたページをローカル (EB 上) に保存するマルチスレッド クローラーを実行し、そのデータを結合、圧縮、および Glacier に転送する別のスレッドを使用するという考えです。Glacier での転送速度が必ずしも良いとは限らないことはわかっていますが、このプロセスにはオンライン要素がないため、実現可能と思われます (特に、クロール速度が速すぎる場合に備えてローカル EBS ボリュームのサイズをいつでも増やすことができるため)。 Glacier に保存します)。

私のアプローチに欠陥がありますか、またはこれを行うためのより費用対効果の高い信頼できる方法を誰かが提案できますか?

ありがとう!

4

2 に答える 2

3

Redshift は Glacier よりも関連性が高いようです。Glacier は凍結/解凍がすべてであり、分析を行う前にデータを移動する必要があります。

Redshift は、大規模で安価なデータ ウェアハウスにデータを追加し、それに対してクエリを実行することを目的としています。

もう 1 つのオプションは、データを EBS に保存してそこに残すことです。クロールが完了したら、スナップショットを作成してボリュームを S3 にプッシュし、ボリュームと EC2 インスタンスを廃止します。次に、分析を行う準備ができたら、スナップショットからボリュームを作成します。

このアプローチの利点は、すべてのファイル アクセス (正式なデータ ストアではない) の方が簡単な場合があることです。

個人的には、おそらくデータを Redshift にプッシュします。:-)

-- クリス

于 2013-05-04T00:07:31.670 に答える
0

すぐに分析できない場合は、次の 2 つのアプローチのいずれかを採用できます。

アプローチ 1) Amazon EC2 クローラー -> EBS ディスクに保存 - Amazon S3 に頻繁に移動 -> Glacier に定期的にアーカイブします。過去 X 日間のデータを Amazon S3 に保存し、アドホック処理にも使用できます。

アプローチ 2) Amazon EC2 クローラー -> EBS ディスクに保存 - Amazon Glacier に頻繁に移動します。必要に応じて取得し、EMR またはその他の処理ツールで処理を行う

頻繁な分析が必要な場合:

アプローチ 3) Amazon EC2 クローラー -> EBS ディスクに保存 - Amazon S3 に頻繁に移動 -> EMR などのツールを使用して分析し、処理結果を S3/DB/MPP に保存し、生ファイルを Glacier に移動

アプローチ 4) データが構造化されている場合、Amazon EC2 クローラー -> EBS ディスクに保存し、それらを Amazon RedShift に移動し、生ファイルを Glacier に移動します

追加のヒント: データを (ソースから) 再度取得できる場合は、EBS の代わりにクローラーにエフェメラル ディスクを使用できます。

Amazon はデータ パイプライン サービスを導入しています。データ移動に関するニーズに適合するかどうかを確認してください。

于 2013-05-23T06:24:13.557 に答える