cep(複合イベント処理)製品 - アーキテクチャ

16
<Insert Picture Here> CEP(複合イベント処理)製品 - アーキテクチャ 日本オラクル株式会社 Fusion Middleware事業統拢本部

Upload: oracle-fusion-middleware

Post on 24-May-2015

1.009 views

Category:

Technology


0 download

DESCRIPTION

複合イベント処理システムで必要なこと ■メンテナンス性:継続的な要件の変化に対応しやすい開発基盤が必要 ・多様なオブジェクトの関連付 ⇒ if-elseの連続をハードコード ・遅延の検知が困難 ⇒ e.g.) ポーリングの多用 ⇒ スクラッチ開発ではパターン検知のために複雑なハードコーディングが発生 ■高スループットとリアルタイム性の両立:連続的なデータストリームをリアルタイムに扱えることが重要 ・高度なマルチスレッドプログラミングが必要 ・JEEアプリケーションサーバでは重厚すぎるケースも… 複合イベント処理を実現するには専用の基盤が必要!

TRANSCRIPT

Page 1: CEP(複合イベント処理)製品 - アーキテクチャ

<Insert Picture Here>

CEP(複合イベント処理)製品 - アーキテクチャ

日本オラクル株式会社Fusion Middleware事業統拢本部

Page 2: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved. 3

http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28

Oracle Direct 検索

あなたにいちばん近いオラクル

Oracle Directまずはお問合せください

Web問い合わせフォーム フリーダイヤル

専用お問い合わせフォームにてご相談内容を承ります。

※フォームの入力には、Oracle Direct Seminar申込時と同じログインが必要となります。

※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。

0120-155-096

※月曜~金曜 9:00~12:00、13:00~18:00

(祝日および年末年始除く)

システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。

システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。

Page 4: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

複合イベント処理システムで必要なこと

複合イベント処理を実現するには専用の基盤が必要!

• メンテナンス性• 継続的な要件の変化に対応しやすい開発基盤が必要

• 多様なオブジェクトの関連付 ⇒ if-elseの連続をハードコード

• 遅延の検知が困難 ⇒ e.g.) ポーリングの多用

⇒ スクラッチ開発ではパターン検知のために複雑なハードコーディングが発生

• 高スループットとリアルタイム性の両立• 連続的なデータストリームをリアルタイムに扱えることが重要

• 高度なマルチスレッドプログラミングが必要

• JEEアプリケーションサーバでは重厚すぎるケースも…

4

Page 5: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

Data Grid

Oracle CEPData Grid

イベントソースから収集

• DBテーブル

• Coherence

• アダプタ経由

ルールに基づく判定

• フィルタ、集約

• CQLによる記述

• イベント判定のチェイン構造化も可

アクション

• 任意のアクション- メール通知、 BAM配信- データグリッド経由で

パラレル処理

Complex Event Processingで行う処理

5

Page 6: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

Data Grid

Oracle CEPData Grid

イベントソースから収集

• DBテーブル

• Coherence

• アダプタ経由

ルールに基づく判定

• フィルタ、集約

• CQLによる記述

• イベント判定のチェイン構造化も可

アクション

• 任意のアクション- メール通知、 BAM配信- データグリッド経由で

パラレル処理

6

Event Driven型アーキテクチャを構成するコンポーネント

ルールに基づいたイベントハンドリング

Oracle CEP

データフィード/マスターデータの格納先

Oracle Coherence

ルールベースでのシステム処理実行

OracleSOA

業務ユーザインターフェース

Oracle BAM

Page 7: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

“Situational Awareness”

Ticketing Reservations

bag-tracking

bag-in-container

container-on-plane

Gate OperationsFlight Operations

Baggage Handling

missing-bag

flight-delay

statistics

BAM

flight-open

flight-boarding

flight-closed

flight-push-back

flight-wheels-up

BPM/ BPEL

passenger-on

passenger-off

Dynamic lost-bag rebooking

Oracle CEP

CoherenceJRockit Real Time

CEP

check-in

bag-check

SOA Message

Event

Legend

Service Bus

Edge Device (RFID)

アーキテクチャ例:空港でのLost Baggage管理

7

Page 8: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

Processors

• データストリームに適用するクエリーをセット

Listeners

• Processorにより実行されるトリガーを制御

Events

• Java Bearとして実装される

Enriched Streams

• データストリーム, webサービス, Java, Database

Adaptor

• 外部イベントやデータを処理できるようにJavaオブジェクトに変換する

Oracleの複合イベント処理ソリューションアーキテクチャ

Data/Msg.Feeds Listener/SINK:

User Code(Plain Java)

Data Feed Adapters

ProcessEvents(CEP)

データストリームの入力1,000,000+ メッセージ/秒

継続的なデータストリーム処理

Java言語により処理結果の供給、ビジネス機会の拡大低レイテンシでの処理

Java Application Container

Oracle Complex Event Processing

8

Page 9: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

開発ツールの種類直観的に利用可能な2種類のGUIツールで、開発ライフサイクルをトータルにサポート

項目 Oracle CEP IDE for Eclipse Oracle CEP Visualizer

画面イメージ

実装 Eclipse IDEのプラグイン ブラウザ・ベース (Adobe FlashベースのRIA)

主な対象者 システム開発者向け アルゴリズム開発者、管理者向け

