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

DBA & Developer Day 2016 ダウンロード資料

N/A
N/A
Protected

Academic year: 2021

シェア "DBA & Developer Day 2016 ダウンロード資料"

Copied!
40
0
0

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

全文

(1)

Oracle Database 12c:

データベース・インメモリーの

新機能解説

使いやすさの向上と高速化

日本オラクル株式会社

クラウド・テクノロジー事業統括

Database & Exadataプロダクトマネジメント本部

プリンシパルコンサルタント 井上 克己

(2)

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

のです。また、情報提供を唯一の目的とするものであり、いかなる契約

にも組み込むことはできません。以下の事項は、マテリアルやコード、

機能を提供することをコミットメント(確約)するものではないため、

購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関

して記載されている機能の開発、リリースおよび時期については、弊社

の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

(3)

本日の内容

12c R1での機能およびユースケース

Active Data Guard 対応

構成の多彩化、使いやすさの向上

高速化機能

1

2

3

4

(4)

本日の内容

12c R1での機能およびユースケース

Active Data Guard 対応

構成の多彩化、使いやすさの向上

高速化機能

1

2

3

4

(5)

What is Oracle Database In-Memory?

Breakthrough:

デュアル

フォーマット データベース

一つの表につき 行 および

列フォーマットの

両方

同時にアクティブ、および、

トランザクション一貫性

分析& レポーティングは新

しい in-memory 列フォー

マットを使う

OLTP は実績のある行フォー

マットを使用する

通常の

バッファーキャッシュ

新規

In-Memory

フォーマット

SALES

SALES

Row

Format

Column

Format

(6)

Min 1

Max 3

Min 4

Max 7

Min 8

Max 12

Min 13

Max 15

カラム型表は何故分析用クエリーが高速か?

C1 C2

C3

C4 C5 C6

ポイント

1:

集計に必要なカラムのみ

アクセス+効果的な圧縮技術

により圧縮した状態で検索が

可能

(ディクショナリ圧縮)

ポイント

3:

最新のプロセッサで搭載されて

いる

SIMDにより高速フィルター

ポイント

4:

パラレル・クエリーとパーティション

表によりさらに高速化可能

ポイント

2:

インメモリ・ストレージ索引により

最小限の

IMCUのみスキャン

) where storeid > 8

ジスタ

複数の

データを

ロード

一度の命令で

全ての値を

ベクター演算

CPU

CA

CA

CA

CA

(7)

SPARC M7 CPU ソフトウェア・イン・シリコン

によるインメモリーデータ処理

DAX scan processing in DAX frees most of the cores for

transactional processing

SALES (ディクショナリー圧縮)

DAX

Software

in Silicon

(8)
(9)

Oracle Database In-Memoryの代表的なユースケース

DWH

ETL

データ

マート

ETL

OLTP

DWH

ETL

分析用

DB

基幹系

OLTP

レプリケーション

GoldenGate, 将来はActive DataGuardをサポート)

①既存

DWHをインメモリ化(現在の主流事例)

• 既存

Oracle 11gのDWHを

12cに移行してインメモリ化

• 既存

DWHアプライアンスを

Oracle 12c にリプレース

②既存データマートをインメモリ化

最新の

Exalyticsは

Database In-Memoryを包含

OLTPシステムを直接インメモリ化(統合)

• 分析、レポーティングの

高速化

• ダッシュボード画面の高速化

(経営/業務系)

• リアルタイム分析の促進

④基幹系

OLTPシステムとの分離構成

既存システムを極力変更しない 分析処理を負荷分散

某証券様

某銀行様

AT&T Wifi様

Swiss Mobiliar様

某大手製造業様

某大手製造業様

某大手流通業様

某大手流通業様

(10)

Oracle Database In-Memory活用顧客

BOSCHはCRMの性能を最大20倍に

SAP CRMは意思決定分析を含むOLTPアプリケーション

さらに様々なアドホック・クエリーやレポーティングをサポート

