• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

シェア "以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな"

Copied!
40
0
0

読み込み中.... (全文を見る)

全文

(1)

オラクルコンサルが語る!

(2)

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。

また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは

できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン

ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ

い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい

ては、弊社の裁量により決定されます。

(3)

演者紹介

五十嵐 建平

2007年くらいまではデータベースのコンサルタント

DBマガジンにいくつか特集を執筆

文字化け退治、コネクションプール、SQLチューニング・・・

2008年くらいからミドルウェアのコンサルタント

特にCEP、Coherenceなどを用いて「速い、凄い」

アーキテクチャをたくさん実装している

(4)

Agenda

溢れるイベント

どこに?

何をしたい?

Event Driven Architecture と CEP

EDA

Complex Event Processing

動作デモ:何がいいのか?

すぐに検知しよう!

データベース対CEP

開発デモ:どのように開発したか?

(5)
(6)

29倍の成長

2010年新規デジタルデータ

1,200 Exabytes

2020年新規デジタルデータ

35,000 Exabytes

企業統合、提携、グローバル化

対象ユーザーの増加

スマートフォン、常時接続

利用頻度の拡大

飛躍的に拡大するデジタルデータ

(7)

次世代サービス・プラットフォーム

レスポンスタイム・即時性 同時実効性 接続性(標準データモデル)

Smart Device

/Gateway

Serv

ic

e

Integrati

on

Fast Data

Management

Business Analytic

Big Data

Management

M2M Service Platform Core

Service

Applications

• 情報発生検知 • 情報変化検知 • 情報整形 • 情報送信 • 情報受信/フィルタ • イベント検知 • 各種アクション実行指示 • 統計分析 • 法則/ルールの 発見/取捨選択 •データ集計/マイニング •各種属性情報保存 •法則/ルールの創出 • システム 連携 / アク ショ ン要求 •情報活用 •アクション実行 •プロセス駆動 情報検知・送信 (センサー) 情報受信 フィルタリング リアルタイム 情報ハンドリング 情報整形 情報蓄積 分析 情報活用 アクション実行 大量データ処理 データマイニング アルゴリズム ビジネス・ロジック ビジネス・プロセス 接続性(標準データモデル)

(8)

溢れるイベント

GPS

RFID

カメラ

温度

明るさ

赤外線

カレンダー

映像

医療機器

分類しておきましょう

(9)
(10)

Event Driven Architecture

イベントを適切に扱うためのアーキテクチャ

イベント・ソース

イベント処理ロジック

フィルタリング

アウトプット

イベント・データタイプ

イベント・フォーマット

(11)

イベントの定義

Detectable-condition view

観測可能なものがあるとき、定期的な観測をイベントとする

例) GPSによるトラックの位置、温度センサー

State-change view – 状態の変化

状態の変化をイベントとする

例) 明るさセンサーによる照明のON/OFF検知、ログイン状態

応用例) 体温計による測定で37℃を越えた(微熱発生イベント)

Happening view – 出来事

何かが発生した際の、発生そのものをイベントとする

例) 家を買う、飛行機の着陸、DDDのセミナー

(12)

期間とイベント

State-changeイベントは、期間を計測可能

例) ログイン状態の開始から、ログアウト状態に遷移するまでの

時間が、ログイン期間

殆どのHappeningイベントは期間を計測可能

例) 3ヶ月で家を買った、100年戦争

Detectable-conditionイベントは期間を計測不可

P(X,Y) = (30, 34)、(31, 25)のような取得値であり、ある一点の時刻

のみを表すため。

(13)

イベントに含まれる属性

イベントタイプを表すタグ

例) オーダーイベント、 RFID読み取り、 住所変更

固有の識別子

タイムスタンプ

イベントの期間(開始時刻~終了時刻)

イベント生成者の、名前、アドレス、識別子

イベントの優先度

その他の値

例) 車の位置、株価

元となるイベント・オブジェクトの識別子

元となるイベント・オブジェクトのコピー

(14)

イベント・ガイドライン

イベント・オブジェクトの個数に上限はない

イベント・オブジェクトは、オブジェクト指向でいうオブジェ

クトとは異なる。

変化がなくてもイベントとなり得る。

何かのアクションを観測するまで、状態変化を表すデータ

はイベント・オブジェクトとして構成されない。

(15)

EDA 5原則

現在のイベントをレポートする。

プッシュでデータを送る(not pull)

瞬時にレスポンスする

一方通行のデータ通信

コマンドフリー

(16)

