ストリームデータ処理

ストリームデータ処理とは?リアルタイムデータ処理で広がるビジネスモデル

インテリジェントモデルが提供する大規模バッチ処理及び超高速開発ツールODIP(オーディップ)」では、ストリームデータ処理の実行環境を包括的に提供しています。

最近よく耳にしますよね、この“ストリームデータ処理”という言葉。

特にビッグデータ時代と言われている現代ビジネスでは、各社ストリームデータ処理技術の導入が課題となっていることも多いでしょう。

リアルタイム処理と同一視されることもあるこのストリームデータ処理ですが、一体どんな技術なのか?
今回はここに焦点を当てて解説していきたいと思います。

そもそもストリームデータとは

一般的にストリームデータの特性として、以下の3つが挙げられます。

  1. 急速にデータが生成され、絶えず流れている
  2. データが無制限に発生し続けている
  3. 時間の経過によりデータ性質・傾向・価値が変動している

つまりストリームデータとは無限に増え続けるデータであり、昨今注目されているビッグデータがまさにそれと言っていいでしょう。

身近なストリームデータ

ストリームデータは何も情報システムだけが触れるようなデータではなく、実は生活の中に溢れています。
最も身近なもので言えばFacebookやTwitterといったSNS(ソーシャルネットワーキングサービス)が代表的です。

例えばTwitterではツイートが毎秒発生し、急速にデータが生成されて、タイムライン上を絶えず流れている状態です。
そしてツイートに限らずフォローやリツイートといったデータなども含め、無制限にデータが発生し続けています。
当然これはTwitterユーザーありきでの話ですが、サービス提供が停止もしくはユーザー数がゼロになるまで無限に発生し続けるでしょう。

また、その時のトピックやニュースによりツイートの性質や傾向が変化していき、さらには古いツイートから順に価値が下がっていくという特性があります。

これらを統合すると、TwitterなどのSNSはまさにストリームデータと言えますね。

ストリームデータ処理はどんなもの?

テクノロジーの進化によって、データの質や重要性は大きく変動しました。
従来の情報システムで取り扱ってきたデータは、顧客データや販売管理などDB(データベース)に格納され固有かつ重要な情報がほとんどです。

しかしビッグデータ活用が提唱されている現在では、前途したストリームデータの重要性が急上昇してます。
先の解説ではTwitterを例に挙げましたが、企業が取り扱うデータと言えばセンサーやRFID(※1)などから送信されてくる流動的なデータです。

例えば何らかの異常を検知するセンサーから送られてくるストリームデータであれば、必ずしも保管が必要なデータではありません。
値が正常であることを確認できればデータの価値はなくなり、迅速な破棄が求めれられます。
簡単に言えば“異常がなかった”というデータをいつまでも保管しておく必要はないということです。

こうしたデータを日次バッチ処理で対応していては、データの価値が下がってしまい有用な情報を引き出すことができません。また、ストレージもあっという間にパンクしてしまいます。

ここで活用するのがストリームデータ処理であり、無限かつ流動的に発生するデータをリアルタイムで処理・破棄を繰り返していきます。
リアルタイムな処理を実現することでデータの鮮度を保ったまま有用な情報を引き出し、意思決定の迅速化を促進します。

※1:RFIDとは「Radio Frequency Identifier」の略であり、無線電波を利用し非接触でIDを読み取る技術。JRスイカが身近な例。

分析シナリオ設定で処理

では具体的にどのように処理していくかというと、予め設定された分析シナリオに従ってストリームデータが処理されていきます。

例えば「センサーから流れてくるデータが閾値(しきいち)を超えている」「間隔を空けずに数回数値の情報が見られる」といった条件に満たした場合アラートさせる、といった具合に分析シナリオを設定します。

ストリーミング処理ではこうしたアルゴリズムに従い、データが条件を満たした際に特定の挙動を行います。

ちなみにこのような複合した条件を設定し、ストリーミング処理を行っていく代表的な技術をCEP(Complex Event Processing:複合イベント処理)といいます。

CQL(Continuous Query Language)

データストリーミング処理の設定(分析シナリオ)は、CQLと呼ばれるクエリ言語で予め指定します。
これはデータベース言語として馴染みのあるSQL(Structured Query Language)を拡張したものであり、汎用的な言語であるためSQLのスキルがあれば難なく記述することが可能です。

ちなみに、CQLでシナリオを定義するために集計・分析用アプリケーションを構築する必要がないので、工数を大幅に削減することができます。

ストリームデータ処理の活用シーン

実際にストリームデータ処理はどのようなシーンで活用されているのか?主な活用シーンを以下にまとめてみました。

