GridGainというソフトウェアをご存知の方、GridGainがHadoopより優れていると思うところを教えてください。

http://www.gridgain.com/

逆にHadoopの方が優れているところや、実際にGridGainやHadoopを使って困ったことがあれば、教えていただけると助かります。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2012/01/21 12:05:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.3

回答回数4971ベストアンサー獲得回数2153

ポイント250pt

No.2 の回答にある二つ目のリンク先は、タイトルに、

比較了/雲計算框架網格(Hadoop的,GridGain,Hazelcast,發援会) - 第二部分

とあるように、Part 2 です。
因みに、Part 1 は、こちら。
http://renren.it/a/JAVAbiancheng/JAVAzonghe/20100909/comparison-gridcloud-computing.html

こっちを見ないと、どんな演算で性能比較したのかが、全く分かりません。

でも、翻訳サイトを通しても、いまいち、意味は分からないですよね。


こっちが本物のようです。
http://dacframe.org/trac/dac/wiki/WikiStart
http://dacframe.org/trac/dac/wiki/Laboratory/GridComparisonPartI
http://dacframe.org/trac/dac/wiki/Laboratory/GridComparisonPartII

英語なら、まだ、なんとか読めます =)
更新履歴を見ると、去年まで改版が繰り返されているので、どうせ読むなら、こちらをお薦めします。

renren.it のは、翻訳とも言えない、ただのパクリです。

時間:2010-09-09 23:32來源:互聯網 作者:互聯網 點擊: 886 次

ってのが、またひどい(「互聯網」は、インターネットのことね)。
せめて、元の執筆者の名前を入れて、原文へのリンクを張っておけば、と思うのだけれど。


# 話を、内容に戻します

Part 1 の文中にリンクがありますが、対象の問題は、これです。
http://dacframe.org/lab

計算中心の処理のようなので、Hadoop には、ちょっと分が悪そうです。

でも、グラフを見てみると、タスクが増えると、あまり差が無くなるのが分かります。
まあ、ノードが 5個しかないから、ということもあるでしょうが。

Hadoop のメリットは、HDFS にあるでしょうから、比較するとしたら、

  • GridGain + JDBC (or NFS)
  • Hadoop with HDFS

のように、データを扱いながら、大量の演算処理をするような比較をしないと、不公平な感じです。

逆に、タスク数がノード数よりもはるかに多く、リモートのデータを使わないという条件であれば、タスクが増えると、Hadoop と GridGain の性能差はあまり無い、ということですね。

java VM あたりのタスクが増えると、java のスレッド処理の性能になるので、
フレームワークの差が出ないだろう、という当たり前の結果ではありますが。

だから、性能以外のところ(*)に、違いを求めるべきなんでしょう。
  (*) 分かりやすさとか、保守性とか


まあ、先の資料は素直に読むと、「GridGain や Hadoop なんてのもあるけど、DAC は性能が良いでしょ」というふうに読むべきなんでしょうけれど。

id:roshio

ありがとうございます。確認が遅れ、失礼しました。
こちらも少し前のデータのようですが、製品特性の違いによる傾向として参考になります。
確かにタスクが増えると、スレッドの処理性能依存になり、あまり差が出ないというのは納得できます。
では、ノードリソースが豊富にあったら?と考えると、Part2のネットワークコストあたりで限界が来そうかな、という気もします。
導入前には、その辺を踏まえて検証するのがよいですね。

2012/01/24 20:22:41

その他の回答3件)

id:a-kuma3 No.1

回答回数4971ベストアンサー獲得回数2153

ポイント250pt

Apache の wiki で、こんな文書があります。
http://wiki.apache.org/hadoop/HadoopVsGridGain

この方の文書で気になるのは、これ。

