b2_1969IBM Software XCITE Spring 2014

61
© 2014 IBM Corporation 日本アイ・ビー・エム株式会社 ソフトウェア事業本部 鈴木 土屋 B-2IoT時代のビッグデータ分析とは? モノから生まれる超高速・超大量データ の活用方法

description

IBM Software XCITE Spring 2014IBM Software XCITE Spring 2014IBM Software XCITE Spring 2014IBM Software XCITE Spring 2014

Transcript of b2_1969IBM Software XCITE Spring 2014

Page 1: b2_1969IBM Software XCITE Spring 2014

© 2014 IBM Corporation

日本アイ・ビー・エム株式会社 ソフトウェア事業本部

鈴木 徹 土屋 敦

【B-2】

IoT時代のビッグデータ分析とは? モノから生まれる超高速・超大量データの活用方法

Page 2: b2_1969IBM Software XCITE Spring 2014

© 2014 IBM Corporation

日本アイ・ビー・エム株式会社

ソフトウェア事業本部 WebSphere事業部 テクニカル・セールス&ソリューションズ

鈴木 徹

【B-2】 “Internet of Things” モノとモノが繋がるインターネットで広がる “Connected Life”

Page 3: b2_1969IBM Software XCITE Spring 2014

3 © 2014 IBM Corporation

• HTTPはこれまでのデータ伝達をリードしてきました – シンプルな要求/応答型モデル – PC, ラップトップ, タブレット, スマートフォンなどさまざまなデ

バイスで使用可能 – ワイヤレスやM2Mでの通信に最適化されていない – Mobileネットワークでは低速かつ低信頼性が問題に

• MobileやM2Mでは新たな挑戦が表面化しています

– イベント起動型でリアルタイムのモデルが必要とされています – 1 対 多のpublish型での情報伝達 – イベントが発生するタイミングでのlistenが必要 – 小さいパケットのデータを大量・高頻度に送受信 – 装置への接続など低信頼性ネットワークでも 高い信頼性でのプッシュ通知が必要

なぜmobile/machine-to-machineには「メッセージング」か?

Page 4: b2_1969IBM Software XCITE Spring 2014

4 © 2014 IBM Corporation http://www.gsma.com/newsroom/gsma-announces-the-business-impact-of-connected-devices-could-be-worth-us4-5-trillion-in-2020/

“Internet of Things” モノのインターネットでの新しい市場の予測 2020年の”Connected Life”ビジネス予測 1.“Connected Car” $6000億ドル 2.遠隔医療モニタリング $3500億ドル 3.住環境支援 $2700億ドル 4.家庭/ビルのセキュリティー $2500億ドル 5.「Pay-as-you-drive」自動車保険$2450億ドル 6.自動車の新しい用途・用法 $2250億ドル 7.スマートメーター $1050億ドル 8.交通制御・管理 $1000億ドル 9.電気自動車の充電・管理 $750億ドル 10.ビルの自動化 $400億ドル

• 「人と人」、「人とモノ」から「モノとモノ」へ

• M2M: Machine-to-Machineのネットワーク

Page 5: b2_1969IBM Software XCITE Spring 2014

5 © 2014 IBM Corporation

3.クルマへ「アンロック」 コマンドが送付され、

クルマがアンロックされる

1. オーナーが 「開錠」キーを押すと

2. Sprintがユーザーを認証し

SPRINT VELOCITY℠

• MessageSightの採用に より、レスポンスタイムが

30秒から→50ミリ秒へ

改善された Connected car

MessageSight お客様事例 - “Sprint Velocity”

Page 6: b2_1969IBM Software XCITE Spring 2014

6 © 2014 IBM Corporation

“Connected Pipeline” – リアルタイムでの制御と保守 • 17,000kmのパイプライン

Pumps Spill location Refineries Pressure Temperature Storage

• 30,000個のセンサーで監視

パイプラインのセンサーにおいて油圧の急減が

検知されたら

数秒で元栓を締める (保守要員の到着を待

つ必要がない)

従来は… • 数分間隔でのポーリング • 要員の派遣により対応

M2Mで送信データを

解析し適切な対応を指示

Page 7: b2_1969IBM Software XCITE Spring 2014

7 © 2014 IBM Corporation

• St. Juda Medical病院では、心臓ペースメーカーを装着されている患者さんの体調を遠隔監視

• M2Mの仕組みにより、体調変化の予兆や来院回数の間隔から早期に異常を検知

source: sjm.com

患者さんの脈拍、心拍数などを病院へ送信

患者さんの状態をほぼリアルタイムで確認

“Connected Patient” – よりよい生活へ

Page 8: b2_1969IBM Software XCITE Spring 2014

8 © 2014 IBM Corporation

顧客からの 株取引要求

• 第三者との接続を必要としない、セキュアで信頼性の高いメッセージ交換 • 最適化されたストリーム・データ(株価, 市場ニュース…) • 高速なレスポンスによる高次元の顧客体験 (準リアルタイムでの情報配信)

モバイル・アプリケーション(個人投資家向けの例)

株価情報

株価情報等を多数の ユーザーへ一斉同報配信

株の売買要求を 高い信頼性で送受信

Page 9: b2_1969IBM Software XCITE Spring 2014