33個のカスタム索引を作成し分析クエリーのパフォーマンスを担保

ただし、CRMトランザクション処理の性能とデータベースサイズには悪影響

Oracle Database 12cへアップグレードし33個のカスタム索引を削除

アドホック・クエリーやレポーティングは2-20倍高速化

OLTPプロセスは2-3倍高速化

アプリケーション変更は必要なかった

(11)

本日の内容

12c R1での機能およびユースケース

Active Data Guard 対応

構成の多彩化、使いやすさの向上

高速化機能

1

2

3

4

(12)

Standby

1 Year

In-Memory

プロダクションDBに何ら影響を

与えることなくリアルタイム分

スタンバイデータベースのリ

ソースを活用

プロダクションDBとは異なる

データをポピュレーション可能

新規の "DISTRIBUTE BY

SERVICE" 句によりどちらに表をポ

ピュレートするか指定する

カラムナー領域のトータルなサイズ

は増える

1 Month

In-Memory

OLTP:

In-Memory on Active Data Guard

(13)

In-Memory on Active Data Guard:

スタンバイのみでIn-Memory

INMEMORY_SIZE

パラメータ

スタンバイ・サイトのみで設定

表にDISTRIBUTE FOR SERVICE句なし

でINMEMORYを設定

分析問合せ

セカンダリ・サイトに接続 & In-Memoryデー

タにアクセス

スタンバイ・サイト

本番サイト

LAN/WAN

LAN/WAN

(14)

IM on Active Data Guard:

サイト間で異なるIn-Memory データ

INMEMORY_SIZE

パラメータ

プライマリ&スタンバイ・サイトの両方で設定

異なる値も可能

全てのオブジェクトに以下を設定

INMEMORY DISTRIBUTE FOR SERVICE

プライマリのサービスを設定

または

スタンバイのサービスを設定

分析問合せ

適切なサービスを指定し接続

スタンバイ・サイト

本番サイト

LAN/WAN

(15)

DISTRIBUTE FOR SERVICE

によりプライマリ、スタンバイ、両

方でメモリーにポピュレーションする

かどうかを指定

スタンバイが複数ある場合、各々

で異なる表をインメモリー化可能

ロールベースサービス使用可能

非Grid Infrastructure環境では

dbms_service.start_service()

使用

Capacity + Availability:

In-Memory on Active Data Guard

ALTER TABLE

SALES

INMEMORY

DISTRIBUTE

FOR SERVICE

A

Primary

Standby

Shipments

In-Memory

Sales

In-Memory

SHIPMENTS

ALTER TABLE

SHIPMENTS

INMEMORY

DISTRIBUTE

FOR SERVICE

B

有効なサービス

:

A

有効なサービス

:

B

srvctl

add

service

-db db_unique_name -service サービス名 [-eval]

-serverpool server_pool [-cardinality {UNIFORM | SINGLETON}]

[-edition edition_name] [-netnum network_number]

(16)

本日の内容

12c R1での機能およびユースケース

Active Data Guard 対応

構成の多彩化、使いやすさの向上

高速化機能

1

2

3

4

(17)

ADO/ILM 対応

Automatic Data Optimization(自動データ最適化)

Information Lifecycle Management(ILM)

(18)

Oracleの考えるILM

真に統合されたデータライフサイクルマネジメントの実現

ディスク

Flash

NVRam

DRam

HD

FS

O

rac

le

D

at

ab

as

e

”ホット”化したデータを

高速レイヤーに移動

”コールド”なデータを低

コストレイヤーに移動

圧縮レベル変更

ホットなデータを

メモリーにポピュレー

ション

ディスク

(19)

ADOのインメモリーへの拡張

Heat map はデータアクセス頻度

をトラックする

ポリシーにより以下を定義可能:

IMカラムストアへデータをポピュレー

ション

データがクールダウンすると圧縮レベ

ルを上げる

IMカラムストアからデータを排出

(evict)

