2011-10-19 18 views
1

MemcachedとHadoopの基本的な違いは何ですか? MicrosoftはWindows Server AppFabricでmemcachedを実行しているようだ。MemcachedとHadoopの違いは?

私はmemcachedが複数のサーバーを使用する巨大なキー値のハッシュ関数であることを知っています。 hadoopとは何ですか?また、hadoopとmemcachedの違いは何ですか?データを格納するために使用されていますか?オブジェクト?私は巨大な記憶オブジェクトを保存する必要がありますが、人々が話しているように、この巨大なオブジェクトを「塊」に分割する必要があるようです。オブジェクトをバイトに分割すると、Hadoopがポップアップしているようです。

私はメモリに100 MB以上の巨大なクラスを持っています。私はこのオブジェクトを複製し、このオブジェクトを何らかの方法でキャッシュする必要があります。このモンスターオブジェクトをキャッシュすると、Googleがどのようにしているかのように分割する必要があるようです。どのようにGoogleはこれをやっている。この点に関して、どのようにハープープが私を助けることができますか?私のオブジェクトは単純な構造化データではありません。内部のクラスを参照したり、参照したりしています。

アイデア、ポインタ、思考、推測などは参考になります。

ありがとうございました。

+0

Hadoopはメモリに何も格納しませんが、通常はディスク上に何かを保存し、HDFSに格納します。 NoSQLソリューションをお探しの場合は、MongoDBやCassandraのようなキー/バリューストレージを選択してください。 HBaseはあなたにとって正しいことではないようです。 –

答えて

4

memcached [http://en.wikipedia.org/wiki/Memcached]は、単一の集中型分散キャッシュ技術です。

apache hadoop [http://hadoop.apache.org/]は、データ処理のためのフレームワークで、Google /アマゾンをターゲットとし、多数のテラバイトのデータを対象としています。これには、分散データベース、分散処理のためのアルゴリズム、レポート/クエリ、データフロー言語など、この問題のさまざまな分野のサブプロジェクトが含まれます。

2つの技術は異なる問題に取り組んでいます。 1つは、クラスタ全体(小さなアイテムまたは大きなアイテム)をキャッシュするためのものです。もう1つは、クラスタ全体の大きなアイテムを処理するためのものです。あなたの質問からmemcachedがあなたの問題にもっと適しているように聞こえます。

1

Memcacheは、格納されているオブジェクトの値に制限があるため動作しません。 memcache faq。私はこの限界が10メガバイトに増加することができますが、私はリンクを見つけることができないいくつかの場所を読んでいます。

あなたの使用例については、mongoDBを試してみることをお勧めします。 mongoDb faq。 memcacheの代わりにMongoDBを使用できます。 DBに大きなファイルシステムを格納するためのGridFSを提供します。

0

良い解決策を選ぶことは、法的文書を永久に無料の音楽サービスに保存することの違いなど、意図した用途の要件によって決まります。たとえば、オブジェクトを再作成することができますか、またはそれらは一意に特殊ですか?彼らはさらなる処理ステップ(すなわち、MapReduce)を必要としていますか?オブジェクト(またはそのスライス)を取得する必要があるのはどれくらいですか?これらの質問への答えは、ソリューションセットに広く影響します。

オブジェクトをすばやく再作成することができれば、多くのマシンで十分なRAMを使用しているようにMemcachedを使用するのが簡単な解決策です。これに永続性を追加するために、CouchBase(以前のMembase)は一見価値があり、非常に大きなゲームプラットフォーム用のプロダクションで使用されます。

オブジェクトを再作成できない場合は、S3およびその他のクラウドファイルプロバイダが要件を満たしていないかどうかを判断します。高いグループアクセスのためには、いくつかの並列分散フォールトトレラントファイルシステムソリューションの1つ、すなわち(GPFSとLustreギアを装備)、Panasas(pNFS)のいずれかを検討してください。私はDDNのギアを使用して、それはパナサスよりも良い価格のポイントを持っていた。両方とも、DIY BackBlazeよりもはるかに優れた優れたソリューションを提供します。

GlusterFSCephのような、分散した並列ファイルシステムのほとんどが無料で実装されています。 CephはS3互換のゲートウェイを宣伝し、BTRFSを使用することができます(Lustreの将来の置き換え、生産に近づく)。 Ceph architecture and presentations。 Glusterの利点は、商用サポートのオプションですが、Cephの導入をサポートするベンダーが存在する可能性があります。 Hadoop's HDFSは匹敵するかもしれませんが、私は最近それを評価していません。

0

必要なもの(HBASE、HIVEなどは必要ありません)には純粋なHadoopを使用する必要があります。 Map Reduceメカニズムは、オブジェクトを多数のチャンクに分割し、Hadoopに格納します。 Map Reduceのチュートリアルはhereです。ただし、Hadoopはまず、大量の計算と保存のためのソリューションであることを忘れないでください。あなたのケースでは、Memcachedの実装であるMembaseを追加ストレージ機能でチェックすることをお勧めします。 memcached/membaseを使ってreduceをマップすることはできませんが、それらはまだ分散されていて、オブジェクトはクラウドの方法でキャッシュされます。

関連する問題