9 © 2014 IBM Corporation

• M2Mのトラフィックに最適化されたMQTTプロトコル • 大量、高速なメッセージングを実現するハブとしてのMessageSight

IBMのメッセージング・テクノロジー

MQTT Client

MQTT Client

MQTT Client

MQTTクライアント メッセージを送受信 するクライアント機能

IBM MessageSight

IBM MessageSight 大量のメッセージング処理に 特化した「メッセージング・ハブ」

M2Mを実現する MQTTプロトコル

MessageSight メッセージング・ハブ

IBM Integration Bus

WebSphere MQ

InfoSphere Streams

IBM Integration Bus 柔軟な連携を実現するESB

WebSphere MQ メッセージングの基盤を提供 豊富なバックエンド・

サーバー機能

Page 10: b2_1969IBM Software XCITE Spring 2014

10 © 2014 IBM Corporation

MQTT: MQ Telemetry Transport 軽量、非同期、双方向、大量処理、m2mプロトコル

Page 11: b2_1969IBM Software XCITE Spring 2014

11 © 2014 IBM Corporation

1. HTTPと比べて圧倒的に軽量なプロトコル • トラフィックが10分の1に ⇒ 10倍のスループット • 電池の消費量が10分の1以下に

2. 非同期、双方向通信: 電話(HTTP)からメール・チャット(MQTT)へ • モバイルでのnativeなpush通知が可能に • Pub/Subによる大量同報通知

3. オープン仕様: ベンダー・ロックインを回避 • 標準化によるデバイス開発コストの削減に寄与 • 通信が切れる事態を想定した機能など

MQTTとは

Page 12: b2_1969IBM Software XCITE Spring 2014

12 © 2014 IBM Corporation

Publish/Subscribe型メッセージ配信 ① サブスクライバーが、受信したいトピックにサブスクライブ(購読)登録 ② パブリッシャーが、トピックに対してパブリッシュ(送信) ③ 該当トピックにサブスクライブ登録しているサブスクライバーにメッセージが配信されます

MQTTサーバー (Pub/Sub ブローカー)

サブスクライバーB2

サブスクライブ(トピックA)

サブスクライバーB1

サブスクライバーA2 サブスクライバーA1

・・

パブリッシャーA サブスクライブ(トピックA)

サブスクライブ(トピックB)

サブスクライブ(トピックB) パブリッシャーB

パブリッシュ トピックA トピックA

トピックA

トピックB

トピックB パブリッシュ トピックB

送信側 受信側 •送信プログラムと受信プログラムが”topic”(トピック)を介して1対Nで通信

サブスクライバーBn サブスクライブ(トピックB) トピックB

非同期、双方向通信を実現するPublish / Subscribe型メッセージ通信

Page 13: b2_1969IBM Software XCITE Spring 2014

13 © 2014 IBM Corporation

接続が切れている間の配信メッセージ – “Clean セッション”

CleanSession = true • サーバーはクライアントを「覚えて」おらず、切断後には新たなCleanSessionが開始されます CleanSession = false • サーバーはクライアントが切断した際にそのクライアントのことを「覚えて」います • サーバーは当該クライアントのsubscriptionに該当するメッセージを保持し、当該クライアントが再接続し

た時点で保持したメッセージを伝達します

MQTT サーバー

(Pub/Sub ブローカー)

Subscription Subscriber 1 Publisher 1

Publisher 2

Publish Topic A Topic A

Publish Topic A

•クライアントが切断された際に、サーバーがそのクライアントを「覚えている」かを指定します

Subscriber 3 Subscription Topic A

Subscriber 2 Subscription

CleanSession = true

CleanSession = false

Topic A

Page 14: b2_1969IBM Software XCITE Spring 2014

14 © 2014 IBM Corporation

最新メッセージを常に保持 – “Retained メッセージ”

• “Retained”の仕組みにより、サーバーは最新(最後)のメッセージを保持します • クライアントが再接続した時点で、 “ retained”メッセージは伝達されます • サーバーはトピック毎に「ひとつだけ」retainedメッセージを保持します • “Retained”メッセージの使用ではpublisherはひとつだけであることが推奨されています • “Retained”メッセージは長さがゼロのメッセージを送付することにより削除されます

MQTT サーバー (Pub/Sub ブローカー)

Subscription Subscriber 1

Publisher Publish Topic A

Topic A

•Publisherはメッセージを送出時に、そのメッセージを”retain”するかを指定します •その後subscribeしたクライアントへ、サーバーからメッセージが伝達されます

Subscriber 3 Subscription Topic A

Subscriber 2 Subscription Topic A

Topic A

Page 15: b2_1969IBM Software XCITE Spring 2014

15 © 2014 IBM Corporation

•予期せずクライアントが切断された場合に、指定したトピックへ自動的にメッセージ送信する機能

–ネットワーク断線やデバイスの故障などで、接続が切れた場合に通知メッセージを送信できる –クライアントは事前にLWTメッセージをMQTTサーバーに登録しておく(トピック名、メッセージを指定) –クライアントが切断された場合には、MQTTサーバーが登録されていたLWTメッセージの内容にしたがってメッセージをパブリッシュ –LWTメッセージを受け取ったアプリケーションが適切なアクションを実行可能に