イベント階層とComplex Event

CEPの基本となる考えは”点を繋げる”

CEPシステムは、ベースとなるイベントを元に複雑なイベ

ント(Complex Events)を作成

36℃

37℃

37℃

38℃

38℃

37℃

36℃

平熱

微熱

高熱

微熱

平熱

熱風邪

病み上がり

Simple Events

Complex Events (low)

(17)

CEPソフトウェアの役割

フィルタリング

合計、平均、個数、ソート等の処理

フォーマットの変換

他の情報源(DB等)から得られた情報の付加

イベントの分割配送

ある一つのイベントAをイベントA1、A2と分け別々の宛先に送信

イベント・パターンの検出

より複雑な(Complex)イベントへ変換し

「意味」を付加して出力する

(18)

イベント処理のための問い合わせ言語

CQL (Continuous Query Language)

時系列での集計を可能にするためのQL

瞬間的な情報ではなく、特定の”期間”をトレースし、情報の意味

を特定する

時間感覚を”ウィンドウ”として表現する

判断遅延を防ぐために、すべてメモリ上で処理を行う

例: Wパターンを利用した設備保全

X

Y

W

Z

(19)

Data Grid

Oracle CEP

Data Grid

イベントソースから収集

DBテーブル

Coherence

アダプタ経由

ルールに基づく判定

フィルタ、集約

CQLによる記述

イベント判定の

チェイン構造化も可

アクション

任意のアクション

- メール通知、 BAM配信

- データグリッド経由で

パラレル処理

1枚で表現すると・・・

(20)
(21)

素朴な疑問

(22)

シナリオ

近くの上顧客にクーポン配布

やりたいこと:お店の近くを通ろうとした人を検知したら、ここ5秒間

で通った人の中で最も高いポイントを持っているかをチェック。該

当し、かつその前の5秒間での平均値を上回っているのであれば

即座に半額クーポンを送る

都合上すごく交通量が多くなる可能性があるということにする。

順番によってクーポン量が変わるがタイミングが大切!

気にしない

100

10

15

(23)

SQL

通過時更新

INSERT INTO T_INFO (ID, point, tstamp) VALUES (<ID>, <所持ポイント>, SYSTIMESTAMP);

COMMIT;

通過時評価(トリガーで処理)

SELECT * FROM (

SELECT ID, tstamp FROM T_INFO

WHERE point = (

SELECT MAX(point)

FROM T_INFO

WHERE tstamp BETWEEN (SYSTIMESTAMP-5/60/60/24) AND SYSTIMESTAMP

AND point >= (

SELECT AVG(point)

FROM T_INFO

WHERE tstamp BETWEEN (SYSTIMESTAMP-10/60/60/24) AND SYSTIMESTAMP

)) ORDER BY tstamp DESC)

WHERE tstamp = (select max(tstamp) from t_info)

(24)

実行!

秒間700人程度でgive up。検知しても5秒前のものだったり・・・

0

1000

2000

3000

4000

5000

6000

80

ms

(25)

そもそも・・・

スループットが間に合っていませんでした・・・

右肩上がりのグラフが期待するところ

0

50

100

150

200

250

80 128176224272320368416464512560608656704752800848896

DB

投入スループット

Throughput

(26)

CEP

(27)

比較

CEP悪化せず

0

1000

2000

3000

4000

5000

6000

16

64

112

160

208

256

304

352

400

448

496

544

592

640

688

736

784

832

880

928

DBとCEPの遅延時間比較

CEP

DB

投入スループット

ms

(28)

CEP部分を拡大

スループットに影響せず、1msの壁をも下回る

0

0.5

1

1.5

2

DBとCEPの遅延時間比較

ms

(29)

スループット比較

CEPはきちんと右肩上がり

0

200

400

600

800

1000

16

64

112

160

208

256

304

352

400

448

496

544

592

640

688

736

784

832

880

928

CEP

DB

投入スループット

(30)

開発デモ

実際の開発をお見せします

時間の関係上ソースコードはコピーしていきます

ちなみに、DB版の方がずっと時間かけています

EPN開発 <アダプタ – イベント・ビーン – プロセッサ>

CQL記述 <プロセッサ>

<avgpoints>

select avg(point) as avgp from helloworldInputChannel

[Range 10 seconds]

<maxpoints>

select max(point) as maxp from helloworldInputChannel

[Range 5 seconds]

select h.id, h.point, h.tstamp

(31)

開発デモ2 - Visualizer

動かしながら状況を確認できます。

