oep製品技術資料 - advanced topics
Post on 24-May-2015
778 Views
Preview:
DESCRIPTION
TRANSCRIPT
<Insert Picture Here>
Oracle Complex Event Processing11g
Advanced Topics
日本オラクル株式会社
Fusion Middleware事業統括本部
<Insert Picture Here>
Agenda
• リアルタイムなイベントの可視化• 統合されたHTTP パブリッシュ / サブスクライブ
サーバー
• 並列実行性• チャネル
Copyright© 2012, Oracle. All rights reserved.
• 順序制約
• カートリッジによる拡張性
• ジオストリーミング / ジオフェンシング• Oracle Spatial & Oracle BAM 概要
• Oracle CEP Spatialデータカードリッジによるバスの移動追跡
The Visualization “Push”
Model
Copyright© 2012, Oracle. All rights reserved.
Model
イベントの受信に Bayeux/CometD クライアントを使用
HTTP Pub-Sub
Copyright© 2012, Oracle. All rights reserved.
•イベントをパブリッシュするためにCEPサーバーでHttp Pub/Subチャネルを作成します
•ドメインの”config.xml”を編集して、http pub/subチャネルを追加します
HTTP Pub-Sub
Copyright© 2012, Oracle. All rights reserved.
製品が提供するhttp pub-sub アダプタを使用:
ローカルかリモートのPub/Subサーバーにパブリッシュするかを指定
HTTP Pub-Sub
Copyright© 2012, Oracle. All rights reserved.
利用可能なアダプタの作成を単純化
HTTP Pub-Sub ウィザード
Copyright© 2012, Oracle. All rights reserved.
利用可能なアダプタの作成を単純化
HTTP Pub-Sub ウィザード
Copyright© 2012, Oracle. All rights reserved.
利用可能なアダプタの作成を単純化
HTTP Pub-Sub ウィザード
Copyright© 2012, Oracle. All rights reserved.
利用可能なアダプタの作成を単純化
HTTP Pub-Sub ウィザード
Copyright© 2012, Oracle. All rights reserved.
HTTP Pub/Sub チャネルのテスト
HTTP Pub-Sub ウィザード
Copyright© 2012, Oracle. All rights reserved.
HelloWorldアプリケーションの視覚拡張
Http pub/Supアダプタのアダプタのアダプタのアダプタの 追追追追
加加加加
Copyright© 2012, Oracle. All rights reserved.
同時並行処理
Copyright© 2012, Oracle. All rights reserved.
チャネルを使用した並列処理コントロール
• デフォルトの処理モデルでは、送り元のスレッドに依存
• コンテキストスイッチからのレイテンシを最小化
• チャネルは並列処理を管理するメカニズムを提供
• max-size属性でのFIFOバッファの定義
• max-threads 属性でのコンシューマスレッド数の定義
producer consumer
T
Copyright© 2012, Oracle. All rights reserved.
producer consumer
T Tmax-size=2048
producer consumer
T
T
Tmax-size=2048
max-threads=2
イベントの順序は非決定性
順序付けの制約(デフォルト, 通常の振る舞い)
adapter beanCQLchannel
同期化
Copyright© 2012, Oracle. All rights reserved.
max-threads=3
順序制約の緩和
• 新しい制約をクエリーに定義:• unordered
• partition-ordered
• アプリケーションが処理する”制約”をユーザーが定義することができる
Copyright© 2012, Oracle. All rights reserved.
ことができる
• CQLプロセッサはユーザーの"制約"を考慮し、適切に問い合わせを実行する
Unordered制約
adapter beanCQLchannel
並列に実行できるクエリー(例えば、”filter”のようなステートレスな演算子)に適用できる,
Copyright© 2012, Oracle. All rights reserved.
max-threads=3マルチスレッドであることを意識する必要がある
Partition-ordered 制約
adapter beanCQLchannel
Copyright© 2012, Oracle. All rights reserved.
理論上、ソースはパーティション毎に同じスレッドを使用しなけ
ればならない
Partition-ordered 制約
adapter beanCQLchannel
Copyright© 2012, Oracle. All rights reserved.
さもなければ、競合が発生し、結果は非決定的になる場合がある
データ・カートリッジによるCQLの拡張
Copyright© 2012, Oracle. All rights reserved.
よるCQLの拡張
拡張性の必要性は?
Programming-in-the-small
• リアルタイムのイベントニュースに証券価格変動を関連付ける
Copyright© 2012, Oracle. All rights reserved.
Programming-in-the-small
SELECT *
FROM
Oracle CQL
Processor
Copyright© 2012, Oracle. All rights reserved.
FROM
news [RANGE 1 HOUR],
stock_tick [RANGE 1 HOUR]
WHERE /* 結合条件 */
Programming-in-the-small
• 課題:ニュース フィードは非構造化(文字列)であり、そのイベントの識別は容易ではない• 例:単純な結合条件は、証券コードを探す
• String(文字列)解析の課題は、正規表現を使用することで解決できる
• CQLのようなイベント処理言語に適用することはできるの
Copyright© 2012, Oracle. All rights reserved.
• CQLのようなイベント処理言語に適用することはできるのでしょうか?
Javaにおける正規表現
• Javaを使用した簡単な解決例:
Matcher matcher =
Pattern.compile("[.,; ][A-Z][A-Z][A-Z][.,; ]").matcher(message);
Copyright© 2012, Oracle. All rights reserved.
Pattern.compile("[.,; ][A-Z][A-Z][A-Z][.,; ]").matcher(message);
if (matcher.find())
{
symbol = message.substring(matcher.start() + 1,
matcher.end() - 1));
}
前後を空白によって前後を空白によって前後を空白によって前後を空白によって区切られた区切られた区切られた区切られた3文字の文字の文字の文字の記号にマッチする記号にマッチする記号にマッチする記号にマッチする
CQLとJavaの混合
CREATE VIEW filtered_news(message, matcher) AS
SELECT
message,
Pattern.compile("[.,; ][A-Z][A-Z][A-Z][.,; ]").matcher(message)
FROM news [RANGE 1 HOUR]
SELECT
Copyright© 2012, Oracle. All rights reserved.
location, item_description, message
FROM filtered_news, stock_tick[RANGE 1 HOUR]
WHERE
matcher.find() = true AND
filtered_news.message.substring(matcher.start() + 1,
matcher.end() - 1) = stock_tick.symbol
Java データ・カートリッジ
• Javaクラスのインスタンス化:
• 例: SELECT String(‘foo’) R
• staticメソッドやstaticフィールドの呼び出し• 例: SELECT String.valueOf(10) R
Copyright© 2012, Oracle. All rights reserved.
• 例: SELECT String.valueOf(10) R
• 配列:
• 例: SELECT String(‘foo’).toCharArray()[0]
• スコープ• 全てのクラスがアプリケーションで有効
Java データ・カートリッジ
• CQLのネイティブデータ型への潜在的なキャスト• 例:
R WHERE Integer(1) = 1
R WHERE Integer(1) = Integer(1).intValue()
Copyright© 2012, Oracle. All rights reserved.
CQL 言語拡張ドメイン固有のデータ・カードリッジ
Java
SCALA
Hadoop
Copyright© 2012, Oracle. All rights reserved.
indexing
Spatial
RDBMS
Several patents are pending related to cartridges
リアルタイムな予測解析 とリコメンデーション解析Oracle CEP JDBC データ・カートリッジ
Copyright© 2012, Oracle. All rights reserved.
•リアルタイムなイベントデータのストリーミングとヒストリカルなOracle Data Miningモデルの結合•トレンドやテーマをすぐに予測•ビジネスの脅威を防ぐ/機会を生かす
Intrinsic Dynamic SOA Event Delivery Network Integration (BEAM)
Real Time Predictive Event Analysis Processor
Visual
Management
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
BA BOEING D 77.575 41.575
800
20080305 10:03:02:78
DO DUPONT D 41.575 3000 20080305 10:03:04:12
Customer ID
REAL TIME
Oracle
Data Mining
Tools
リアルタイムな予測解析 とリコメンデーション解析Oracle CEP JDBC データ・カートリッジ
Copyright© 2012, Oracle. All rights reserved.
Java EDA Optimized Container
Efficient Optimized Real Time Event Stream Processing
Deterministic Low Latency Java VM & Memory Grid
Visual
Developer
Tools
ToolsDO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
CAT CATERPILLAR D 22.5 600 20080305 10:03:03:46
DO DUPONT D 41.575 3000 20080305 10:03:04:12
AA ALCOA INC D 20.125 1000 20080305 10:03:01:55
AXP AMER EXPRESS CO D 45.875 500 20080305 10:03:02:10
BA BOEING D 77.575 800 20080305 10:03:02:78
PREDICTION IF HIGH VALUE
CUSTOMER
Visual
Business
Tools
(BAM)
JDBC Cartridge
GeoStreaming /
GeoFencing
Copyright© 2012, Oracle. All rights reserved.
GeoFencing
イベント駆動におけるジオストリーミングとジオフェンシングの利用統合されたEDAとSpatialのプラットフォーム
• Oracle DatabaseとOracle SOA/EDA Suite 技術の組合せ• Oracle Spatial
• ビジネスアプリケーションの位置情報対応
• ベクトルとラスター・データ、トポロジーとネットワークモデルを含むすべての空間データの管理
Copyright© 2012, Oracle. All rights reserved.
ルを含むすべての空間データの管理
• Oracle Complex Event Processing
• Extreme High Volumes / 低レイテンシ
• 継続的なストリーミング
• 異なるイベントソース・シンク
• データ, プロトコル, 技術統合
• イベントのウィンドウ処理
• イベント パターン・マッチング
Oracle Spatial データベース・サービス
Element 0
Element 1 (Hole)
P
1
P
2
P
3
P
4
P
5
P
6P
7
P
8
H
2
H
3
H
4
H
1
ジオメトリ データタイプ
インデックス
ROADS
RNAME ID TYPE LANES GEOMETRY
M40
M25
140
141
HWY
HWY
6
4
Abstract Data Type
Copyright© 2012, Oracle. All rights reserved.
インデックスRtree
問い合わせ/分析Select, join, buffer, within distance,
nearest neighbor, intersection, union,
convex hull, centroid, ...
X Y
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5
アクセス: SQL (Structured Query Language)
Spatial データを使用したリアルタイム処理
Copyright© 2012, Oracle. All rights reserved.
SELECT *
FROM in-channel[now] as S,
SpatialData-Relation as R
WHERE contains@spatial(R.geometry, S.pos, 0d)
= true
SpatialとCQLの組み合わせ
CREATE VIEW CustomerLocation-Stream(point, custId) AS
SELECT createPoint@spatial(lng, lat) as point, custId
FROM Location-Stream
Copyright© 2012, Oracle. All rights reserved.
SELECT loc.custId, shop.id
FROM
CustomerLocation-Stream[NOW] AS loc, Shop as shop
WHERE
contain@spatial(shop.geometry, loc.point, 2.0d)
Oracle CEP Spatial データ・カートリッジバスの移動追跡
EPN
イベントタイプの定義
Copyright© 2012, Oracle. All rights reserved.
バス停留所アラート
CQL – SPATIAL ストリーミングの問い合わせ
Oracle Spatial MAP
オラクルのミドルウェア関連情報
最新情報つぶやき中最新情報つぶやき中
OracleMiddle_jpOracleMiddle_jp
twitter.com/OracleMiddle_jp/
�最新情報最新情報最新情報最新情報
�おすすめ情報おすすめ情報おすすめ情報おすすめ情報
�セミナ情報セミナ情報セミナ情報セミナ情報
などなどなどなどなどなどなどなど
Copyright© 2012, Oracle. All rights reserved. 37
slideshare.net/slideshare.net/OracleMiddleJPOracleMiddleJP
�製品資料製品資料製品資料製品資料
�顧客事例顧客事例顧客事例顧客事例
�ホワイトペーパーホワイトペーパーホワイトペーパーホワイトペーパー
などなどなどなどなどなどなどなど
Copyright© 2012, Oracle. All rights reserved.
■パフォーマンス診断サービス
•Webシステム ボトルネック診断サービス
•データベースパフォーマンス 診断サービス
NEW
■システム構成診断サービス
•Oracle Database構成相談サービス
•サーバー統合支援サービス
•仮想化アセスメントサービス
•メインフレーム資産活用相談サービス
•BI EEアセスメントサービス
•簡易業務診断サービス
■バージョンアップ支援サービス
■移行支援サービス
•SQL Serverからの移行支援サービス
•DB2からの移行支援サービス
•Sybaseからの移行支援サービス
ITプロジェクト全般に渡る無償支援サービス
Oracle Direct Conciergeサービス
Copyright© 2012, Oracle. All rights reserved. 39
オラクル社のエンジニアが 直接ご支援しますお気軽にご活用ください!
オラクル 無償支援 検索
■バージョンアップ支援サービス
•Oracle Databaseバージョンアップ支援サービス
•Weblogic Serverバージョンアップ支援サービス
•Oracle Developer/2000(Froms/Reports)Webアップグレード相談サービス
•MySQLからの移行支援サービス
•Postgre SQLからの移行支援サービス
•Accessからの移行支援サービス
•Oracle Application ServerからWeblogicへ移行支援サービス
NEW
NEW
インストールすることなく、すぐに体験いただけます
製品無償評価サービス提供シナリオ一例
・データベースチューニング
・アプリケーション性能・負荷検証
・無停止アップグレード
・Webシステム障害解析
1日5組限定!
• サービスご提供までの流れ
Copyright© 2012, Oracle. All rights reserved. 40
http://www.oracle.com/jp/direct/services/didemo-195748-ja.html
Web問い合わせフォーム「ダイデモ」をキーワードに検索することで申し込みホームページにアクセスできます
※サービスご提供には事前予約が必要です
• サービスご提供までの流れ
1. お問合せフォームより「製品評価サービス希望」と必要事項を明記し送信下さい
2. 弊社より接続方法手順書およびハンズオン手順書を送付致します
3. 当日は、弊社サーバー環境でインターネット越しに製品を体感頂けます
Oracle Direct 検索
あなたにいちばん近いオラクル
Oracle Directまずはお問合せくださいまずはお問合せください
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
Copyright© 2012, Oracle. All rights reserved.
http://www.oracle.com/jp/direct/inquiry-form-182185-ja.html
Web問い合わせフォーム フリーダイヤル
専用お問い合わせフォームにてご相談内容を承ります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。
0120-155-096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
Copyright© 2012, Oracle. All rights reserved.
top related