MQTT Server

Subscription Subscriber 1

Subscriber 2 Subscription LWT

接続断を検知して対応 – “Last Will & Testament (LWT)”

Page 16: b2_1969IBM Software XCITE Spring 2014

16 © 2014 IBM Corporation

QoS(Quality of Service) –クライアントの不安定な稼働環境を想定し、クライアント⇔サーバー間のメッセージ送達保証レベルを3段階で指定可能

•QoS = 0 :メッセージは1回のみ送信される (最も速い、障害時には保証されない)

•QoS = 1:メッセージは最低1回は送信先に送られる (重複の可能性あり)

•QoS = 2:メッセージは必ず正確に1回だけ送信先に送られる (もっとも信頼性が高い)

サブスクライブ

サブスクライバー (受信側)

MQTTサーバー (Pub/Subブローカー)

QoS 0/1/2 QoS 0/1/2

PUBLISH QoS 0

PUBLISH QoS 1

PUBACK

PUBLISH QoS 2

PUBREC

PUBREL PUBCOMP

サービスレベルを指定可能 – “Quality of Service”

パブリッシャー (送信側)

パブリッシュ

Page 17: b2_1969IBM Software XCITE Spring 2014

17 © 2014 IBM Corporation

import org.eclipse.paho.client.mqttv3.*; public class MqttPubSync { public static void main(String[] args) { try { MqttClient client = new MqttClient("tcp://localhost:1883", “PubClient001"); MqttConnectOptions conOptions = new MqttConnectOptions(); conOptions.setCleanSession(false); client.connect(); MqttTopic topic = client.getTopic("/MQTT/Examples"); MqttMessage message = new MqttMessage("Hello World!".getBytes()); message.setQos(1); MqttDeliveryToken token = topic.publish(message); token.waitForCompletion(10000); client.disconnect(); } catch (Exception e) { e.printStackTrace(); } }

・・・MQTT用のパッケージ ・・・クライアントの作成 ・・・接続オプションの設定 ・・・クリーン・セッション設定 ・・・接続の実施 ・・・トピックの作成 ・・・メッセージの作成 ・・・QoSの設定 ・・・パブリッシュの実施 ・・・確認応答待ち ・・・接続の切断

※上記は簡略化したコード・イメージであり、稼動を保証するものではありません。

MQTT: シンプルなコードで実装可能

Page 18: b2_1969IBM Software XCITE Spring 2014

18 © 2014 IBM Corporation

• HTTPではリクエストに対するレスポンスとして情報が伝達される(擬似push) – クライアントからの問い合わせが行われるまで、サーバーからの情報が伝達されない

• MQTTでは情報が発生する都度、リアルタイムのpushで情報が伝達される

HTTP MQTT 送信したい 情報が発生

送信したい 情報が発生

問い合わせ(空振り)

問い合わせ 情報が伝達される

遅延 即時にpushで伝達

接続の確立

問い合わせ(空振り)

問い合わせ 情報が伝達される

遅延

送信したい 情報が発生 即時にpushで伝達

送信したい 情報が発生

クライアント

リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT)

Page 19: b2_1969IBM Software XCITE Spring 2014

19 © 2014 IBM Corporation

• クライアントからの問い合わせの頻度を多くすることでHTTPのサーバーからクライアントへの情報伝達での 遅延を小さくすることができる

• 空振りに終わる「問い合わせ」リクエストが頻繁になり、通信コストが増大する HTTP MQTT 送信したい 情報が発生

送信したい 情報が発生

問い合わせ(空振り)

情報が 伝達される

遅延 即時にpushで伝達

接続の確立

送信したい 情報が発生 即時にpushで伝達

送信したい 情報が発生 遅延

問い合わせ(空振り) 問い合わせ

問い合わせ(空振り)

問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ

問い合わせ(空振り) 問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT)

情報が 伝達される

Page 20: b2_1969IBM Software XCITE Spring 2014

20 © 2014 IBM Corporation

• M2Mのトラフィックに最適化されたMQTTプロトコル • 大量、高速なメッセージングを実現するハブとしてのMessageSight

IBMのメッセージング・テクノロジー

MQTT Client

MQTT Client

MQTT Client

MQTTクライアント メッセージを送受信 するクライアント機能

IBM MessageSight

IBM MessageSight 大量のメッセージング処理に 特化した「メッセージング・ハブ」

M2Mを実現する MQTTプロトコル

MessageSight メッセージング・ハブ

IBM Integration Bus

WebSphere MQ

InfoSphere Streams

IBM Integration Bus 柔軟な連携を実現するESB

WebSphere MQ メッセージングの基盤を提供 豊富なバックエンド・

サーバー機能

Page 21: b2_1969IBM Software XCITE Spring 2014

21 © 2014 IBM Corporation

IBM MessageSight M2Mとモバイルのための メッセージング・ゲートウェイ ・アプライアンス

Page 22: b2_1969IBM Software XCITE Spring 2014

22 © 2014 IBM Corporation

• IBM MessageSightはメッセージングに特化したアプライアンスです • お客様のビジネスにおいて、MobileやM2M(machine-to-machine)の爆発的

な増加・進化への対応を実現します • お客様の既存のメッセージング基盤をシンプルかつセキュアに強化し、イン

ターネットへのM2M接続を実現します • リアルタイムの解析処理やイベント処理を可能にします

Introducing IBM MessageSight

Page 23: b2_1969IBM Software XCITE Spring 2014

23 © 2014 IBM Corporation

IBM MessageSight - M2Mに最適なメッセージング・アプライアンス

Massive Scale

Secure and

Reliable Easy

to Use

大量のメッセージング セキュリティーと信頼性 容易な構築と運用

1台あたりの能力 - 同時接続100万台 - 秒間1000万件以上のメッセージ HTTPSとの比較 - 93倍高速 - 1/10の消費電力 - 1/8の帯域使用

DMZに配置できるセキュリティー - 専用ハードウェア、ファームウェア - FIPS 140-2 対応、アクセス制御 信頼性の高い転送 - QoS(Quality of Service)オプション - High Availability 構成可能

構築 - 30分で稼動状態に構成可能 - WebGUIからタスクベースで設定 運用管理 - 自動的なモニターとGUI画面表示 - 最適化された管理機能

Page 24: b2_1969IBM Software XCITE Spring 2014

24 © 2014 IBM Corporation

Firmware

12のネットワークインターフェース 1GbE ポート x 8 管理用ポート x 2 データ処理用ポート x 6 40GbE ポート x 4

構成管理: WebUI or CLI

モニタリングも可能

Page 25: b2_1969IBM Software XCITE Spring 2014

25 © 2014 IBM Corporation

• WebサイトにてIBM MessageSightのパフォーマンス・レポートを公開 http://www-01.ibm.com/support/docview.wss?uid=swg24035590

Key Result • 毎秒40万以上のメッセージを不揮発性メディアにストア • 100万のMQTT v3.1のデバイスが60秒以内に接続 • 35万のMQTT v3.1のアプリケーションから、毎秒1メッセージを処理 • 毎秒1500万のメッセージを大量のアプリケーションにパブリッシュ • 毎秒1万メッセージの処理を平均遅延85マイクロ秒で処理 • 毎秒20万のMQTT QoS0のメッセージをWMQバックエンドに転送

IBM MessageSight パフォーマンスレポート

Page 26: b2_1969IBM Software XCITE Spring 2014

26 © 2014 IBM Corporation

Websocket: AjaxやComet などと違い、 サーバーとクライアント間で、一度接続が確立 すると双方向通信を行うことができる通信規格。 HTML5に追加されている。

• 組込デバイス用のC/Java ライブラリーの提供

• Java EEやESBと連携する ためのJMSサポート

• JavaScript APIによりHTMLベースのアプリケーションでも双方向通信を容易に実現

• シームレスなMQとの連携を サポートするMQ Connectivity機能

• ブラウザ・ベースの管理WebUI

IBM MessageSightの配置と構成

Page 27: b2_1969IBM Software XCITE Spring 2014

27 © 2014 IBM Corporation

Hot applianceとCold applianceのペアにより構成 Hot appliance(Primary) がメッセージを処理 Cold appliance (standby) はHot applianceと同一の

構成 Primaryがダウンした場合に処理を引き継ぐ アプリケーションからはシングル構成の

アプライアンスが再起動したように見える ノード間でのデータの複製は同期的に行われる メッセージと構成情報

ノード間の高速なデータ通信(RoCE) フェールオーバー実施後のデータの再同期中はメッ

セージングが一時的に利用できない

MessageSight 高可用性

Page 28: b2_1969IBM Software XCITE Spring 2014

28 © 2014 IBM Corporation

MessageHubの構成 1.Web UIのメニューより、 「Messaging」 → 「Message Hubs」を選択

2.Message Hubの 追加アイコンをクリック

3.名前と説明を 記入して保存

Page 29: b2_1969IBM Software XCITE Spring 2014

29 © 2014 IBM Corporation

ConnectionPolicyの構成 1.Web UIのメニューより、 「Messaging」→「Message Hubs」を選び、作成した Message Hubの編集アイコンをクリック

2.「Connection Policies」タブを 開き、追加アイコンをクリック

3.必要な項目を記入し、保存

Page 30: b2_1969IBM Software XCITE Spring 2014

30 © 2014 IBM Corporation

MessagingPolicyの構成 1.Message Hubの編集画面より 「Messaging Policies」タブを選択

2.必要な項目を記入し、保存

Page 31: b2_1969IBM Software XCITE Spring 2014

31 © 2014 IBM Corporation

• 以下のサイトから無償ダウンロード可能です – “IBM MessageSight for Developers is here!”

https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/ibm_messagesight_for_developers_is_here?lang=en

• MQTTクライアント: 無償ダウンロード可能です

– 上記の”IBM MessageSight for Developers is here!” サイト内

– MQTT.org – Java版、JavaScript版、C版があります

MessageSight for Developers

Page 32: b2_1969IBM Software XCITE Spring 2014

32 © 2014 IBM Corporation

YouTubeデモ: MessageSight + MQTT

http://www.youtube.com/watch?v=kx6Pg5lqx04

Youtube

Youtube

Page 33: b2_1969IBM Software XCITE Spring 2014

33 © 2014 IBM Corporation

• 「MessageSightアプライアンス」およびWebSphereのM2Mテクノロジーの詳細については弊社営業へご相談ください

“Internet of Things”を実現するWebSphereのメッセージング技術

MQTT Client

MQTT Client

MQTT Client

IBM MessageSight

M2Mを実現する MQTTプロトコル

MessageSight メッセージング・ハブ

IBM Integration Bus

WebSphere MQ Telemetry Service

InfoSphere Streams

豊富なバックエンド・サーバー機能

Page 34: b2_1969IBM Software XCITE Spring 2014

34 © 2014 IBM Corporation

MQTT関連 • MQTT V3.1 Protocol Specification http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html • MQTT.org ホームページ http://mqtt.org/ • Eclipse Paho project ホームページ http://eclipse.org/paho/ • IBM Redbook「Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry」 http://www.redbooks.ibm.com/abstracts/sg248054.html IBM MessageSight関連 • IBM MessageSight パフォーマンスレポート http://www-01.ibm.com/support/docview.wss?uid=swg24035590 マニュアル • IBM MessageSight Information Center(マニュアル) http://pic.dhe.ibm.com/infocenter/ism/v1r0m0/index.jsp • MQTT クライアント プログラミング・リファレンス(マニュアル) http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mm.tc.doc%2Ftc00200_.htm 発表レター • IBM MessageSight発表レター http://www-01.ibm.com/common/ssi/rep_ca/0/760/JAJPJP13-0140/JAJPJP13-0140.PDF • IBM MessageSight V1.1発表レター http://www-01.ibm.com/common/ssi/rep_ca/7/760/JAJPJP13-0637/JAJPJP13-0637.PDF ダウンロード • 「IBM MessageSight for Developers」、Client Packダウンロードページ https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-

607d87787327/entry/download?lang=en developerWorks • MQTT、IBM MessageSightのご紹介 - IBM MessageSight for Developersを使ってMQTTを体験する https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-

607d87787327/ent /do nlo d?l ng en

ご参考リンク

Page 35: b2_1969IBM Software XCITE Spring 2014

35 © 2014 IBM Corporation

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、InfoSphere、Smarter Planetアイコン、WebSphereは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。

Page 36: b2_1969IBM Software XCITE Spring 2014

© 2014 IBM Corporation

日本アイ・ビー・エム株式会社 ソフトウェア事業本部

インフォメーション・マネージメント事業部 ワールドワイド・ビッグデータ・タイガーチーム

テクニカル・リード 土屋 敦

【B-2】

IoT時代のビッグデータ分析とは? モノから生まれる超高速・超大量データの活用方法

Page 37: b2_1969IBM Software XCITE Spring 2014

37 © 2014 IBM Corporation

IBM Watson Foundation

情報統合&ガバナンス基盤

デー

タ活

用/分

析ソ

リュ

ーシ

ョン

ンプ

ット

・デ

ータ

何を すべきか? デシジョン 決定&管理

HADOOP ランディング, 探索、アーカイブ・データ

領域

ODS オペレー

ショナル・データ領域

STREAMS ストリーム・データ処理&分析 何が起きて

いるのか? ディスカバリ

& 探索

なぜ起きたのか? レポート & 分析

何が起こりえるか? 予測分析

& モデリング

DB/DWH ディープ

分析 データ領域

Cognitive Fabric

Predictive

Prescriptive

Descriptive

Discovery

何が起きているのか? ディスカバリ

& 探索

何を すべきか? デシジョン 決定&管理

なぜ起きたのか? レポート & 分析

何が起こりえるか? 予測分析

& モデリング

Analytic Zone

何が起きているのか? ディスカバリ

& 探索

~データを効率的に取り扱う考え方~

Page 38: b2_1969IBM Software XCITE Spring 2014

38 © 2014 IBM Corporation

大量データを 高速に処理

★ストリーム・ コンピューティング

スループット

遅延

時間

/ レ

イテ

ンシ

今まで

大 小

今までのDBや DWH ・マシンのコモディティー化

・オープンソース技術

大量データを ディスク着地前に処理

大量データを ディスク着地後に処理

★分散データ処理 (Hadoop)

★DB/DWHアプライアンス

テクノロジーの位置づけ

何を すべきか?

なぜ起きたのか?

何が 起こりえるか?

何が 起きているのか?

Page 39: b2_1969IBM Software XCITE Spring 2014

39 © 2014 IBM Corporation

ストリーム・コンピューティングとは

• データをキャプチャー、分析、アクションまでの時間を 短縮化・一括ピーク処理ではなく、平準化を実現します。

• ディスクにストアしない連続処理方式により 高速処理を実現します。

Capture Process&Predict Action

Page 40: b2_1969IBM Software XCITE Spring 2014

40 © 2014 IBM Corporation

ストリーム・コンピューティングの歴史

2013 2002 RESEARCH 2010

Research V1.0 V2.0 V3.2 V3.1

• Distillery: 新たなコンピューティング・パラダイム

– 「データの取りこぼし」が、手に負えない状態になるまで着実に増え続けると予想される将来に対応すべく、2001年、米国政府との提携。2003 年に、提案の作成と改良を経て、研究、プロトタイプ作成開始

• System S: リサーチ・ソフトウェア・プロトタイプ

– 米国政府のお客様との緊密な連携の下、2003 年以来、IBM研究所で導入・進化。 – ハイパフォーマンス・コンピューティングの強固な基礎に基づく。IBM研究所による、数百に及ぶ特許および出版物

• InfoSphere Streams: 一般出荷可能なソフトウェア製品 – IBM研究所 と ソフトウェア・チームによる共同製品化を実現 – IBMにおける「大量データ」処理プラットフォームを構成する最重要コンポーネントの1つ

Page 41: b2_1969IBM Software XCITE Spring 2014

41 © 2014 IBM Corporation

データ処理手法の違い ストリーム・コンピューティング

~Current Fact Finding~ 【今の出来事の把握】

Nowcast

一般的なデータ・ストア~Historical Fact Finding~ 【過去の出来事の発見】

■目的 静的な過去のデータをバッチ的に分析し、過去の事実を発見する

■目的 流入するデータをリアルタイム分析し、直近の事実を発見する

(クエリー駆動型) (データ駆動型) (データ・イベント駆動型)

Page 42: b2_1969IBM Software XCITE Spring 2014

42 © 2014 IBM Corporation

ストリーム・コンピューティング

従来のデータ処理との違い 全データに対する一括処理を目的とせず、断続的に流れるデータをインメモリーで加工処理し出力をする一連の流れを最も簡単にモデル化した処理モデルを「ストリーム・コンピューティング」と呼ぶ。

記録データ

処理要求

処理結果 データ

処理

バッチ、OLTP処理

※任意の時間・区間データをメモリー上に保持することができます。

※全てのデータはHDDに 永続化されていることが前提。

PULL PUSH

アクション

Page 43: b2_1969IBM Software XCITE Spring 2014

43 © 2014 IBM Corporation

ストリーム・コンピューティング概要

ロジック

STREAM(経路) ※データの通り道

TUPLE(タプル) ※流れるデータ

Operator(ロジック) ※処理ロジック

SOURCE (キャプチャー)

SINK (アクション&シンク)

Operator (ロジック実行)

検知・ アラート

ルール実行 ODM

リアルタイム 分析・可視化

アクション・ 制御 DB2

Page 44: b2_1969IBM Software XCITE Spring 2014

44 © 2014 IBM Corporation

ストリーム・コンピューティング事例

製造 故障監視、予測 M2Mセンサー 電力監視・管理や 製造のプロセス管理

自然管理システム PM2.5の飛散シミュレーション 防災システム・監視 風力発電システムなど 津波管制など

通信サービス サイバー。・セキュリティー 大量ログ(メディエーション)処理 DPI・ネットワーク監視 ロケーション・ベースのマーケティング

新生児用ICUのモニタリング 伝染病の早期警告システム リモート医療モニタリング・システム 心臓ペースメーカー

金融・株式市場 アルゴリズム取引、指標計算、ルーティング計算 不正利用検知(フラウド) 金融における市場データ分析、高速・高度計算、

不正行為のリアルタイム検出 不正ログイン、ボット、ハッキングの検出

その他 防災・災害管理システム シミュレーション(データ解析) スマート・グリッド(メータ) ソーシャル・メディア分析 GPGPUによるHPC計算 DNAシーケンス解析 高度な数理計算 自動ビッドシステム(入札) ETLやDBバッチ処理の高速化

映像・音声・音波の分析・監視 重要施設の監視

公共・サイバー・セキュリティー

医療とライフサイエンス

交通 インテリジェントな 交通管理・渋滞予測 自動料金システム 管制システム

※この事例の中には研究プロジェクトや検証ユースケースが含まれます。

Page 45: b2_1969IBM Software XCITE Spring 2014

45 © 2014 IBM Corporation

様々な研究機関、アカデミックでの利用 • ICU(集中治療室における)モニタリング, fMRIモニタリング

– UOIT(Canada), UNC (US) , Emory (US), UCLA (US), Columbia (US) • Radio Astronomy/SKA(電波天文観測)

– Uppsala(Sweden), Meerkat (S.Africa), Univ Auckland(New Zealand ) • Synchrotron x-ray (シンクロトロンX線画像)

– U. Western Ontario (Canada) • Co2 モニタリング(二酸化炭素観測)

– U. Alberta (US) • 自然災害(火災)モニタリング

– UMBC (US) • Water Quality (水質観測)

– Beacon Institute (US), Marine Institute of Ireland • Genomics (ゲノミクス解析)

– U. Bern (Swiss) • Social Analytic(ソーシャル・テキスト分析)

– USC (US)

Page 46: b2_1969IBM Software XCITE Spring 2014

46 © 2014 IBM Corporation

多種多様な分析要件に対して、ロジックを実装

データ・マイニング PMMLスコアリング ※製品に含まれます。

テキスト分析 ※一部製品に含まれます。

SPSS連携モジュール モデラーで作成したストリームをCADSのRealtime Scoring経由でオペレータとして実行、もしくはPMMLスコアリングを実装できます。 ※製品に含まれません、連携モジュールはSPSSに含まれます。

• データ・マイニング、時系列分析、ルールエンジン連携、統計解析(SPSS/R連携)、Hadoop連携、ETL連携、メッセージ連携、地理空間計算、テキスト分析、パターン検知を簡易に実現!

SPSS

時系列分析モジュール アノーマリティー(異常検知)&プリディクション(予測分析) ※製品に含まれます。

Rプロジェクト・キット Rスクリプト実行機能 ※製品に含まれます。

ルールエンジン連携モジュール ODMで作成したルールを実行オペレータとして実装。 ※製品に含まれます。ODMは別途必要。

■音声解析 Acoustic (IBM Research/Open Source) ※製品には含まれません

■イメージと動画 Image & Video (Open Source) ※製品には含まれません

■応用数理モデル Advanced Mathemetical Models (IBM Research) ※製品には含まれません。

∑p o p u l a t i o n

tt asR ),(

地理空間キット ※製品に含まれます。

※ツールキットの抜粋(青:製品付属)、および、拡張可能なユースケース(赤:外部ライブラリ)

Page 47: b2_1969IBM Software XCITE Spring 2014

47 © 2014 IBM Corporation

リアルタイム・モニタリング

データ ストア

DBにある 履歴からの BIレポート

ダッシュボードにリアルタイム処理結果を表示、 モニタリング

データ 収集

(MQTT) MessagingSight

Hadoop/DB2/Netezza

Streams

• 情報のリアルタイム可視化 • BIツール連携

• アラートの自動化 • データベースに蓄積されているデータ とリアルタイム・データのハイブリッド KPIを実装することが可能

DB2

Page 48: b2_1969IBM Software XCITE Spring 2014

48 © 2014 IBM Corporation

リアルタイム・アクション

データ ストア

DB2

Database

Streams

ODMRulesetExecutor

※WebSphere Operational Decision Manager 8.5が別途必要になります。

※ルール作成にODM8.5を利用するので、コーディングは必要ありません。

• 情報のリアルタイム可視化だけではなく、 • アクション・ルール実行 • 他シスへの連携 を実装することが可能

MQ/MQTT/JMS…

データ 収集

(MQTT) MessagingSight

Page 49: b2_1969IBM Software XCITE Spring 2014

49 © 2014 IBM Corporation

ロケーション・ベース

MessageSight

Streams

ロケーション・ベースの情報を、 リアルタイム・キャンペーンや 災害対応としてのサービスに

• リアルタイム・メッセージ送信、 行動検知・分析、GeoFencing (特定区域で処理をアラートなど)-配送エリア指定、特定車両、グループに対してのアドホック・メッセージ送信。

地理空間(Geospatial)データの高速分析および処理 地理空間データ型 • 例)ポイント、ライン・ストリング、ポリゴン 地理空間関数群 • 例)地点間距離(distance)、地図ポイント→ライン・ストリング変換(Map

Point to Line String)、包含判定(isContained)、等

