Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
<Insert Picture Here>
Oracle Direct Seminar
DBエンジニアに贈るイベントドリブンアーキテクチャとCEP
日本オラクル株式会社 フュージョンテクノロジー部 五十嵐建平
Copyright© 2011, Oracle. All rights reserved.
自己紹介
• コンサルティングサービス統括テクノロジーソリューションコンサルティング統括本部ミドルウェアソリューションコンサルティング本部フュージョンテクノロジー部マネージングプリンシパルコンサルタント
五十嵐建平
• DBコンサルティング MWコンサルティング• 共著「門外不出のOracle現場ワザ」
• 共著「続・門外不出のOracle現場ワザ」
• 特に Oracle Coherence/CEP など次世代ミドルウェアのコンサルティング
2
Copyright© 2011, Oracle. All rights reserved.
Agenda
• リクエスト・レスポンス・モデル
• アンチパターン
• イベント・ドリブン・アーキテクチャの概要
• EDAとCEPソフトウェア
• スマートな適用領域
3
Copyright© 2011, Oracle. All rights reserved. 4
空気のような存在
リクエスト・レスポンス・モデル
データを扱う処理に着目
Copyright© 2011, Oracle. All rights reserved.
リクエストのレスポンスを得る
• ネットワークを介するソフトウェアと言えば大多数がこれ
5
クライアントやユーザ
サーバ
リクエスト(要求)
レスポンス(応答)
Copyright© 2011, Oracle. All rights reserved.
いろいろなソフトウェア
• Web/APサーバ• Input: HTTP GET/HTTP POST/RMI/・・・
• Output: HTML/Binary/JSON/・・・
• DBサーバ• Input: SQL(Query/DML/DDL)
• Output: Result Set/返値
• FTPサーバ• Input: コマンド
• Output: 返値/データ/・・・
・・・
6
クライアントやユーザ
サーバ
リクエスト(要求)
レスポンス(応答)
Copyright© 2011, Oracle. All rights reserved.
レスポンスを返すために(参照)
• 「データ」を取り出し、何らかの加工を施し、返す
7
レスポンス
加工
データ
取り出し
WHERE句のフィルタ索引の活用
結合や演算など
リクエスト
Copyright© 2011, Oracle. All rights reserved.
レスポンスを返すために(更新)
• データに追加するか更新/削除を施し、確定させる
8
レスポンス
確定
データ
コミットや
レプリケーションなど
リクエスト追加または更新/削除
Copyright© 2011, Oracle. All rights reserved. 9
できないこと
アンチ・パターン
無理していること
Copyright© 2011, Oracle. All rights reserved. 10
変化への反応
Copyright© 2011, Oracle. All rights reserved.
獲得
データ変化への反応
• リクエストがない状態でもデータは変化する• 在庫/価格/通信/購買/位置/録画/録音/閲覧
• 変化を受け入れること
• 変化に反応すること
• 変化を知ること
11
データ
反応
Copyright© 2011, Oracle. All rights reserved.
良いパターン
• データが変化しないか変化が緩やか(例:人事情報)
• データベース
• DBで間に合わずともキャッシュ
• 参照リクエストが激しいが変化とは若干の非同期が許容される(例:Webベースの在庫「表示」)• キャッシュの活用
• 反応をバッチ処理でカバー(例:数分毎の反応)
• H/Wなどインフラアーキテクチャの高速化
12
Copyright© 2011, Oracle. All rights reserved.
難しいパターン
• 変化に対する数ms、数秒での確実な反応(例:緊急地震速報)
• 変化をリクエストとして捉える必要がある
• 変化の粒度が小さく、かつ、大量(例:レーダー)
• 1行コミットとの闘い
13
Copyright© 2011, Oracle. All rights reserved.
2種類のデータ
• データは「すぐにRDBMSへ永続化されるべき」であるという錯覚
14
すぐにRDBMSへ
在庫/注文/契約・・・
「ビジネス・データ」
その他のデータ
ログ/価格の変化/位置の変化・・・
「イベント」
今の時代、こちらの
データの方が多い
Copyright© 2011, Oracle. All rights reserved.
変化への反応とは
• 変化への反応をするために
永続化後に反応をする必要があるのか?
•「NO」
• 反応してから永続化、または永続化しないことで十分
15
Copyright© 2011, Oracle. All rights reserved.
時間の概念
• 変化とは時間の概念が欠かせない
• 例えば今から3秒以内の平均値とそれ以前も含めた3秒間の平均値が離れている時に反応したい、それはSQLでできるか?
• 「YES・・・でも遅い」
• プログラムを書けば、速くできるだろう
• 作れということか?
16
Copyright© 2011, Oracle. All rights reserved.
問い合わせ言語の限界
• SQLでの時間問い合わせ• 時間データへの索引
• 索引スキャンの後の計算
• スコープから外れたデータの削除
SELECT “ALERT!” FROM (
SELECT AVG(val) avgA, MAX(val) maxA FROM tab
WHERE time between systimestamp – 3sec and systimestamp
) A, (…) B
WHERE A.avgA – B.avgB > 10;
17
対象をスキャン
本当の「今」
Copyright© 2011, Oracle. All rights reserved.
簡単な質問
• 秒間100000件の変化が到着するとしよう
• 前ページのスキャンで5ms以内の変化への反応が可能であろうか????• 変化が到着する度にSQLを実行 1/100000秒 = 0.01ms以内
• 1ms間隔でSQLを実行 4ms以内、かつ4多重実行なら何とか
18
無理が重なっていく
Copyright© 2011, Oracle. All rights reserved. 19
新しい存在
イベント・ドリブン・アーキテクチャ
何が違う?
Copyright© 2011, Oracle. All rights reserved.
イベント・ドリブン
• リクエストではなく、イベントに反応することに特化する
• GUIはイベント・ドリブンの代表的な実装• Windows/MaxOS/iOS/Android/Swing・・・
• 少ないイベント(操作)に反応することに最適化
• エンタープライズのためのイベント・ドリブン• 大量のイベントに反応、または処理することに最適化
20
Copyright© 2011, Oracle. All rights reserved.
Event Driven Architecture
(Event Processing Architecture)
21
Event Processing Network (EPN)
Producer
(Adapter)
Consumer
(Adapter)
Producer
(Processor)
Channel Channel
Channel
Consumer
(Adapter)
Copyright© 2011, Oracle. All rights reserved.
イベントの種類
• 絶え間ない状態の変化• 温度センサーの状況が絶え間なく送られてくる
• 事件• 明るさ変化センサーが反応してデータが送られてくる
• 観察結果• 1時間毎に全員の無線に連絡を送り、返事があるかを確認する
22
Copyright© 2011, Oracle. All rights reserved.
イベントとリレーション
• イベントは時系列に投入される• E1, E2, E3, E4 ….
• リレーションはイベントが参照する非時系列で静的なデータ• 位置センサーイベントと結合する地図マスタ
23
evevevev
evev ev
ev evev
ev
リレーション
Copyright© 2011, Oracle. All rights reserved.
チャネルとプロセッサ(プロデューサ)
• イベントに最適化されたキューとその処理を定義するもの
24
チャネル プロセッサ
内部は
キュー
キューキュー
キュー
キュー
こんな感じで定義されているかもしれない
Copyright© 2011, Oracle. All rights reserved.
Continuous Query Language (CQL)
• プロセッサで定義する問い合わせ言語• SQLの拡張として定義している
• EDAの実装が解釈して最適な「実装」にしてくれる
• 例 Select new alert-event from
(select avg(value) avgA from channelA [range 3sec]) A,
(select avg(value) avgB from channelA [range 6sec]) B,
where abs(A.avgA – B.avgB) > 10
25
3秒平均計算
キューev 6秒平均計算
アラート判定スキャン必要なし
キュー キュー
Copyright© 2011, Oracle. All rights reserved.
Adapter (Consumer)
• 外部との入出力インターフェイス• UDPやTCPでの送受信
• 別のEPNとの送受信
• ファイルの読み書き
26
Copyright© 2011, Oracle. All rights reserved.
Event Processing Network (EPN)
• イベントがどう流れてどう処理されるのかを定義したもの
27
Event Processing Network (EPN)
Producer
(Adapter)
Consumer
(Adapter)
Producer
(Processor)
Channel Channel
Channel
Consumer
(Adapter)
Copyright© 2011, Oracle. All rights reserved. 28
実装
EDAとCEP
オラクルのアプローチとは
Copyright© 2011, Oracle. All rights reserved.
Complex Event Processing (CEP)
• EDAによるイベント処理体系 Complex Event Processing
• CEP製品によってEDAが実現でき、大量イベントを高スループット、低レイテンシで扱えるソフトウェアが容易に構築可能となる
• オラクルのCEP製品 Oracle Complex Event Processing
• http://www.oracle.com/technetwork/middleware/complex-event-
processing/overview/index.html
29
Copyright© 2011, Oracle. All rights reserved.
Oracle Complex Event Processing 特徴
• Pure Java
• Weblogic Serverのノウハウを使用
• JRockitを使い尽くした高スループット
• JRockit realtime の使用でさらに安定したレスポンスを確保
• Oracle Coherenceとの高い親和性• リレーション・データとしてシームレスに使用可能
• CQLにCoherence Cacheとの結合を組み込める
• キャッシュへの格納実装を最適化
• 柔軟な高可用性モデル• Coherenceを利用した性能劣化の少ない複数の高可用性モデル
• Oracle Spartialとの結合モデル
30
Copyright© 2011, Oracle. All rights reserved.
Oracle CEP リポジトリ
• 製品ページ (OTN)
• http://www.oracle.com/technetwork/jp/middleware/complex-event-
processing/overview/index.html
• マニュアル (日本語 R11.1.1 CEP入門のみ)
• http://download.oracle.com/docs/cd/E16340_01/soa.htm
• ブログ (英語)
• http://blogs.oracle.com/CEP/
• マニュアル (日本語 R10.3)
• http://otndnld.oracle.co.jp/document/products/wlevs/docs30/index.html
• マニュアル (英語 R11.1.1.4)
• http://download.oracle.com/docs/cd/E17904_01/soa.htm#ocep
31
Copyright© 2011, Oracle. All rights reserved.
リクエスト・レスポンス・モデルとの開発者視点での違い
• 高スループットのスレッド・アーキテクチャを任せられる• CEPエンジンがスレッドを調整する
• EPNの定義でスレッド・プールのサイズや境界線が変わる
• 時系列を扱う設計や実装をCQLで宣言できる• しかもCEP製品の力を使えば、稼働中に動的にCQLを変更して動作を変更させることもできる取引条件を高い頻度で変えたい場合などに実際に必要とされる
• 開発者はイベントに対するビジネスロジックに注力できる
32
Copyright© 2011, Oracle. All rights reserved. 33
事例
スマートな適用領域
広がるEDA
Copyright© 2011, Oracle. All rights reserved.
センサ・ネットワーク
• 家電センサ不審挙動判定
• レーダー不審オブジェクト特定
• トラック・センサ不審な開け閉め
• GPSセンサ急な変動への対処
• スマート・グリッド大量アラートの集約• http://www.oracle.com/technetwork/middleware/complex-
event-processing/overview/ocepcustomerprofileenernoc-
323530.pdf
34
Copyright© 2011, Oracle. All rights reserved.
金融・アクティビティ
• 株価/為替の変動自動発注
• クレジット・カードの使用ログ不正使用判定
• 防犯カメラ映像警報
• 位置情報 リアルタイム・マーケティング• http://www.oracle.com/technetwork/middleware/complex-
event-processing/overview/ocepcustomerprofileturkcell-
323533.pdf
35
Copyright© 2011, Oracle. All rights reserved.
まとめ (問答)
• 「そのシステムはEDAを知らないがために、何かを諦めてしまっていないのだろうか?」
• 「数秒に1回状態を確認するバッチ処理が大量に存在する状態は、EDAにすべきなんじゃないだろうか?」
• 「スループットを出すために、こんなに作り込みがあって、しかも後から変えるなんて到底無理なのが、もしかしたらCEPで世界が変わるんじゃなかろうか?」
36
Copyright© 2011, Oracle. All rights reserved. 37
皆様の
発想の転換の武器
になれば幸いです
Copyright© 2011, Oracle. All rights reserved. 38
OTN×ダイセミ でスキルアップ!!
※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。
Oracle Technology Network(OTN)を御活用下さい。
・一般的な技術問題解決方法などを知りたい!・セミナ資料など技術コンテンツがほしい!
一般的技術問題解決にはOTN掲示版の
「他のミドルウェア製品」をご活用ください
http://forums.oracle.com/forums/forum.jspa?forumID=1346
過去のセミナ資料、動画コンテンツはOTNの
「OTNセミナー オンデマンド コンテンツ」へ
http://www.oracle.com/technetwork/jp/ondemand/index.html
※ダイセミ事務局にダイセミ資料を請求頂いても、お受けできない可能性がございますので予めご了承ください。ダイセミ資料はOTNコンテンツ オン デマンドか、セミナ実施時間内にダウンロード頂くようお願い致します。
Copyright© 2011, Oracle. All rights reserved.Copyright © Oracle, 2010. All rights reserved.
日本オラクル株式会社
オラクル コンサルティング概要
設立:1996年
売上:35億ドル(2008年5月期)
コンサルタント数:11000名 145カ国
実績: 常時2500以上の稼動中プロジェクト
20以上のService Delivery Center
Oracle Consulting Service(Global)
設立:1997年
売上:112億円(2009年5月期)
コンサルタント数:564名
実績:年間400プロジェクト以上
Global協業:インド(OSSI)含めたオフショア協業、本社協業 等
Oracle Consulting Service Japan(OCSJ)
キーアカウント統括本部
キープロジェクト統括本部
ハイテク・製造・流通・サービスコンサルティング統括本部
アプリケーションソリューションコンサルティング統括本部
金融・通信・公共・公益コンサルティング統括本部
テクノロジーソリューションコンサルティング統括本部
インテグレーテッドソリューション推進統括本部
プロフェッショナルサービス本部
コンサルティングサービス統括
ビジネス環境
ITの世界
Technology Architecture
ビジネスモデル
System Architecture
お客様のビジネスの課題、インダストリー共通の課題をITソリューションにより解決する。
お客様の実装上の課題を製品技術を活用して解決する。
お客様
特定のお客様、特定のインダストリーに特化し、お客様のビジネス上の課題、インダストリー共通の課題をITソリューションを通じて解決するお手伝いをさせて頂くコンサルティング組織
お客様のシステム実装上の課題を製品技術を活用して解決をさせて頂く、オラクル製品のコンサルティング
組織
旧Sun Microsystems 製品のコンサルティングサービスを展開する組織
ビジネス課題 制度対応業務改革
ITサービス ITサービス
製品機能 製品機能
Copyright© 2011, Oracle. All rights reserved. 40
OTNセミナー オンデマンド コンテンツダイセミで実施された技術コンテンツを動画で配信中!!
ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。
※掲載のコンテンツ内容は予告なく変更になる可能性があります。期間限定での配信コンテンツも含まれております。お早めにダウンロード頂くことをお勧めいたします。
最新情報つぶやき中
oracletechnetjp
・人気コンテンツは?
・お勧め情報
・公開予告 など
OTN トップページ http://www.oracle.com/technetwork/jp/index.html
ページ左「基本リンク」>「OTN セミナー オンデマンド」
Copyright© 2011, Oracle. All rights reserved. 41
Oracle エンジニアのための技術情報サイト
オラクルエンジニア通信http://blogs.oracle.com/oracle4engineer/
• 技術資料
• ダイセミの過去資料や製品ホワイトペーパー、スキルアップ資料などを多様な方法で検索できます
• キーワード検索、レベル別、カテゴリ別、製品・機能別
• コラム
• オラクル製品に関する技術コラムを毎週お届けします
• 決してニッチではなく、誰もが明日から使える技術の「あ、そうだったんだ!」をお届けします
オラクルエンジニア通信
最新情報つぶやき中
oracletechnetjp
Copyright© 2011, Oracle. All rights reserved.
Oracle Databaseの価格ご存知ですか?
42
問題:
Oracle Databaseの最小構成はいくらでしょうか?
ヒント:
Oracle Standard Edition Oneを
5Named User Plus(指名ユーザ) というのが最小構成です。
問題:
Real Applications Clusters(RAC) Optionはいくらでしょうか?
ヒント:
RACはOracle Database Enterprise EditionのOptionです。
①
②
答えはこちら↓ ログイン不要の簡単見積もり
ライセンス見積もりヘルプ 検索
Copyright© 2011, Oracle. All rights reserved. 43
■パフォーマンス診断サービス
•Webシステム ボトルネック診断サービス
•データベースパフォーマンス診断サービス
オラクル社のエンジニアが 直接ご支援しますお気軽にご活用ください!
オラクル 無償支援 検索
NEW
■システム構成診断サービス
•Oracle Database構成相談サービス
•サーバー統合支援サービス
•仮想化アセスメントサービス
•メインフレーム資産活用相談サービス
•BI EEアセスメントサービス
•簡易業務診断サービス
■バージョンアップ支援サービス
•Oracle Databaseバージョンアップ支援サービス
•Weblogic Serverバージョンアップ支援サービス
•Oracle Developer/2000(Froms/Reports)
Webアップグレード相談サービス
■移行支援サービス
•SQL Serverからの移行支援サービス
•DB2からの移行支援サービス
•Sybaseからの移行支援サービス
•MySQLからの移行支援サービス
•Postgre SQLからの移行支援サービス
•Accessからの移行支援サービス
•Oracle Application ServerからWeblogicへ移行支援サービス
ITプロジェクト全般に渡る無償支援サービス
Oracle Direct Conciergeサービス
NEW
NEW
Copyright© 2011, Oracle. All rights reserved.
Oracle Enterprise Cloud Summit 開催~クラウド環境のための強固な情報基盤
44
■内 容 基調講演×2、個別セッション×12
■定 員 400名
■対 象CIO、経営企画・情報システム部門マネージャ、開発者・管理者、情報システムアーキテクト
■入 場 料 無料
■主 催 日本オラクル株式会社
ソフトバンクモバイル株式会社取締役専務執行役員兼CISO阿多 親市 様
日本オラクル株式会社常務執行役員 クラウド&EA統括本部長三澤 智光
お申込み >>> http://www.oracle.co.jp/oecs2011/
■基調講演 Roadmap to Cloud
Copyright© 2011, Oracle. All rights reserved. 45
インストールすることなく、すぐに体験いただけます
製品無償評価サービス
http://www.oracle.com/jp/direct/services/didemo-195748-ja.html
Web問い合わせフォーム「ダイデモ」をキーワードに検索することで申し込みホームページにアクセスできます
提供シナリオ一例
・データベースチューニング
・アプリケーション性能・負荷検証
・無停止アップグレード
・Webシステム障害解析
1日5組限定!
※サービスご提供には事前予約が必要です
サービスご提供までの流れ
1. お問合せフォームより「製品評価サービス希望」と必要事項を明記し送信下さい
2. 弊社より接続方法手順書およびハンズオン手順書を送付致します
3. 当日は、弊社サーバー環境でインターネット越しに製品を体感頂けます
Copyright© 2011, Oracle. All rights reserved. 46
https://secure.oracle.co.jp/direct/inquiry-form.php
Oracle Direct 検索
あなたにいちばん近いオラクル
Oracle Directまずはお問合せください
Web問い合わせフォーム フリーダイヤル
専用お問い合わせフォームにてご相談内容を承ります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。
0120-155-096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。