自動化:

In-Memory データ自動ポピュレーションポリシー

Sales_Q3

Sales_Q2

Sales_Q4

インメモリーカラムストア

Sales _Q1

ALTER TABLE

SALES

ILM ADD POLICY

(20)

自動データ最適化のインメモリ対応

ポリシー・クライテリア(条件)

[set|modify|no] inmemory after <time spec> of [ no access | creation |

no modification ]

[set|modify|no] inmemory on <function_name>

ポリシー適用が成功すると、3種のアクションのうち1つが適用される

ポリシーは、表領域、もしくは、表の定義を引き継ぐ

ポリシーは、メンテナンスウィンドウ中に自動で実行される

(21)

FastStart

ポピュレーションの高速化

SALES

インメモリ・カラムナー領域

SALES

SYSDBIMFS_LOBSEG$

初回

ポピュレート

処理

二回目以降の

ポピュレート処理

セキュア

ファイル

LOB

(22)

Population Performance

:In-Memory Fast-Start

IM 列フォーマットのストレージへの永続化

In-Memory カラムストアの内容がポ

ピュレーション時に

SecureFile LOBへ

チェックポイントされる

DB 再起動時のポピュレーションは列

フォーマットを直接ストレージから読み

出してくるのでより高速

データの再フォーマットの必要がない

ためカラムストアのリストアはより高速

(

2-5倍

)

Buffer

Cache

カラムストア

In-Memory

DBFILE1

Table Index Table Table Index

DBFILE2

SALES

表領域

FAST START

表領域

Fast

Start

データ

(23)

本日の内容

12c R1での機能およびユースケース

Active Data Guard 対応

構成の多彩化、使いやすさの向上

高速化機能

1

2

3

4

(24)

In-Memory Expression(IME)

仮想カラム

事前計算列

(25)

分析的なクエリーが複雑な計算式

(expression)を含んでいる

通常は各行につき計算される

Expression(表現、計算式)は事前に

計算されin-memoryに格納可能に

仮想カラムでユーザが明示的に指

定する

または expression が自動的に検

出される

全ての In-Memory に最適化された

処理が適用可能(SIMDなど)

複雑なクエリー:

3-5倍高速に

Real-Time Analytics:

In-Memory Expressions

Net = Price + Price * Tax

インメモリーカラムストア

Sales

Pr

ice

+

P

rice

X

Ta

x

: 売り上げの総額を計算

Ta

x

Pr

ice

CREATE TABLE

SALES (

PRICE NUMBER, TAX NUMBER, …,

NET AS (PRICE + PRICE * TAX)

(26)

CREATE TABLE

t (

a NUMBER,

b NUMBER,

v AS ( a + b )

);

SELECT

a * b

FROM

t

WHERE

a / b

= 1;

仮想列

表内のカラムを含んだ演算式表現

ディスク上にはデータなし

その他のカラムと同様に検索可能

(オン・ザ・フライ評価)

自動In-Memory Expression

"

ホット"な演算式を自動検知

表内の単一行の1つ以上の列で定義

され、定数も含むことも可

表内の行と1対1でマッピングされ

In-Memory Expressions

Types

(27)

Expressions Statistics

Store (ESS) は常にワーク

ロードをモニター

“Hot”な計算式や関数呼び

出しをパース時に頻度や

コストに応じて累積的に

記録

12.2の新規のprocedureの

IME_CAPTURE_EXPRESSIONS

()を実行するとインスタンス中の

上位20個の計算式が判別され

キャプチャーされる

DBMS_INMEMORY_ADMINパッ

ケージの1プロシージャー

IME_POPULATE_EXPRESSIONS()

を実行すると隠し仮想カラムが

作成され計算結果、関数実行結

果の値がインメモリー領域にポ

ピュレーションされる

DBMS_INMEMORY_ADMIN

パッケージの1プロシージャー

In-Memory Expressions

: 自動キャプチャー

Expression 統計ストア(ESS)

(計算式)をキャプチャー

上位

20個のexpression

IMEは

インメモリー・カラム・ストアに

自動的に作成される

IM Column store

EXPRESSION

(表現、

計算式)

テキスト

A+5

23434

36

UPPER(x)

4134

40

C*D

343

32

(28)

JSON ドキュメント全体が最適

化されたバイナリーフォーマッ

トでポピュレートされる

JSON列上のexpression(表現、

計算式)の事前処理結果をカラム

ストアにポピュレーション可能

例) JSON_VALUE(…,…)

