マジセミドライブ

ウェビナー関連のニュースや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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

企業がベンダー(SIer)に対する 訴訟 の背景や原因を解説します。日本通運とアクセンチュアの125億円訴訟に加え、他の大規模な紛争事例も紹介します。プロジェクト管理や要件定義の重要性を具体例で説明し、成功への鍵を探ります。

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。