The primary difference is that Hadoop is designed to work with large data sets (100's of TB in a single job) and GridGain is not. GridGain's jobs have a single reducer and it is given all of the values in a java.util.List. Therefore, the GridGain's jobs are limited to what can fit in a single jvm's heap.

分散処理は、膨大な量の処理をするための技術なので、GridGain が VM のヒープサイズの制限を受ける、
つまり、処理量の上限がある、ということです。


それに対して、こんなことを書いている人もいます。
http://gridgain.blogspot.com/2008/05/gridgain-vs-hadoop-continued.html

Generally such comparisons from vendors look plain silly.
  ...
Moreover, the main differences between the two products are not even touched!

# 彼は、GridGain 側のお方

彼が言うには、Hadoop は、Hadoop File System (HDFS) 上にデータを移行しなければならず、
多くの DB を扱うシステムにとっては、それがネックになる、と。
また、GridGain の方がシンプルだから、理解がしやすいんだとも。


http://www.gridgainsystems.com/wiki/display/GG15UG/Grid+Deployment
GridGain だと、それ自身にデプロイのモードをいくつか持ってます。
Peer Class Loading の機能を使うと、複数のノードに資源を配布する必要が無くなります。

You simply change code and run - and your modified application seamlessly runs on the grid.

# 性能面での注意をしてね、と但し書きはありますが。

http://www.smartfrog.org/wiki/display/sf/Patterns+of+Hadoop+Deployment
Hadoop だと、こういうのを使ってデプロイの手間を軽減しないと、保守の手間がとても大変です。
処理ロジックをちょこちょこ変えるような研究用途には向かないでしょうね。
# 分散処理を構築するための仕組みなので、クラスター(ノード)が多いことが前提です


何のために分散処理をやりたいか、というのがポイントになると思います。

検索エンジンみたいなシステムを、誰もが作る必要があるとは思えません。
シミュレーションのような計算処理だとか、DB を使ったシステムでの重たいバッチ処理の時間短縮とか、
GridGain 向きの分野があると思います。



去年の夏くらいに、別の部署の若手が Hadoop をお試しで使ってみた、みたいな社内発表を聞く機会があって、
そのときに、どうして Hadoop を選択したか聞いてみたら、逆に、他に何があるんでしたっけ、みたいな
逆質問を返されました。

そのときに、軽く探した感じだと、日本語だと Hadoop の情報が多かった記憶があります。
こういうアドバンテージもあるんだなあ、と。

id:roshio

ありがとうございます。GridGainがVMのHeapサイズの制限を受ける面があるのは注意点ですね。また、Hadoopの保守の注意点についてもありがとうございました。保守が結構大変という話題があったので、気になっておりました。
とても参考になりました。

2012/01/16 07:28:24
id:nikodesu No.2

回答回数1025ベストアンサー獲得回数39

ポイント250pt

ここも面白いですよ。

http://gridgain.blogspot.com/2008/05/gridgain-vs-hadoop-continued.html



あと、ここのサイトもわかりやすいですよ。
http://renren.it/a/JAVAbiancheng/JAVAzonghe/20100909/comparison-gridcloud-computing-0.html


詳細は翻訳ソフト等にてご確認ください。

id:a-kuma3

ひどすぎる。

2012/01/20 22:59:08
id:a-kuma3 No.3

回答回数4971ベストアンサー獲得回数2153ここでベストアンサー

ポイント250pt

No.2 の回答にある二つ目のリンク先は、タイトルに、

比較了/雲計算框架網格(Hadoop的,GridGain,Hazelcast,發援会) - 第二部分

とあるように、Part 2 です。
因みに、Part 1 は、こちら。
http://renren.it/a/JAVAbiancheng/JAVAzonghe/20100909/comparison-gridcloud-computing.html

こっちを見ないと、どんな演算で性能比較したのかが、全く分かりません。

でも、翻訳サイトを通しても、いまいち、意味は分からないですよね。


こっちが本物のようです。
http://dacframe.org/trac/dac/wiki/WikiStart
http://dacframe.org/trac/dac/wiki/Laboratory/GridComparisonPartI
http://dacframe.org/trac/dac/wiki/Laboratory/GridComparisonPartII

英語なら、まだ、なんとか読めます =)
更新履歴を見ると、去年まで改版が繰り返されているので、どうせ読むなら、こちらをお薦めします。

renren.it のは、翻訳とも言えない、ただのパクリです。

時間:2010-09-09 23:32來源:互聯網 作者:互聯網 點擊: 886 次

ってのが、またひどい(「互聯網」は、インターネットのことね)。
せめて、元の執筆者の名前を入れて、原文へのリンクを張っておけば、と思うのだけれど。


# 話を、内容に戻します

Part 1 の文中にリンクがありますが、対象の問題は、これです。
http://dacframe.org/lab

計算中心の処理のようなので、Hadoop には、ちょっと分が悪そうです。

でも、グラフを見てみると、タスクが増えると、あまり差が無くなるのが分かります。
まあ、ノードが 5個しかないから、ということもあるでしょうが。

