Storm は Hadoop と比べてどうですか? Hadoop はオープンソースの大規模バッチ処理のデファクト スタンダードのようですが、Storm には Hadoop よりも優れた点がありますか? またはそれらは完全に異なりますか?
6 に答える
自分の意見を言わないでください。
- http://www.infoq.com/news/2011/09/twitter-storm-real-time-hadoop/
- http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html
Twitter Storm は、リアルタイム Hadoop として宣伝されています。それは、簡単に消費できるようにするためのマーケティングの取り組みです。
どちらも分散アプリケーション ソリューションであるため、表面的には似ています。マスター/スレーブ、飼育係ベースの調整などの典型的な分散アーキテクチャ要素を除けば、私にとって比較は崖から落ちます。
Twitter は、データを処理するためのパイプラインのようなものです。パイプは、データを受信し、計算し、出力を配信するさまざまなコンピューティング ノードを接続するものです。(スパウトとボルトという専門用語があります) この類推を、必要に応じて再設計できる複雑なパイプライン配線に拡張すると、Twitter の嵐が発生します。
一言で言えば、データが来ると処理します。待ち時間はありません。
Hadoop は、主に HDFS が原因で、この点で異なります。これは、分散ストレージと、多くのスケール (ディスク、マシン、ラックなど) の停止に対する耐性を備えたソリューションです。
M/R は、HDFS 上のデータ ローカリゼーションを活用して計算ジョブを分散するように構築されています。これらを一緒に使用すると、リアルタイムのデータ処理機能が提供されません。しかし、大規模なデータを調べている場合、これは必ずしも必要ではありません。(干し草の山に例えると針)
簡単に言うと、Twitter Storm は分散リアルタイム データ処理ソリューションです。それらを比較する必要はないと思います。Twitter がそれを構築したのは、小さなツイートをリアルタイムで処理するための機能が必要だったからです。
参照:何かと比較せざるを得ない場合はHStreaming
基本的にはどちらもビッグデータの分析に使われますが、Stormはリアルタイム処理に、Hadoopはバッチ処理に使われます。
これは、私が見つけた非常に優れた Storm の紹介です: ここをクリック
比較するというよりは、バッチ+リアルタイム(疑似リアルタイム)処理で補完し合うようになっています。対応するビデオ プレゼンテーションがあります - Ted Dunning on Twitter's Storm
Apache Storm は、無料でオープン ソースの分散型リアルタイム計算システムです。Storm を使用すると、無制限のデータ ストリームを確実に処理しやすくなり、Hadoop がバッチ処理で行ったことをリアルタイム処理で実行できます。
Hadoop エコシステムには多くのサブシステムが存在するため、特定のシステムのビジネス要件と実現可能性に応じて適切なサブシステムを選択する必要があります。
Hadoop MapReduce は、一度に 1 つのジョブをバッチ処理する場合に効率的です。これが、Hadoop がデータ分析ツールではなく、データ ウェアハウジング ツールとして広く使用されている理由です。
この質問は「Storm」と「Hadoop」のみに関連しているため、Storm の使用例(金融サービス、通信、小売、製造、運輸) をご覧ください。
- Hadoop MapReduce は、バッチ処理に最適です。
- Storm は完全なストリーム処理エンジンであり、1 秒未満のレイテンシーでリアルタイムのデータ分析に使用できます。
Hadoop、Storm、Spark の比較については、このdezyre の記事をご覧ください。類似点と相違点を説明しています。
以下の画像で要約できます(dezyre
記事から)