JSONデータへのクエリーでは

自動的にIn-Memoryフォーマッ

トが使われる

例) Find movies where

movie.name contains

“Jurassic”

60倍

の高速化も可能

Real-Time Multi-Model Analytics:

In-Memory JSON

Relational

Pure In-Memory カラム型

In-Memory

仮想カラム

In-Memory

JSON

フォーマット

{ "Theater":"AMC 15", "Movie":"Jurrasic World 3D", "Time“:2015-11-26T18:45:00", "Tickets":{ "Adults":2 } }

(29)
(30)

分析的クエリーにJOINがあり、

フィルター述語が無い場合

"ジョイン・グループ" でテーブル

をJOINするカラムを指定

それらのカラムは圧縮ディクショナ

リーを共有する

実際のカラム値データそのものではな

くディクショナリー 値によりJOINさ

れる

2-3倍高速な

join 処理が可能に

Real-Time Analytics:

より高速な In-Memory ジョイン

Sales

VE

HI

CL

E N

AME

St

or

e ID

NAM

E

: 各VehicleのSales価格を調べる

Sales

Vehicle

NAME が

ジョイン

カラム

CREATE INMEMORY JOIN GROUP

V_name_jg

(VEHICLES(NAME),SALES(NAME));

(31)

SELECT

v.year,

v.name,

s.sales_price

FROM

Vehicles v, Sales s

Where

v.name = s.name;

Bloom Filterが使われない Hash Join

SALES

VEHICLES

NAME が

ジョイン

: 各々の車輌の販売価格を問い合わせ

12.1では圧縮値の伸張と

ハッシュ値計算が実行時

間の大部分を占めるため

あまり高速化されない

(32)

両方の表からのジョイン列を共通

の”ディクショナリー”で圧縮

ジョインは実際の列の値データで

はなく”ディクショナリー値”で行

われる

圧縮を伸張する処理を省略できる

データのHash処理も省略

"表名(カラム名) "グループ化最大

数は 255

同一カラムは2つ以上のJOIN

GROUPに属することはできない

ジョイン・グループ:

より高速な Hash ジョイン

SALES

VEHICLES

NAME が

ジョイン

:各々の車輌の販売価格を問い合わせ

CREATE

INMEMORY JOIN GROUP

V_name_jg

(33)

ジョイン・グループ

: 共通のディクショナリーが

両方の表で使われる

パーティション化されている表でも表全体で共通ディクショナリーが使われる

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

2

2

2

2

2

0

0

0

1

1

1

1

4

4

4

4

5

5

5

5

3

3

3

4

3

3

4

1

5

2

4

2

VEHICLES 表

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

2

2

2

2

2

0

0

0

1

1

1

1

4

4

4

4

5

5

5

5

3

3

3

4

3

3

4

1

5

2

4

2

SALES 表

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

IMCU

2

2

2

2

2

0

0

0

1

1

1

1

4

4

4

4

5

5

5

5

3

3

3

4

3

3

4

1

5

2

4

2

共通ディクショナリー

NAME

ID

AUDI

0

BMW

1

CADILLAC

2

PORSCHE

3

TESLA

4

VW

5

(34)

その他12.2 でのパフォーマンス改良点

ベクター集計(VECTOR GROUP BY)がより多くの場合で実行可能に

12.1.0.2では比較的保守的に実行方法を選択し、HASH GROUP BYになる場

