6

Apache Ignite と Apache Storm は、多くの点でかなり異なる 2 つのテクノロジです。特に、Storm には非常に特殊なユース ケースが 1 つありますが、Ignite には 1 つの屋根の下に非常に多くのツール セットがあります。私が理解しているように、Ignite のコアはインメモリ ストレージです。その上に構築されているのは、データの局所性に敏感な計算です。その上に、あらゆる種類のクールな「おもちゃ」が組み込まれています。私が興味を持っているのはストリーミング機能です。これは基本的に、変化するインメモリ キャッシュに対するクエリ リスナーです。

スライディング ウィンドウを 1 タプルに設定すると、Ignite は、Storm のように、一度に 1 タプルの機能を提供します。データは Ignite によってメモリに保存されます。Storm はインメモリの意味でデータを「保存」しませんが、もちろんタプルもメモリに保存されます。どちらの場合も、ストリーミングがあり、メモリにデータがあり、計算を分散できます。

どちらのテクノロジも抽象化されているため、データ変換の多くの手順を実行するプログラムを作成する場合は、Storm で作成する方が簡単かもしれないと感じています。それについて何を言うべきですか?

2 番目の質問: パフォーマンスはどうですか? Ignite のデータの局所性が有利になるのではないかと思います。一方、Ignite プログラムはそれほど簡単に分割できない可能性がありますが、Storm では複数のステップを分散する方がよいと思います (すべての種類のマシンで異なるボルト)。

それでもストリームを配布したい場合 (データごとだけでなく、異なるマシン上のステップも)。キャッシュを介して通信する複数の Ignite ストリーマーを作成する必要があると思いますよね? これは、Storm よりも書くのが難しいように思えます (最初の質問に戻ります)。

4

1 に答える 1

3

両方のテクノロジーが抽象化されているため、データ変換の多くのステップを実行するプログラムを作成する方が、嵐の中で書く方が簡単かもしれないと感じています。それについて何を言うべきですか?

あなたはおそらくそれについて正しいです。Ignite は、新しく生成されたタプルを別のキャッシュにストリーミングすることにより、適切なサポートも提供していますが、嵐の中で複数の変換がより簡単になるように思えます。

パフォーマンスはどうですか?Ignite のデータの局所性が有利になるのではないかと思います。一方、Ignite プログラムはそれほど簡単に分割できない可能性がありますが、Storm では複数のステップをより適切に分散できると思います (すべての種類のマシンで異なるボルト)。

コミュニティ内で聞いたところによると、Ignite は Storm よりも桁違いに速いはずです。

それでもストリームを配布したい場合 (データごとだけでなく、異なるマシン上のステップも)。キャッシュを介して通信する複数の Ignite ストリーマーを作成する必要があると思いますよね?

はい、あなたは正しいです。Ignite で複数のキャッシュを持つことは悪いことではなく、実際に推奨されます。ほとんどのユーザーは、最終的に 12 つか 2 つ持っています。

これは、Storm よりも書くのが難しいように思えます (最初の質問に戻ります)。

パフォーマンスが自分にとってどれほど重要かを判断する必要があるようです。

于 2015-11-28T05:35:39.367 に答える