Hadoop のメリットは、HDFS にあるでしょうから、比較するとしたら、

  • GridGain + JDBC (or NFS)
  • Hadoop with HDFS

のように、データを扱いながら、大量の演算処理をするような比較をしないと、不公平な感じです。

逆に、タスク数がノード数よりもはるかに多く、リモートのデータを使わないという条件であれば、タスクが増えると、Hadoop と GridGain の性能差はあまり無い、ということですね。

java VM あたりのタスクが増えると、java のスレッド処理の性能になるので、
フレームワークの差が出ないだろう、という当たり前の結果ではありますが。

だから、性能以外のところ(*)に、違いを求めるべきなんでしょう。
  (*) 分かりやすさとか、保守性とか


まあ、先の資料は素直に読むと、「GridGain や Hadoop なんてのもあるけど、DAC は性能が良いでしょ」というふうに読むべきなんでしょうけれど。

id:roshio

ありがとうございます。確認が遅れ、失礼しました。
こちらも少し前のデータのようですが、製品特性の違いによる傾向として参考になります。
確かにタスクが増えると、スレッドの処理性能依存になり、あまり差が出ないというのは納得できます。
では、ノードリソースが豊富にあったら?と考えると、Part2のネットワークコストあたりで限界が来そうかな、という気もします。
導入前には、その辺を踏まえて検証するのがよいですね。

2012/01/24 20:22:41
id:a-kuma3 No.4

回答回数4971ベストアンサー獲得回数2153

ポイント250pt

http://www.theserverside.com/news/thread.tss?thread_id=46568
こちらも、GridGain の中の人 (Nikita Ivanov) の話ですが。

Title: Hadoop?
Posted by: Jason Carreira
Posted on: August 15 2007 14:21 EDT
in response to Wei Jiang

How would you compare GridGain to Hadoop? Both are essentially replicating the map-reduce paradigm for distributed computation that was developed by Google...

GridGain も Hadoop も、Google の map-reduce じゃん。なんか違うの?

Title: Re: Hadoop?
Posted by: Nikita Ivanov
Posted on: August 15 2007 15:20 EDT
in response to Jason Carreira

You are right. Both GridGain and Hadoop implement Google’s MapReduce paradigm. However, the approaches differ quite significantly. Hadoop’s main focus is working with very large data files (terabytes in size). So its main responsibility is basically splitting large data into smaller data subsets for processing. GridGain, on the contrary, focuses on making it extremely easy to split your logic, not data (although you can split your data too). It allows user to “map” a computation into multiple sub-computation units and distribute these computational units across your node topology. User has a fine-grained control over task node topology distribution, scheduling, fail-over of computations to other nodes, checkpoint storage for longer computations, etc… We encourage you to download both products and see which one suites your needs better. Nikita Ivanov, http://www.gridgain.com

君は、正しい。
GridGain も Hadoop も Google の MapReduce さ。
でも、アプローチの仕方に大きな違いがある。
Hadoop は、大量のデータファイルを扱うところに焦点を当てている。
大きなデータを、小さなデータに分割して扱う、というところに。
それに比べて、GridGain は、データではなく処理をどうやって簡単に分割するか、というところに焦点を当てている。
(以下、省略)

id:roshio

ありがとうございます。
なるほど。分散処理をトポロジなんぞで、細かくコントロールして効率的に行うことが得意だよ、という感じですね。
思想として、参考になります。
処理の特性によって選ぼう、という感じでしょうか。

2012/01/24 20:29:29
  • id:Mook
    http://wiki.apache.org/hadoop/HadoopVsGridGain
    なとこが参考になりませんか
  • id:roshio
    ありがとうございます。
    この後大分バージョンされているようですが、参考にさせていただきます。
  • id:a-kuma3
    でかい環境で試したことが無いので、想像でしかないのですが、
    GridGain は、研究分野向きなんだと思います。

    適当に分散環境を作って、そこそこ性能が出れば、御の字だし、もっと性能が欲しければ、
    簡単にノードが増やせるから、お金次第で、徐々にでも、いきなりでも性能を上げられるけど、
    それは、必須条件ではないような。

    実際にサービス何かを構築しようとすると、I/O の負荷を無視できなくて、
    データの持ち方から、大体の規模を踏まえて設計すると、Hadoop なら、大体、予定通りの性能が出る。
    性能が欲しいときも、きちんと設計をして、予算も取って、ハードを増強するので、
    ノードを増やす手間も、ある意味、予定の範疇内、とか。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません