2012-05-13 10 views
1

最近、Couchbaseのウェビナーで、Hadoopは大規模なログファイルを処理するために使用され、Couchbaseはアプリケーション層に提示するために使用されると述べました。彼らは、CouchbaseとHadoopのマップと縮小が異なっており、前述のそれぞれのユースケースに適していると主張しました。 私は、ログファイルの大きなamouontを処理するためにCouchbase map reduceを使用するつもりでした。 2人のマップの正確な違いを明確にすることができますか? Hadoopに大きなログファイルの処理に適した機能がありますか?couchdbのようなデータストアのMapReduceとHadoopのMapReduceの違いは?

おかげで...

答えて

2

Couchbaseのは、多くのNoSQLデータ・ストレージ・アプリケーションの一つです。データは、キー/値のペアに格納され、キーのインデックスが付いているため、迅速な検索が可能です。

逆に、hadoopのデータは索引付けされず(ファイル名以外)、HDFS内のファイルから特定の値を取り出す方がはるかに遅く、多くのファイルをスキャンする可能性があります。

通常、大きなファイルを処理したり、NoSQLストア(Couchbaseなど)を更新/設定するには、Hadoop mapreduceのようなものを使用します。

大量のデータを処理するためにNoSQLデータストアを使用することは、MapReduceを使用して同じジョブを実行する場合よりも効率が悪い可能性があります。しかし、NoSQLデータストアは、MapReduceジョブ(初期化には10秒、実行には数分かかる)よりもかなり効率的にWebレイヤーを処理できます。

+0

ログファイルの処理とビューの作成にCouchbaseのmap reduce機能を使用していませんか? – Manoj

+1

私はこれが彼らが参照していたものだと思います:http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-introduction-architecture-views.html Couchbaseに保存されている値をmap-reduceすることはできますがこれは、従来のMap Reduceジョブで見られるデータの量がかなり少なくなるように調整されています。 –

+1

@ChrisWhite - あなたのタクソノミは正しくありません。 CouchDBはNOSQLですが、Hadoop/HBaseもそうです。 HBaseは、HBaseと同じように、キー/バリューストアです。データセットが大きい場合、MapReduceジョブの実行に時間がかかることがあります。 MapReduceだけでは、実行に時間がかかりません。 – Cheeso

3

couchbaseがインクリメンタルマップ/リダクションを使用しており、アイテムを更新または削除するために必要なすべてのデータセットをスキャンしないという主な違いがあります。別の違いは、「大」の大きさです。一度に数百ギガバイトのログを処理する必要がある場合、couchbaseは最良の選択ではありません。

+0

文書を削除すると、couchbaseはそのビューを更新しませんか?奇妙な。 –

+2

文書の削除も変更されるため、インデクサーがこの変更を選択すると、文書が削除される新しいインデックスが生成されます。 "stale =" view引数でインデクサーを制御することもできます – avsej

関連する問題