ロケーションベース・サービスにおける事例

Page 50: b2_1969IBM Software XCITE Spring 2014

50 © 2014 IBM Corporation

大量データに対しての平準化 • ETL/DBバッチ処理のリアルタイム化

– 従来は、DBに全てのデータを蓄積し、毎週、毎月と全体量に対して、 データ変換・バッチ処理を実施する方式から、データを取得、加工、 バッチ処理を連続的に実行し、結果のみをサマリー表へ書き出す方式に変換。一括処理ではなく処理の平準化を実現

適応前 適応後 効果 42コア (P6) 16コア (x86) 62% 削減 6800万 CDR/hr

5億500万 CDR/hr

740%効率化

データ分析基盤

Func1

Filtering

Filtering

Func2

Func3

Aggre gator

Aggre gator

Func4

Func5

Func6

Func8

Func9

Func7 《月次バッチ処理(ID毎の積算処理など)をDBに格納する前段でプリプロセッサーで処理。計算結果をDBへ格納。月締めのDBバッチ処理は、サマリー表へのバッチを行う》

※DBに対して一度しか実行しないバッチ・SQL処理は、積極的に前段のストリーム・プリプロセッサーに オフロードできる候補です。

バッチのリアルタイム化の事例

Page 51: b2_1969IBM Software XCITE Spring 2014

