StormとHadoopの違いを教えてください。 Hadoopはオープンソースの大規模バッチ処理のデファクトスタンダードのようですが、Stormにはhadoopよりも優れている点がありますか?またはそれらは完全に異なりますか?
あなたの意見を言ってみませんか。
TwitterストームはリアルタイムHadoopとして宣伝されています。それは、より簡単に消費するためのマーケティングの取り組みです。
どちらも分散アプリケーションソリューションであるため、表面的には似ています。マスター/スレーブ、飼育係ベースの調整などの典型的な分散型アーキテクチャ要素は別として、私には比較が困難から抜け出します。
Twitterは、データを処理するためのパイプラインに似ています。パイプは、データを受信し、出力を計算して配信するさまざまなコンピューティングノードを接続するものです。 (専門用語には注ぎ口とボルトがあります)このアナロジーを、必要に応じて再設計できる複雑なパイプライン配線に拡張すると、Twitter Stormを取得できます。
ナットシェルでは、データを処理します。待ち時間はありません。
Hadoopは、主にHDFSにより、この点でこれまでとは異なります。これは、分散ストレージと多くのスケール(ディスク、マシン、ラックなど)の停止に対する耐性を対象としたソリューションです。
M/Rは、計算ジョブを分散するためにHDFS上のデータローカリゼーションを活用するように構築されています。同時に、それらはリアルタイムのデータ処理のための機能を提供しません。ただし、大規模なデータを調べる場合は、常にそうである必要はありません。 (干し草のアナロジーの針)
つまり、Twitter Stormは分散型リアルタイムデータ処理ソリューションです。それらを比較する必要はないと思います。 Twitterは、小さなつぶやきを大量にリアルタイムで処理する機能が必要だったために作成しました。
参照: HStreaming 何かと比較せざるを得ない場合
基本的には、どちらもビッグデータの分析に使用されますが、リアルタイム処理にはStormが使用され、バッチ処理にはHadoopが使用されます。
これは私が見つけたStormの非常に優れた紹介です: ここをクリック
比較するのではなく、バッチ+リアルタイム(疑似リアルタイム)処理を行うことで、お互いを補完し合うことになっています。対応するビデオプレゼンテーションがあります- Ted Dunning on Twitter's Storm
私はしばらくStormを使用してきましたが、今ではこの素晴らしいテクノロジーを驚くべきテクノロジーのためにやめました:Spark( http://spark.Apache.org =)これは、バッチまたはストリーミング処理(マイクロバッチ)、および機械学習とグラフ処理のための統合APIを開発者に提供します。
試すだけの価値があります。
ストームは高速データ(リアルタイム)用で、Hadoopはビッグデータ(既存の大量のデータ)用です。 Stormはビッグデータを処理できませんが、ビッグデータを出力として生成できます。
Apache Stormは、無料でオープンソースの分散型リアルタイム計算システムです。 Stormにより、無制限のデータストリームを確実に処理することが容易になり、Hadoopがバッチ処理で行った処理をリアルタイム処理で実行できます。
Hadoopエコシステムには多くのサブシステムが存在するため、特定のシステムのビジネス要件と実現可能性に応じて、適切なサブシステムを選択する必要があります。
Hadoop MapReduceは、一度に1つのジョブのバッチ処理に効率的です。これが、Hadoopがデータ分析ツールではなくデータウェアハウジングツールとして広く使用されている理由です。
質問は「Storm」対「Hadoop」のみに関連しているため 嵐の使用例 -金融サービス、テレコム、小売、製造、輸送をご覧ください。
Hadoop、Storm、Sparkの比較については、この dezyre記事 を参照してください。それは類似点と相違点を説明しています。
以下の画像で要約できます(dezyre
記事から)