流量

レスポンス

(32)

なぜ速いのか?

Database

テーブルへのストア & スキャン

SQLはテーブルや索引へのアクセス/スキャンにコンパイルされる

(実行計画)

入れたデータはDELETEしてあげる必要がある

CEP

キューへのストア&フォワード

CQLはキューの定義とライフサイクルにコンパイルされる

キューからのデキューは自動的に管理される(DELETEは不要)

今回のケースでは10秒を過ぎたデータは自動的に破棄されて

いる

(33)

開発してみましょう

OTN Downloads

http://www.oracle.com/technetwork/jp/middleware/event-driven-architecture/downloads/index.html

日本語マニュアル(R11.1.1.4)

http://download.oracle.com/docs/cd/E23549_01/nav/portal_book

(34)

http://blogs.oracle.com/oracle4engineer/entry/otn_ondemand_questionnaire

OTNオンデマンド 感想

OTNセミナーオンデマンド

コンテンツに対する

ご意見・ご感想を是非お寄せください。

上記に簡単なアンケート入力フォームをご用意しております。

セミナー講師/資料作成者にフィードバックし、

コンテンツのより一層の改善に役立てさせていただきます。

是非ご協力をよろしくお願いいたします。

(35)

OTNセミナーオンデマンド

日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロードサイト

掲載コンテンツカテゴリ(一部抜粋) Database 基礎 Database 現場テクニック Database スペシャリストが語る Java WebLogic Server/アプリケーション・グリッド EPM/BI 技術情報 サーバー ストレージ

例えばこんな使い方

製品概要を効率的につかむ

基礎を体系的に学ぶ/学ばせる

時間や場所を選ばず(オンデマンド)に受講

スマートフォンで通勤中にも受講可能

100以上のコンテンツをログイン不要でダウンロードし放題

データベースからハードウェアまで充実のラインナップ

毎月、旬なトピックの新作コンテンツが続々登場

OTNオンデマンド

コンテンツ一覧

はこちら

http://www.oracle.com/technetwork/jp/ondemand/index.html

新作&おすすめコンテンツ情報

はこちら

http://oracletech.jp/seminar/recommended/000073.html

毎月チェック!

(36)

オラクルエンジニア通信

オラクル製品に関わるエンジニアの方のための技術情報サイト

技術コラム

アクセス

ランキング

特集テーマ

Pick UP

技術資料

性能管理やチューニングな

ど月間テーマを掘り下げて

詳細にご説明

インストールガイド・設定チ

ュートリアルetc. 欲しい資

料への最短ルート

他のエンジニアは何を見て

いるのか?人気資料のラン

キングは毎月更新

SQLスクリプト、索引メンテ

ナンスetc. 当たり前の運用

/機能が見違える!?

(37)

oracle

tech.jp

ITエンジニアの皆様に向けて旬な情報を楽しくお届け

oracletech

Viva!

Developer

セミナー

スキルアップ

製品/技術

情報

ORACLE MASTER!

試験頻出分野の模擬問

題と解説を好評連載中

Oracle Databaseっていく

ら?オプション機能も見積

れる簡単ツールが大活躍

基礎から最新技術まで

お勧めセミナーで自分にあ

った学習方法が見つかる

全国で活躍しているエンジ

ニアにスポットライト。きらり

と輝くスキルと視点を盗もう

http://oracletech.jp/

(38)

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

Oracle

Direct

まずはお問合せください

Web問い合わせフォーム

フリーダイヤル

0120-155-096

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

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

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

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

Oracle Direct

(39)
(40)

参照

関連したドキュメント

従って、こ こでは「嬉 しい」と「 楽しい」の 間にも差が あると考え られる。こ のような差 は語を区別 するために 決しておざ

前章 / 節からの流れで、計算可能な関数のもつ性質を抽象的に捉えることから始めよう。話を 単純にするために、以下では次のような型のプログラム を考える。 は部分関数 (

それゆえ、この条件下では光学的性質はもっぱら媒質の誘電率で決まる。ここではこのよ

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

点から見たときに、 債務者に、 複数債権者の有する債権額を考慮することなく弁済することを可能にしているものとしては、

弊社または関係会社は本製品および関連情報につき、明示または黙示を問わず、いかなる権利を許諾するものでもなく、またそれらの市場適応性

本文書の目的は、 Allbirds の製品におけるカーボンフットプリントの計算方法、前提条件、デー タソース、および今後の改善点の概要を提供し、より詳細な情報を共有することです。

Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google