51 © 2014 IBM Corporation

大量データに対しての平準化による削減効果

• 米国通信事業者におけるケース – 特定シナリオ1: 処理時間50%削減、ブレード台数は、85%削減。

• 処理時間 70分から35分へ短縮 • サーバー台数 80台から12台へ削減

– 特定シナリオ2: 処理時間75%削減、ブレード台数は70%削減。 • 処理時間 70分から17分へ短縮 • サーバー台数 80台から24台へ削減

– 特定シナリオ3:データベース連携時間の削減。 更改前の処理時間 Streams処理時間

マージ処理 1時間20分 7分 ロード処理 1時間35分 7分45秒

Page 52: b2_1969IBM Software XCITE Spring 2014

52 © 2014 IBM Corporation

センサー・データなどの時系列処理

パターンや異常を見つける、将来に取り得る値を順次(リアルタイム)に予測することで素早くアクションにつなげる

時系列分析: 時間軸に沿って常に変化する変数の振る舞いからトレンド等のデータ変動の特徴を捉え、モデル化し、過去データから将来、その変数がとりうる値を予測する →予測したい値を過去のそのデータ自体から予測する 例:気温の変動等、法則性があるデータ(昨日、先月がXXだから、明日、来月はこうなる)

Page 53: b2_1969IBM Software XCITE Spring 2014