証券取引所

ストリーミングデータ処理の代表的な活用シーンとして度々紹介されているのが、証券取引所です。
コンマ数秒単位で変動する株価の情報を更新し、投資家が細かく設定する閾値に対し迅速に取引を遂行するためにはストリームデータ処理が欠かせません。

クレジットカード

クレジットカードの分野では主に不正防止システムに活用されています。
例えば「遠隔地において、直近10分以内にクレジットカードが数回使用されたら異常とみなし、自動的に利用をストップする」といった具体です。

交通状況モニタリング

交通状況や渋滞状況を把握するためには、自動車に導入されたセンサーにより通行時間と位置情報を細かくモニタリングするプローブ技術というものが用いられています。

ここにストリームデータ処理が加わることで、より迅速な分析を可能とし、快適なUX(ユーザーエクスペリエンス)をドライバーに提供可能です。

アクセス解析

Webのアクセス解析に関してもストリームデータ処理を活用することができます。
ユーザーのトラフィックや滞在時間を常時分析し、閾値を超えるとアプローチをかけるといったマーケティングを展開することが可能です。

コンプライアンスチェック

昨今、企業のコンプライアンスは年々強化傾向にあり、内部不正などへの厳しい取り締まりが求められています。
こうした背景から社内ユーザーによって発生する大量のログを迅速に処理する必要があり、ここでもストリームデータ処理が活用されています。

大量なログに対し予め“異常行動シナリオ”を設定しておくことで、システムがこれを検知し素早く管理者へアラートします。
例えばユーザーAが社内端末からログインした5分後に、遠隔地の端末からユーザーAのIDでログインデータがあればIDを停止するといった検知などが可能です。

在庫管理、発注処理

某大手ショッピングモールではストリームデータ処理により在庫管理を行い、在庫数や時間帯に応じて商品の割引率などを変更しています。
また、GPSログデータを処理することで店舗付近にいるユーザーへとクーポンの配布を行うなど幅広い活用を見せています。

なぜストリームデータ処理が求められているのか

ストリームデータ処理が求められている理由は実に様々ですが、最も大きな理由は経営戦略の意思決定迅速化とビッグデータの活用です。

グローバル化が加速し市場競争が激化している中、企業に求められる行動は素早い経営戦略の意思決定です。
そしてこれを実現するために重要なのは“企業内外に蓄積されていく大規模なデータを迅速に分析し、事業に有益な情報を導き出すこと”となります。

従来はバッチ処理やアドホック処理(※2)で対応していたデータ群も、性質の変化とリアルタイム性の重視によりストリームデータ処理でなければデータの価値が下がり、有用な情報を導き出すことが困難になりつつあります。
もちろん、バッチ処理やアドホック処理もデータ分析の上では非常に重要な役割を果たしており、必要性はなくなっていません。

大切なのはデータの種類に合わせて適切な処理方法を選択することです。

そしてこうしたデータ群はいわゆるビッグデータと呼ばれ、今後各企業での活用に注目が集まっています。
つまりストリームデータ処理は今後もニーズが高まっていく技術だと言えますね。

※2:アドホック処理とは、ストレージで管理しているデータをリアルタイムに近い時間で処理していく技術。バッチ処理とストリームデータ処理の中間として位置付けられることもある。

まとめ

いかがでしょうか?今回の解説で、自社におけるストリームデータ処理の活用イメージが湧いた方もいるのではないかと思います。

ストリームデータというものは業界業種を問わず、全ての企業において必ず存在するものです。
それが社内ユーザーのログデータであったりWebサイトのトラフィックであったりと実に様々ですが、ストリームデータ処理で分析することによりビジネスの幅が広がる可能性を多いに秘めています。

ビッグデータ活用が提唱されている現代、皆さんも自社のストリームデータに注目しビジネスに有効活用してみてはいかがでしょうか?

インテリジェントが提供するODIPではGUI採用でノンプログラミングを提供し、自由度の高いストリームデータ処理を実現しています。
また、プログラムの属人化を防止しナレッジ共有を簡素化するベネフィットも提供しているので、現状のデータ処理環境や開発環境の課題を解決する包括的ソリューションです。

ODIP Enterprise Solution

ODIP Enterprise Solution
ODIP(オーディップ)は、複雑な大規模バッチ処理を、簡単なGUIで、いとも簡単に開発します。

コスト増や開発遅延は皆無で、大幅な高生産性、見える化、100%品質維持を実現した革命的ソリューションです。

ダウンロード

ODIP Enterprise Solution
超高速開発の現状と基幹システムへの適用バッチ処理で”突きぬけ”が起きる2つの原因と対策