2012-06-28 17 views
26

StormとHadoopの違いを教えてください。 Hadoopはオープンソースの大規模バッチ処理のデファクトスタンダードになっているようですが、Stormはhadoopに比べて利点がありますか?またはそれらは完全に異なっていますか?Apache StormとHadoopの比較

+4

dezyre記事から)以下の画像をまとめることができます私は質問が総意味を成していたし、私はこのような有用な質問が非建設的として閉鎖された方法を理解するのは難しいと思います。質問は直接だった、事実、参照、等の必要はなかった。 – mvallebr

答えて

37

あなたの意見はどうですか。

Twitterの嵐は、リアルタイムのHadoopとしてもてはやされました。それは簡単な消費のためのマーケティングのためのものです。

両者は分散型アプリケーションソリューションであるため、これらは表面的に類似しています。 master/slave、zookeeperベースのコーディネーションなどの典型的な分散アーキテクチャ要素を除いて、私にとっては比較が崖から落ちます。

Twitterは、データを処理するためのpiplineに似ています。パイプは、データを受信し、出力を計算し、配信するさまざまなコンピューティング・ノードを接続するものです。 (そこにはスパウトとボルトがあります)このアナロジーを複雑なパイプライン配線に拡張すると、必要に応じて再設計してTwitter Stormを得ることができます。

ナッツシェルでは、データはそのまま処理されます。待ち時間はありません。

この点でHadoopの主な違いは、主にHDFSによるものです。分散ストレージに対応したソリューションであり、多くのスケール(ディスク、マシン、ラックなど)の停止に対する耐性を提供します。

M/Rは、HDFSのデータローカライゼーションを活用して計算ジョブを分散するために構築されています。一緒に、彼らはリアルタイムのデータ処理のための施設を提供していません。しかし、大規模なデータを見ているときは必ずしもその必要条件ではありません。要約すると、Twitter Stormは分散リアルタイムデータ処理ソリューションです。私はそれらを比較すべきだとは思わない。 Twitterは、小さなつぶやきは膨大な数のものを処理するための設備が必要であり、膨大な数のリアルタイムのものを必要としていたため作成しました。

参照:HStreamingあなたはいくつかのこと。基本的

+6

+1、完全に同意する。ちょっとしたメモ:Twitterはそれを構築せず、(取得した)(http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html)。 BackTypeはそれを元々構築しました。 – johndodo

+1

@ジョンドドー:ありがとう。私はそれが起源であることを完全に知らなかった。 – pyfunc

+0

変化するトポロジーのパイプラインによく似ています。 – SChepurin

11

と比較することを強要されている場合は、それらの両方がビッグデータを分析するために使用されますが、Hadoopのバッチ処理のために使用されている間、嵐がリアルタイム処理のために使用されています。これは私が見つけたことを嵐には非常に良い紹介です

:むしろ比較されるよりも Click here

4

を、彼らは現在、バッチ+リアルタイム(擬似リアルタイム)処理を持つお互いを補完することになっています。対応する動画プレゼンテーションがあります。Ted Dunning on Twitter's Storm

+0

Windows環境でこのtwitterストームアーキテクチャを複製できますか? – vbNewbie

+1

Stormは「リアルタイム」処理を目的としているため、ほとんどすべてを複製することができますが、これはWindowsで実装する意味がないのではないでしょうか。 – SChepurin

+0

「擬似リアルタイム」とはどういう意味ですか、展開してください。 – samthebest

3

私はStormをしばらく使用していましたが、すばらしいこの優れた技術をやめました:Spark(http://spark.apache.org)バッチ用の統一APIを開発者に提供しますストリーミング処理(マイクロバッチ)、機械学習、グラフ処理などがあります。

試してみる価値があります。

1

ストームは高速データ用(リアルタイム)&ハイドープはビッグデータ(既存のデータトン)用です。 StormはBigデータを処理できませんが、出力としてBigデータを生成できます。

0

Apache Stormは、フリーでオープンソースのリアルタイムリアルタイム計算システムです。 Stormは、バウンド処理のためにHadoopが行った処理をリアルタイムで処理するため、無制限にデータストリームを確実に処理することを容易にします。多くのサブシステム以来

は、Hadoopのエコシステムに存在し、私たちは、ビジネス要件に応じて、右側のサブシステムを選択すること&特定のシステムの実現可能性を持っています。

Hadoop MapReduceは、一度に1つのジョブのバッチ処理に効率的です。これが、Hadoopがデータ分析ツールではなくデータウェアハウジングツールとして広く使用されている理由です。

質問は「Hadoopの」対のみ「」に関連しているので、Storm use casesを見て - 金融サービス、通信、小売、製造、輸送を。

  1. Hadoop MapReduceはバッチ処理に最適です。
  2. ストームは完全なストリーム処理エンジンであり、リアルタイムのデータ分析にサブ秒単位でレイテンシを使用することができます。

このdezyre articleを見ると、Hadoop、Storm、Sparkの比較があります。それは類似点と相違点を説明します。

それは

enter image description here

関連する問題