53 © 2014 IBM Corporation

時系列データに着目すべく理由

• 時系列分析の対象は「時間に沿って変化するデータ」 • ストリーム処理で時系列分析を行う事により、予期された値からの逸脱を即時検知する事が可能に。

• 時系列変化をリアルタイムに把握する事に価値がある分析ケースに有効。

例) ■株価データ・指数計算・ルーティング処理 ■M2M(センサー)データの処理 ■医療データ(患者の脈拍数、心拍数等)の傾向変化をアラート ■映像・音声・音波のリアルタイム解析(コールセンター、監視カメラ、人数把握) ■交通情報の傾向変化を補足 ■シミュレーションの結果をニアリアルタイムに把握(終了してからではなく) ■HPC領域の高度計算(例えば、GPGPUとの連結、MatLabのライブラリーの実行) ■システム・ステータス(メモリー/CPU使用率)の予期せぬ兆候を補足

Page 54: b2_1969IBM Software XCITE Spring 2014

54 © 2014 IBM Corporation

オンタリオ工科大学 • 技術構成要素: ★ストリーミング分析 (リアルタイム)

InfoSphere Streams データストア(蓄積)、統計解析ソフトウェア(モデル化)

• 目的: – 生命を脅かす状況や、急変の兆候を最大24時間早く検知 – 平均20名以上の異なるソースから、毎秒約1,000以上におよぶ測定値を監視 実証開始時は、2名からスタート、臨床実験での最大監視数は120名、120万測定値/秒、これは約10億レコード/日

