分散型でフォールトトレラントなリアルタイム計算 | |
| 開発者 | バックタイプ、Twitter |
|---|---|
| 安定版リリース | 2.5.0 / 2023年8月4日[1] |
| リポジトリ | ストームリポジトリ |
| 書かれた | ClojureとJava |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 分散 ストリーム処理 |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | storm.apache.org |
Apache Storm は、主にClojureプログラミング言語で書かれた分散ストリーム処理計算フレームワークです。元々は Nathan Marz [2]と BackType のチーム[3]によって作成され、 Twitter に買収された後、プロジェクトはオープンソース化されました。[4]カスタム作成された「スパウト」と「ボルト」を使用して、情報ソースと操作を定義し、ストリーミング データのバッチ分散処理を可能にします。最初のリリースは 2011 年 9 月 17 日でした。[5]
Storm アプリケーションは、有向非巡回グラフ(DAG)の形状の「トポロジ」として設計され、スパウトとボルトがグラフの頂点として機能します。グラフ上のエッジはストリームと呼ばれ、データを 1 つのノードから別のノードに直接送信します。トポロジは、データ変換パイプラインとして機能します。表面的には、一般的なトポロジ構造はMapReduceジョブに似ていますが、主な違いは、データが個別のバッチではなくリアルタイムで処理されることです。さらに、Storm トポロジは強制終了されるまで無期限に実行されますが、MapReduce ジョブ DAG は最終的に終了する必要があります。[6]
ストームは2014年9月にApacheトップレベルプロジェクトとなり[7]、それ以前は2013年9月からインキュベーション段階にあった。[8] [9]
発達
Apache StormはApache Licenseに基づいて開発されており、ほとんどの企業が利用できます。[10] Apache Incubatorプログラムでは、バージョン管理にはGitが、問題追跡にはAtlassian JIRAが使用されています。
Apache Storm アーキテクチャ
Apache Storm クラスターは、次の重要なコンポーネントで構成されています。
- ノード:ノードには、マスター ノードとワーカー ノードの 2 種類があります。マスター ノードは、マシンにタスクを割り当て、そのパフォーマンスを監視するデーモンNimbusを実行します。一方、ワーカー ノードは、他のワーカー ノードにタスクを割り当て、必要に応じて操作するスーパーバイザーと呼ばれるデーモンを実行します。Storm はクラスターの状態と健全性を監視できないため、この問題を解決するために、Nimbus とスーパーバイザーを接続する ZooKeeper を導入します。
- コンポーネント: Stormには、Topology、Stream、Spoutという3つの重要なコンポーネントがあります。Topologyは、StreamとSpoutで構成されるネットワークです。Streamはタプルの無制限のパイプラインであり、Spoutはデータストリームのソースであり、データをストリームのタプルに変換して処理のためにボルトに送信します。[12]
ピアプラットフォーム
Stormは数十あるストリーム処理エンジンの1つに過ぎません。より完全なリストについては、ストリーム処理を参照してください。Twitterは2015年6月2日にStormとAPI互換性のあるHeronを発表しました[13] 。Spark StreamingやFlinkなど、他の同等のストリーミングデータエンジンもあります。[14]
参照
参考文献
- ^ 「Apache Storm 2.5.0 リリース」。2023年8 月 4 日閲覧。
- ^ Marz, Nathan. 「Nathan Marzについて」Nathan Marz . 2013年3月28日閲覧。
- ^ 「BackType Website (defunct)」 BackType . 2013年3月28日閲覧。
- ^ 「A Storm is coming: more details and planning for release」。エンジニアリング ブログ。Twitter Inc. 2015 年7 月 29 日閲覧。
- ^ 「Storm Codebase」。Github 。 2013年2月8日閲覧。
- ^ 「チュートリアル - Storm クラスターのコンポーネント」。ドキュメント。Apache Storm。2015年7 月 29 日閲覧。
- ^ 「Apache Storm がトップレベル プロジェクトに昇格」。
- ^ 「Storm Project Incubation Status」Apache Software Foundation 。 2013年10月29日閲覧。
- ^ 「Storm Proposal」。Apache Software Foundation 。 2013年10月29日閲覧。
- ^ 「Powered By Storm」。ドキュメント。Apache Storm。2015年7 月 29 日閲覧。
- ^ 「Apache Storm」. storm.apache.org . 2017年8月18日閲覧。
- ^ 「ストリーム処理 ビッグデータ処理」(PDF)。
- ^ 「Twitter Heron で飛行速度が向上」。エンジニアリング ブログ。Twitter Inc. 2015 年6 月 3 日閲覧。
- ^ Chintapalli, Sanket; Dagit, Derek; Evans, Bobby; Farivar, Reza; Graves, Thomas; Holderbaugh, Mark; Liu, Zhuo; Nusbaum, Kyle; Patil, Kishorkumar; Peng, Boyang Jerry; Poulosky, Paul (2016 年 5 月)。「ストリーミング計算エンジンのベンチマーク: Storm、Flink、Spark ストリーミング」。2016 IEEE国際並列分散処理シンポジウム ワークショップ (IPDPSW)。IEEE。pp. 1789–1792。doi :10.1109/IPDPSW.2016.138。ISBN 978-1-5090-3682-0.S2CID 2180634 。
外部リンク
- プロジェクトホームページ