主な作業内容

•開発作業: アダプタ開発、イベント型定義、EPNフロー開発 等

•開発作業: CQLアルゴリズム開発•管理作業: モニタリング、クエリ修正、クエリ停止/再開、シミュレーション等

特長 •Java開発との親和性•Eclipseユーザーが慣れ親しんだ操作性

•インストール丌要のため多ユーザーが利用可能•直観的な操作性•オンライン変更管理、監視

9

Page 10: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

アルゴリズム実装言語 –EPN / CQLCQLとEPNの2階層の組合せにより、アルゴリズムを実装

10

項目 EPN: Event Processing Language CQL: Continuous Query Language

実装イメージ

実装対象 ハイレベルのイベント・フロー 詳細なアルゴリズム・ロジック

実装内容 •イベント・データ型の定義•フィード・ハンドラ、ライン・ハンドラ、ヒストリカル・データ (キャッシュ)、POJO等との連係•処理フローの定義

•イベント・ストリームの定義•タイム・ウィンドウに基づく複雑な演算

特長 •イベント・フローの可視性•Spring Frameworkに準拠

•アルゴリズム・ロジックの可読性•SQL構文に類似

標準仕様への対応

OSGiおよびSpringに基づくモジュラー・アーキテクチャ

ANSI99 SQL拡張 (申請中)

(VWAP計算の例 (前半のみ))

SELECT market.symbol, SUM(market.price * market.quantity) AS n, SUM(market.quantity) AS d

FROM MarketDataEvent market RETAIN ALL EVENTS, …

Page 11: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

CEP

アルゴリズム実装モデル・イメージ可読性/可視性の高いアルゴリズム開発フレームワーク

11

フィード・ハンドラ

銘柄マスタ

注文データ

ウェイブ分割操作

発注

ウェイブ

ウェイブ注文

銘柄銘柄

注文ウェイブウェイブ

ウェイブ

SELECT … SELECT …CQL(アルゴ・ロジック)

EPN(イベント・

フロー)

Coherence(データ・グリッド)

Streaming VWAP計算アルゴリズム

ウェイブ分割アルゴリズム

ウェイブ執行

アルゴリズム

SELECT market.symbol, SUM(market.price * market.quantity) AS n, SUM(market.quantity) AS d

FROM MarketDataEvent market RETAIN ALL EVENTS, …

相場情報相場情報

*上記図はイメージであり、実際の実装手法とは異なる可能性があります

Page 12: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

CEPにおけるイベント処理のタイプ

ルール設定 : CQL(Continuous Query Language) : 例えば…

関心のあるイベントのみを通す

Filtering(フィルタリング)

イベントの合成、加工

Aggregation(合成)

(複数の)イベントからパターンを検出

Correlation(相関)

・災害があった地域に本社を置く企業の株価

・20代前半の女性ユーザーによるアクセス

Oracle

CEP

Examples

Oracle

CEP

・30分毎の株価平均

・時間単位ごとに訪問するユーザーの平均年齢

Examples

Oracle

CEP

・過去の変動パターンに基づく、近い将来の

株価上昇の検知

・位置情報の変化と天候からユーザーニーズを予測

Examples

SELECT A.time, B.time FROM ticker

MATCH_RECOGNIZE(PATTERN (A W+ X+ Y+ Z* B)DEFINE A as A.c1 = A.c1,

W as W.c1< prev(W.c1),X as X.c1 > prev(X.c1),Y as Y.c1 < prev(Y.c1),Z as Z.c1 > prev(Z.c1),B as B.c1 > prev(B.c1) )

•右図のような推移を検知

SELECT SUM(amount) FROM OrderEvent

[RANGE 60 SECONDS,SLIDE 20 SECONDS]

WHERE amount > 2000

• OrderEvent というデータを60秒ぶんウィンドウに保持しながら、amountが2000以上のデータの合計を算出

• 20秒ごとにウィンドウをスライディングさせて結果を再評価

A

WX

Y Z

B

20秒毎に

スライド

20秒毎に

スライド

20秒毎に

スライド

60秒

ぶんの

イベント

12

Page 13: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved. 13

• 幅広い業種にてCEPを利用した新規サービス提供に注目が集まっています

• オラクル社ではワールドワイドの事例において、幅広いインダストリで数百社のお客様にCEP製品をご利用頂いております

• オラクルのCEP製品では、Oracle CoherenceやWebLogic Serverのテクノロジを利用することで、ハイパフォーマンス、高可用性を担保したインフラを提供しています

市況変化の活用

RFIDの浸透

監査、ログ情報

ポイントカードの進化

機密情報

企業情報の肥大化

まとめ

Page 14: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved. 14

http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28

Oracle Direct 検索

あなたにいちばん近いオラクル

Oracle Directまずはお問合せください

Web問い合わせフォーム フリーダイヤル

専用お問い合わせフォームにてご相談内容を承ります。

※フォームの入力には、Oracle Direct Seminar申込時と同じログインが必要となります。

※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。

0120-155-096

※月曜~金曜 9:00~12:00、13:00~18:00

(祝日および年末年始除く)

システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。

システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。

Page 15: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved.

Page 16: CEP(複合イベント処理)製品 - アーキテクチャ

Copyright© 2011, Oracle. All rights reserved. 16