• ポイント: データストアに蓄積した膨大な量のデータに対して解析を行い、分析モデルを抽出。そのパターン分析モデルをストリームに環流させることによって、リアルタイム分析、および、長期的なデータ蓄積からの分析モデルの抽出のPDCAサイクルを実装。 医療(センサー)における事例

アラート(警告)

Page 55: b2_1969IBM Software XCITE Spring 2014

55 © 2014 IBM Corporation

SPSSとの連携によるメリット IBM InfoSphere Streams

S

レポジトリー

IBM SPSS Collaboration & Deployment Services

モデル更新

R

変更 通知

ファイル システム

P

IBM SPSS Modeler Solution Publisher

インメモリー処理 ④フィードバック デプロイ

リアルタイムに スコアリングを実施

モデルを 抽出し、 ストリームへ適応

オンライン分析 リアルタイム

デプロイ自動化

蓄積・分析(モデル)

①モデル作成 ②モデル反映

③スコアリング

⑤モデル更新

《アクション》

SPSS

Page 56: b2_1969IBM Software XCITE Spring 2014

56 © 2014 IBM Corporation

スコアリング高速化によるメリット • 3~19倍の秒間処理性能

– 圧倒的なリソース削減(216コア→4コア(1/50) )

モデル・タイプ ストリーム処理性能(秒間) Classification 8,000 – 15,000 Regression 20,000 – 50,000 Clustering 8,000 – 35,000