合が多かった

12.1.0.2 では /*+ VECTOR_TRANSFORM */ヒントをつけてもIMA実行方

法にならない場合があった

ZoneMap 機能使用可能に

ベクター集計の際に作られる一時表操作が全てメモリー上で完結

DML時のクエリー実行時間への影響を最小化

無効化の粒度が行全体ではなくカラムレベルに

インメモリー領域のSCN毎の有効行を保持する(CRクローン)

インメモリー領域からのサンプリングが可能に

(35)

本セッションでお伝えしたかったこと

12c R2のデータベース・インメモリー機能は12cR1を着実に進化さ

せた製品です.

基礎性能の向上

Active Data Guardのスタンバイでインメモリーが可能になったこ

とによりスタンバイの有効利用、および、場合によってはより多く

のデータをインメモリーで分析することが可能になりました.

いくつかの足回り的な機能により使いやすさが向上しました.

いくつかの高速化機能により高速化する分析的クエリーのパターン

(36)

Oracle Database 12c 対応研修コースのご案内

Oracle Database 12c: SQL 基礎 I (3日間) Oracle Database 12c: 管理ワークショップ (5日間) Oracle Database 12c: SQL チューニング ワークショップ (3日間) Oracle Database 12c: PL/SQL プログラム 開発 (3日間) Oracle Database 12c: インストール& アップグレード (2日間) Oracle Database 12c: バックアップ・ リカバリ (5日間) Oracle Database 12c: 新機能 (5日間) Oracle Database 12c: セキュリティ (5日間) Oracle Database 12c: Clusterware 管理 (4日間) Oracle Database 12c: RAC 管理 (4日間) Oracle Database 12c: PL/SQL 基礎 (2日間) データベース設計 (3日間) Oracle Database 12c: パフォーマンス・ チューニング (5日間) Bronze Silver Platinum Gold Oracle Database 12c: SQL 基礎 II (2日間) Oracle Database 11g: データ・マイニング 手法 (2 日間) Oracle Database 12c: Database Vault (2日間) Oracle ではじめる 統計入門 (1 日間) Oracle R Enterprise エッセンシャルズ (2 日間) Oracle Database 12c: マルチテナント・ アーキテクチャ (2日間) Oracle Database 12c: ASM 管理 (2日間) Oracle Database 12c: 管理クイック・ スタート (2日間) Oracle Database 12c: 管理ネクスト・ ステップ (3日間) Ad va nc ed A na lyti cs O pti on 対応コース

基礎から上級スキルまで。Oracle Database 12c の製品機能を学習できる多彩な研修コースでスキルアップを

(37)

Oracle Digitalは、オラクル製品の導入をご検討いただく際の総合窓口。

電話とインターネットによるダイレクトなコニュニケーションで、どんなお問い合わせにもすばやく対応します。

もちろん、無償。どんなことでも、ご相談ください。

(38)
(39)
(40)

参照

関連したドキュメント

マニピュレータで、プール 内のがれきの撤去や燃料取 り出しをサポートする テンシルトラスには,2本 のマニピュレータが設置さ

1 つの Cin に接続できるタイルの数は、 Cin − Cdrv 間 静電量の,計~によって決9されます。1つのCin に許される Cdrv への静電量は最”で 8 pF

核分裂あるいは崩壊熱により燃料棒内で発生した熱は、燃料棒内の熱

核分裂あるいは崩壊熱により燃料棒内で発生した熱は、燃料棒内の熱

核分裂あるいは崩壊熱により燃料棒内で発生した熱は、燃料棒内の熱

添付資料 2.7.1 インターフェイスシステム LOCA 発生時の現場環境について 添付資料 2.7.2 インターフェイスシステム LOCA

格納容器内温度 毎時 6時間 65℃以下. 原⼦炉への注⽔量 毎時

• 燃料上の⼀部に薄い塗膜⽚もしく はシート類が確認されたが、いず れも軽量なものと推定され、除去