マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Apache Storm

【OSS情報アーカイブ】Apache Storm

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Apache Storm」とは

基本情報

概要

Apache Storm(アパッチストーム)とは、オープンソースで耐障害性に優れた高速分散処理型ニアリアルタイムビッグデータ処理フレームワークです。

「Apache Hadoop」とは

Hadoopとは、ビッグデータ処理を目的とした分散処理フレームワークです。Javaで実装されています。

分散処理フレームワーク「MapReduce」、分散ファイルシステム「HDFS」、クラスタ管理システム「YARN」などで構成されています。

「Apache Storm」基本説明

Stormは、「CEP(Complex Event Processing):復号イベント処理」に分類されます。ほぼリアルタイムで、連続的に発生する大規模データ分析の高速処理を実現するフレームワークです。

Stormは、ストレージの概念を導入していません。そのため、データ元の状態に縛られることなく、データベースなどのストレージシステム内のデータのみではなく、さまざまなシステムから流れてくるデータを処理できます。

Stormは、不正の検出、クリックストリーム分析、金融取引関連の警告処理、大量なIoTデバイスの監視、ソーシャル分析、ネットワーク監視などのリアルタイム性が要求されるシナリオに適しています。

ユーザは、デバイス、センサー、インフラストラクチャ、アプリケーション、Webサイト、各種データからリアルタイムイベント収集し処理できます。

Stormは、大量データ高速処理、フォールトトレラント、スケール可能クラスタ、扱いやすい操作性などを実現します。

Stormのソリューションは、正常に処理されなかったデータを再生する機能を備え、保証されたデータ処理を実現します。

データベースシステムとの統合/連携、並列化/分割化、処理失敗時のリトライが容易になっています。

コアプロセスは「Clojure」、コンポーネントは「Java」で実装されています。

経緯

元々は、米BackType社が開発しており、Twitter社が米BackType社を買収して、オープンソース公開しました。

Twitterでは、ツイートのリアルタイム処理(トレンド機能など)に使用されています。

その後、The Apache Software Foundationは、「Apache Storm」を、より優先して開発を行うトップレベルプロジェクトに昇格させました。

「Hadoop」と「Storm」の違い

Hadoopは、基本的にバッチ処理システムであり、データをHDFS(Hadoop File System)に取り込みブロック単位で蓄積した後に、一括ノード分散処理します。処理が完了すると、処理結果データがHDFSに返されて依頼元で使用できるようになるという仕組みです。

つまり、処理データが発生してから、それに対する処理結果が得られるまで必ずタイムラグが発生します。そのため、リアルタイム性が要求されるケースには向いていません。

Stormでは、ストリームデータを溜め込んでから処理を開始するのではなく、読み込みながらノンストップで処理を実行し続けます。オンメモリベースで1件ずつ処理するため、低レイテンシでのリアルタイム性が高い処理を実現できます。

主な機能

ストリーム処理

「データストリームを処理してデータベースをリアルタイム更新するような処理」などを、耐障害性を持ちながらスケーラブルにストリーム処理できます。

継続的処理

連続的クエリを実行して、処理結果をクライアントへストリーミングできます。例えば、Twitterのストリームからトレンドトピックのストリームを生成し続けることができます。

クエリ並列処理

動作中のStormに対して、即座に処理をする必要性が高い任意のクエリ投げて、並行して処理させることも可能です。

主な特徴

プログラミング言語非依存

さまざまなプログラミング言語に対応できます。

耐障害性

Stormは、障害発生時のメッセージ処理を保障し、データ欠損が発生しない仕組みを実装しています。タスクの障害が発生した場合、自動的にメッセージの再割り当てが行われます。従って、ミッションクリティカルな分野への適用も可能です。

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Apache Hadoop」「Apache Spark」など。

導入事例

リアルタイムビッグデータ分散処理フレームワークとして注目されています。

ライセンス情報

Apache Stormのライセンスは、「Apache License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。