Source Dummy

PMML Scorer スコアリング・テストグラフ

Processor: Intel Xeon, 4 core@3 GHz, 8 GB Ram Data: Benchmark Data (270 fields, 100000 samples) Models: 20 Models (different types) from Warehouse

Greenplum DWH appliance on 18 node rack, each node 12 cores 2,612 records per second

Page 57: b2_1969IBM Software XCITE Spring 2014

57 © 2014 IBM Corporation

「今」何が起きているのか?

・モニタリング・・定型処理実施 SPSS CADS自動化

分析の自動化

・作成したモデルのリアルタイム化。手組アルゴリズムのリアルタイム化 CADSリアルタイム・スコアリング

リアルタイムな スコアリング&アクション

・分析モデル構築 ・現状把握 Modeler (+データストア)

アドホックな分析

IBM SPSS Modeler Client/Server

IBM SPSS CADS IBM Streams

Puredata system for Analytic/ for Hadoop

CADS Server

Modelerサーバー

Data Store

Step#1 Step#2

・リアルタイム・モニタリング (時間/分/秒単位) ・リアルタイム・データ分析 (精緻化・高速化)

リアルタイムな ストリーミング

Streams

リアルタイムな

スコアリング が可能!!

Modeler クライアント

これからの「一歩」先の分析・スコアリ

ング

Page 58: b2_1969IBM Software XCITE Spring 2014

58 © 2014 IBM Corporation

まとめ

• データをキャプチャー、分析、アクションまでの時間を 短縮化・一括ピーク処理ではなく、平準化を実現します。

• ディスクにストアしない連続処理方式により 高速処理を実現します。

Capture Process&Predict Action

Page 59: b2_1969IBM Software XCITE Spring 2014

59 © 2014 IBM Corporation

ありがとうございました。

InfoSphere Streams

Page 60: b2_1969IBM Software XCITE Spring 2014

60 © 2014 IBM Corporation

Page 61: b2_1969IBM Software XCITE Spring 2014

61 © 2014 IBM Corporation

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、InfoSphere、PureData、Smarter Planetアイコン、SPSS、WebSphereは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。