SlideShare a Scribd company logo
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 1Copyright © 2017 CO-Sol Inc. All Rights Reserved.
2017年4月17日
株式会社コーソル 渡部 亮太
Introduction of
Oracle Database Architecture
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 2
自己紹介+所属会社紹介
• 渡部 亮太(わたべ りょうた)
– JPOUG 共同創設者、ボードメンバー
– Oracle ACE
– 著書「プロとしてのOracleアーキテクチャ入門
[第2版]」 「プロとしてのOracle運用管理入門」
– ブログ「コーソルDatabaseエンジニアのBlog」
http://cosol.jp/techdb/
• 株式会社コーソル
– 「CO-Solutions=共に解決する」の理念のもと、Oracle技術に特
化した事業を展開中。心あるサービスの提供とデータベースエン
ジニアの育成に注力している
– 社員数: 135名 (2017年4月時点)
– ORACLE MASTER Platinum 11g 取得者数 47名
ORACLE MASTER Platinum 12c 取得者数 32名
取得者数 日本 No.1
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 3
Agenda
I. OracleアーキテクチャとSQL処理
II. データとファイルI/O
III. テーブル、索引と実行計画
IV. オプティマイザ統計
V. データベースバッファキャッシュ
VI. SQLの解析と共有プール
VII. ソートとPGA、一時表領域
VIII.まとめ
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 4
RDBMSとは / Oracle Databaseとは
• RDBMS(Relational Database Management System)
=表(テーブル)形式のデータを保管するデータベース管理
システム
• データ操作用の言語SQLを用いて、クライアントアプリケー
ションからデータの検索および更新を実行できる
• Oracle DatabaseはRDBMS製品の1つ
テーブル
id ename ・・・
87 Steven ・・・
204 Hermann ・・・
ABC xxx ・・・
クライアント
アプリケーション
id ename ・・・
87 Steven ・・・
204 Hermann ・・・
205 Shelly ・・・
SELECT …
① SQL発行
②検索結果
RDBMS
以後 "Oracle Database"を"Oracle"と略記
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 6
SQL処理の全体像
SGA
データファイル
クライアント
アプリケーション
データベース
バッファ
キャッシュ
共有
プール
一時ファイル
サーバープロセス
②
解析
PGA
1
2
3
4
1
2
3
4
① SQL発行
SELECT …
③
フェッチ
②解析結果を共有
プールに保管
③データファイルから
データを取得&キャッシュ
④(必要な場合)
データをソート
⑤ 検索結果
を返送
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 9
Oracleアーキテクチャ - データ・記憶域構造
表領域
テーブル
データファイル
データブロック
行データ
id ename ・・・
87 Steven ・・・
204 Hermann ・・・
205 Shelly ・・・
 1つの表領域が複数のデータファイルから構成される場合もあります。
 1つのテーブルが複数の連続した領域から構成される場合もあります。
行データ
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 10
SQLの実行とファイルI/O
セッション
SGA
SQLの発行
実行結果の返送
データファイル
サーバープロセス
SQL実行
クライアント
アプリケーション
データベースバッファ
キャッシュ
データブロック
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 11
Oracleのテーブル(ヒープ構成表)
• テーブルに格納される行の順序は不
定
– ある行の位置を特定できない
• ある行を取得したい場合の処理
1. テーブルのHWM以下の全ブロックを読
み出し
(=TABLE ACCESS FULL、
いわゆるテーブルフルスキャン)
2. 条件に合致した行のみを抽出
(=filter)
• データ量が多い場合はI/Oが大量に発
生し、非効率
– テーブルフルスキャンは一般に避けるべ
き
ブロック1
ブロック2
id name ・・・
87 Steven ・・・
27 Hermann ・・・
21 Shelly ・・・
id name ・・・
20 Neena ・・・
3 Lex ・・・
1 William ・・・
…
ブロックn
id name ・・・
103 Alexandar ・・・
105 David ・・・
203 Susan ・・・
テーブル
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 13
索引の仕組み
<DBA5>
<DBA9> <DBA4>
id=1 ブロック1
ブロック2
rowid5
…
id=1
索引
ルートブロック
ブランチブロック
リーフブロック
<DBA8>
ROWID id name ・・・
rowid0 87 Steven ・・・
rowid1 27 Hermann ・・・
rowid2 21 Shelly ・・・
id アドレス
~199 DBA5
~340 DBA…
803~ DBA…
ROWID id name ・・・
rowid3 20 Neena ・・・
rowid4 3 Lex ・・・
rowid5 1 William ・・・
…
id アドレス
~20 DBA9
~35 DBA8
175~ DBA4
id アドレス
1 rowid5
3 rowid4
20 rowid3
…
…
id アドレス
21 rowid2
27 rowid1
35 rowid9
…
id アドレス
175 rowid6
177 rowid8
199 rowid9
…
…
…
索引を用いたアクセス
INDEX UNIQUE SCANオペレーション
TABLE ACCESS BY INDEX ROWID (BATCHED) オペレーション
A
B
ブロックn
ROWID id name ・・・
rowid97 103 Alexandar ・・・
rowid98 105 David ・・・
rowid99 203 Susan ・・・
C
A
id=1
B
表
表を用いたアクセス
TABLE FULL SCANオペレーションC
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 14
実行計画とは
• 実行計画は、SQLがOracleで実行される手順を示す
• 実行計画はコストベースオプティマイザ(CBO; Cost-
Based Optimizer)が作成する
– CBOはOracleの内部コンポーネント
– オプティマイザ統計が最新でないと適切な実行計画が作成され
ないことに注意
• 意図したパフォーマンスが得られない場合、想定した実
行計画で実行されているかチェックする必要がある
--------------------------------------------------------------
| Id | Operation | Name | Rows |... |
--------------------------------------------------------------
| 0 | SELECT STATEMENT | | |... |
| 1 | NESTED LOOPS | | 2 |... |
|* 2 | TABLE ACCESS FULL | PA | 1 |... |
| 3 | TABLE ACCESS BY INDEX ROWID| CH | 2 |... |
|* 4 | INDEX RANGE SCAN | IDX_CHPA | 2 |... |
--------------------------------------------------------------
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 16
実行計画と物理I/Oブロック数の比較
--------------------------------------------------
| Id | Operation | Name | Rows |... |
--------------------------------------------------
| 0 | SELECT STATEMENT | | 1 |... |
|* 1 | TABLE ACCESS FULL| TESTTBL | 1 |... |
--------------------------------------------------
統計
----------------------------------------------------------
10098 physical reads
---------------------------------------------------------------------
| Id | Operation | Name | Rows |... |
---------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 |... |
| 1 | TABLE ACCESS BY INDEX ROWID BATCHED| TESTTBL | 1 |... |
|* 2 | INDEX RANGE SCAN | TESTIDX1 | 1 |... |
---------------------------------------------------------------------
統計
----------------------------------------------------------
3 physical reads
索引作成
(出力を整形しています)
(出力を整形しています)
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 19
選択率と最適なアクセス
…
BLUE
BLUE
BLUE
BLUE
BLUE
BLUE
RED
BLUE
BLUE
BLUE
BLUE
BLUE
SELECT …
WHERE color='RED'
SELECT …
WHERE color ='BLUE'
索引(索引列color)
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 24
オプティマイザ統計の注意点
• 大量データ更新するたびに、オプティマイザ統計を収集する
必要がある
– DBMS_STATS.GATHER_xxxプロシージャを実行する
– データとオプティマイザ統計は独立して存在する
– 少量データ更新であれば、オプティマイザ統計を再収集する必要は
ない
• オプティマイザ統計はあくまでもデータの特徴を示す「サマリ情報」に
過ぎないので、あまり神経質に再収集する必要はない
• Oracle Database 10g以降ではデフォルトで自動収集される
– 収集開始タイミング:平日22:00 + 土日
• バージョンにより詳細なスケジュールが異なることに注意
– 自動収集されるまでの間、データとオプティマイザ統計にズレが生
じることに注意
• データ更新後にDBMS_STATS.GATHER_xxxプロシージャを実行すれ
ば、ズレの発生を回避できる
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 25
Oracleアーキテクチャ – メモリ
セッション SGA
SQLの発行
実行結果の返送
データファイル
サーバープロセス
クライアント
アプリケーション
データベース
バッファ
キャッシュ
共有
プール
PGA
SQL実行
セッション
SQLの発行
実行結果の返送
サーバープロセス
クライアント
アプリケーション
PGA
SQL実行
専用サーバープロセス接続の場合
SGAの構成コンポーネントは省略して記載
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 26
データベースバッファキャッシュの役割
• データブロックのメモリキャッシュ
– 繰り返し同一のブロックにアクセスした場合の性能向上
• 論理I/Oと物理I/O
2回目のブロック読み出し
物理I/O
論理I/O
データファイル
SGA
データベース
バッファ
キャッシュ
1回目のブロック読み出し
データファイル
SGA
データベース
バッファ
キャッシュ
論理I/O
論理I/O=高速
物理I/O=低速
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 31
SQL解析と共有プール
• ハードパースで実施する処理
– SQL構文チェック
– アクセス対象オブジェクトのチェック
– SQLの最適化
– 実行計画の立案
• 解析結果は共有カーソルとして共有プールにキャッシュ
SGAサーバープロセス
クライアント
アプリケーション
共有プール
共有
カーソル
③キャッシュ
① SQL
解析
②ハードパース
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 32
共有カーソルのキャッシュ
• 一度実行されたSQLの解析結果(=共有カーソル)は再利用される
– ソフトパースによる処理効率化:SQL処理時間の短縮、CPU負荷の軽減
SGAサーバープロセス
解析
クライアント
アプリケーション
共有プール
共有
カーソル
③キャッシュ
サーバープロセス
クライアント
アプリケーション
②ハードパース
②ソフトパース
① SQL
① SQL
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 36
WHERE条件のリテラル値のみが異なるSQL
• (類似していても)文字列として異なるSQLは、共有カー
ソルが共有されない
– ハードパースによる処理効率低下:SQL処理時間とCPU負荷増加
– 共有メモリの非効率的な利用:使用メモリ量増加、キャッシュ
ヒット率低下
SGAサーバープロセス
解析
クライアント
アプリケーション
共有プール
共有
カーソル
③キャッシュ
サーバープロセス
クライアント
アプリケーション
②ハードパース
①SELECT …
WHERE id = 1
①SELECT …
WHERE id = 2
共有
カーソル
③キャッシュ
②ハードパース
解析
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 37
バインド変数による共有カーソルの再利用
• 一度実行されたSQLの解析結果は再利用される
– ソフトパースによる処理効率化:SQL処理時間の短縮、CPU負荷の軽減
– 共有メモリの効率的な利用:使用メモリ量削減、キャッシュヒット率向上
SGAサーバープロセス
解析
クライアント
アプリケーション
共有プール
共有
カーソル
③キャッシュ
サーバープロセス
クライアント
アプリケーション
②ハードパース
②ソフトパース
①SELECT …
WHERE id = :n
①SELECT …
WHERE id = :n
n=1
n=2
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 39
データのソート
SGA
一時ファイル
サーバープロセス
クライアント
アプリケーション
データベース
バッファ
キャッシュ
PGA
SQL実行
データファイル
1
2
3
4
1
2
3
4
セッション
SQLの発行
実行結果の返送
Copyright © 2017 CO-Sol Inc. All Rights Reserved. 45
まとめ
• SQL処理においてOracleの構成要素がどのように関係す
るかを理解しましょう
• 索引を適切に使うことで、ファイルI/Oを削減できます
• 適切な実行計画作成にはオプティマイザ統計を適切に取
得することが必要です
• SQL処理の性能向上に寄与する各種メモリ領域(データ
ベースバッファキャッシュ、共有プール、PGA)の役割
を理解しましょう
• ハードパースを回避するにはSQLのバインド変数化が有
効なケースがあります

More Related Content

What's hot

Dbts 分散olt pv2
Dbts 分散olt pv2Dbts 分散olt pv2
Dbts 分散olt pv2
Takashi Kambayashi
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
オラクルエンジニア通信
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
Mauro Pagano
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
オラクルエンジニア通信
 
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Markus Michalewicz
 
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
yoku0825
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLON
Markus Michalewicz
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
Gokhan Atil
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
Anil Nair
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Ryota Watabe
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Ryota Watabe
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
Guy Harrison
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Yuya Ohta
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
 

What's hot (20)

Dbts 分散olt pv2
Dbts 分散olt pv2Dbts 分散olt pv2
Dbts 分散olt pv2
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
 
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
Oracle Multitenant meets Oracle RAC 12c OOW13 [CON8706]
 
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLON
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 

Similar to Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 2017

MariaDB 10.3 概要
MariaDB 10.3 概要 MariaDB 10.3 概要
MariaDB 10.3 概要
GOTO Satoru
 
MariaDB meetup Tokyo 2019 #01
MariaDB meetup Tokyo 2019 #01MariaDB meetup Tokyo 2019 #01
MariaDB meetup Tokyo 2019 #01
GOTO Satoru
 
ふくよかなモデル
ふくよかなモデルふくよかなモデル
ふくよかなモデルyukaina
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
Insight Technology, Inc.
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
歩 柴田
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
NTT DATA OSS Professional Services
 
Index shotgun on mysql5.6
Index shotgun on mysql5.6Index shotgun on mysql5.6
Index shotgun on mysql5.6
yoku0825
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
yoyamasaki
 
オープンソース・データベースの最新事情
オープンソース・データベースの最新事情オープンソース・データベースの最新事情
オープンソース・データベースの最新事情
Meiji Kimura
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
Ryusuke Kajiyama
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1
Noriyoshi Shinoda
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
MapR Technologies Japan
 
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~
Daiki Mogmet Ito
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
Ryusuke Kajiyama
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
Satoshi Hirata
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startupsIchiro Fukuda
 
データベースのお話
データベースのお話データベースのお話
データベースのお話
Hidekazu Tanaka
 

Similar to Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 2017 (20)

MariaDB 10.3 概要
MariaDB 10.3 概要 MariaDB 10.3 概要
MariaDB 10.3 概要
 
MariaDB meetup Tokyo 2019 #01
MariaDB meetup Tokyo 2019 #01MariaDB meetup Tokyo 2019 #01
MariaDB meetup Tokyo 2019 #01
 
ふくよかなモデル
ふくよかなモデルふくよかなモデル
ふくよかなモデル
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
Index shotgun on mysql5.6
Index shotgun on mysql5.6Index shotgun on mysql5.6
Index shotgun on mysql5.6
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
 
オープンソース・データベースの最新事情
オープンソース・データベースの最新事情オープンソース・データベースの最新事情
オープンソース・データベースの最新事情
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startups
 
データベースのお話
データベースのお話データベースのお話
データベースのお話
 

More from Ryota Watabe

バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
Ryota Watabe
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
Ryota Watabe
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Ryota Watabe
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
Ryota Watabe
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Ryota Watabe
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
Ryota Watabe
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~Ryota Watabe
 

More from Ryota Watabe (7)

バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUG
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 

Recently uploaded

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 

Recently uploaded (14)

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

Introduction of Oracle Database Architecture(抜粋版) - JPOUG Oracle Database入学式 2017

  • 1. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 1Copyright © 2017 CO-Sol Inc. All Rights Reserved. 2017年4月17日 株式会社コーソル 渡部 亮太 Introduction of Oracle Database Architecture
  • 2. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 2 自己紹介+所属会社紹介 • 渡部 亮太(わたべ りょうた) – JPOUG 共同創設者、ボードメンバー – Oracle ACE – 著書「プロとしてのOracleアーキテクチャ入門 [第2版]」 「プロとしてのOracle運用管理入門」 – ブログ「コーソルDatabaseエンジニアのBlog」 http://cosol.jp/techdb/ • 株式会社コーソル – 「CO-Solutions=共に解決する」の理念のもと、Oracle技術に特 化した事業を展開中。心あるサービスの提供とデータベースエン ジニアの育成に注力している – 社員数: 135名 (2017年4月時点) – ORACLE MASTER Platinum 11g 取得者数 47名 ORACLE MASTER Platinum 12c 取得者数 32名 取得者数 日本 No.1
  • 3. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 3 Agenda I. OracleアーキテクチャとSQL処理 II. データとファイルI/O III. テーブル、索引と実行計画 IV. オプティマイザ統計 V. データベースバッファキャッシュ VI. SQLの解析と共有プール VII. ソートとPGA、一時表領域 VIII.まとめ
  • 4. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 4 RDBMSとは / Oracle Databaseとは • RDBMS(Relational Database Management System) =表(テーブル)形式のデータを保管するデータベース管理 システム • データ操作用の言語SQLを用いて、クライアントアプリケー ションからデータの検索および更新を実行できる • Oracle DatabaseはRDBMS製品の1つ テーブル id ename ・・・ 87 Steven ・・・ 204 Hermann ・・・ ABC xxx ・・・ クライアント アプリケーション id ename ・・・ 87 Steven ・・・ 204 Hermann ・・・ 205 Shelly ・・・ SELECT … ① SQL発行 ②検索結果 RDBMS 以後 "Oracle Database"を"Oracle"と略記
  • 5. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 6 SQL処理の全体像 SGA データファイル クライアント アプリケーション データベース バッファ キャッシュ 共有 プール 一時ファイル サーバープロセス ② 解析 PGA 1 2 3 4 1 2 3 4 ① SQL発行 SELECT … ③ フェッチ ②解析結果を共有 プールに保管 ③データファイルから データを取得&キャッシュ ④(必要な場合) データをソート ⑤ 検索結果 を返送
  • 6. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 9 Oracleアーキテクチャ - データ・記憶域構造 表領域 テーブル データファイル データブロック 行データ id ename ・・・ 87 Steven ・・・ 204 Hermann ・・・ 205 Shelly ・・・  1つの表領域が複数のデータファイルから構成される場合もあります。  1つのテーブルが複数の連続した領域から構成される場合もあります。 行データ
  • 7. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 10 SQLの実行とファイルI/O セッション SGA SQLの発行 実行結果の返送 データファイル サーバープロセス SQL実行 クライアント アプリケーション データベースバッファ キャッシュ データブロック
  • 8. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 11 Oracleのテーブル(ヒープ構成表) • テーブルに格納される行の順序は不 定 – ある行の位置を特定できない • ある行を取得したい場合の処理 1. テーブルのHWM以下の全ブロックを読 み出し (=TABLE ACCESS FULL、 いわゆるテーブルフルスキャン) 2. 条件に合致した行のみを抽出 (=filter) • データ量が多い場合はI/Oが大量に発 生し、非効率 – テーブルフルスキャンは一般に避けるべ き ブロック1 ブロック2 id name ・・・ 87 Steven ・・・ 27 Hermann ・・・ 21 Shelly ・・・ id name ・・・ 20 Neena ・・・ 3 Lex ・・・ 1 William ・・・ … ブロックn id name ・・・ 103 Alexandar ・・・ 105 David ・・・ 203 Susan ・・・ テーブル
  • 9. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 13 索引の仕組み <DBA5> <DBA9> <DBA4> id=1 ブロック1 ブロック2 rowid5 … id=1 索引 ルートブロック ブランチブロック リーフブロック <DBA8> ROWID id name ・・・ rowid0 87 Steven ・・・ rowid1 27 Hermann ・・・ rowid2 21 Shelly ・・・ id アドレス ~199 DBA5 ~340 DBA… 803~ DBA… ROWID id name ・・・ rowid3 20 Neena ・・・ rowid4 3 Lex ・・・ rowid5 1 William ・・・ … id アドレス ~20 DBA9 ~35 DBA8 175~ DBA4 id アドレス 1 rowid5 3 rowid4 20 rowid3 … … id アドレス 21 rowid2 27 rowid1 35 rowid9 … id アドレス 175 rowid6 177 rowid8 199 rowid9 … … … 索引を用いたアクセス INDEX UNIQUE SCANオペレーション TABLE ACCESS BY INDEX ROWID (BATCHED) オペレーション A B ブロックn ROWID id name ・・・ rowid97 103 Alexandar ・・・ rowid98 105 David ・・・ rowid99 203 Susan ・・・ C A id=1 B 表 表を用いたアクセス TABLE FULL SCANオペレーションC
  • 10. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 14 実行計画とは • 実行計画は、SQLがOracleで実行される手順を示す • 実行計画はコストベースオプティマイザ(CBO; Cost- Based Optimizer)が作成する – CBOはOracleの内部コンポーネント – オプティマイザ統計が最新でないと適切な実行計画が作成され ないことに注意 • 意図したパフォーマンスが得られない場合、想定した実 行計画で実行されているかチェックする必要がある -------------------------------------------------------------- | Id | Operation | Name | Rows |... | -------------------------------------------------------------- | 0 | SELECT STATEMENT | | |... | | 1 | NESTED LOOPS | | 2 |... | |* 2 | TABLE ACCESS FULL | PA | 1 |... | | 3 | TABLE ACCESS BY INDEX ROWID| CH | 2 |... | |* 4 | INDEX RANGE SCAN | IDX_CHPA | 2 |... | --------------------------------------------------------------
  • 11. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 16 実行計画と物理I/Oブロック数の比較 -------------------------------------------------- | Id | Operation | Name | Rows |... | -------------------------------------------------- | 0 | SELECT STATEMENT | | 1 |... | |* 1 | TABLE ACCESS FULL| TESTTBL | 1 |... | -------------------------------------------------- 統計 ---------------------------------------------------------- 10098 physical reads --------------------------------------------------------------------- | Id | Operation | Name | Rows |... | --------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 |... | | 1 | TABLE ACCESS BY INDEX ROWID BATCHED| TESTTBL | 1 |... | |* 2 | INDEX RANGE SCAN | TESTIDX1 | 1 |... | --------------------------------------------------------------------- 統計 ---------------------------------------------------------- 3 physical reads 索引作成 (出力を整形しています) (出力を整形しています)
  • 12. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 19 選択率と最適なアクセス … BLUE BLUE BLUE BLUE BLUE BLUE RED BLUE BLUE BLUE BLUE BLUE SELECT … WHERE color='RED' SELECT … WHERE color ='BLUE' 索引(索引列color)
  • 13. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 24 オプティマイザ統計の注意点 • 大量データ更新するたびに、オプティマイザ統計を収集する 必要がある – DBMS_STATS.GATHER_xxxプロシージャを実行する – データとオプティマイザ統計は独立して存在する – 少量データ更新であれば、オプティマイザ統計を再収集する必要は ない • オプティマイザ統計はあくまでもデータの特徴を示す「サマリ情報」に 過ぎないので、あまり神経質に再収集する必要はない • Oracle Database 10g以降ではデフォルトで自動収集される – 収集開始タイミング:平日22:00 + 土日 • バージョンにより詳細なスケジュールが異なることに注意 – 自動収集されるまでの間、データとオプティマイザ統計にズレが生 じることに注意 • データ更新後にDBMS_STATS.GATHER_xxxプロシージャを実行すれ ば、ズレの発生を回避できる
  • 14. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 25 Oracleアーキテクチャ – メモリ セッション SGA SQLの発行 実行結果の返送 データファイル サーバープロセス クライアント アプリケーション データベース バッファ キャッシュ 共有 プール PGA SQL実行 セッション SQLの発行 実行結果の返送 サーバープロセス クライアント アプリケーション PGA SQL実行 専用サーバープロセス接続の場合 SGAの構成コンポーネントは省略して記載
  • 15. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 26 データベースバッファキャッシュの役割 • データブロックのメモリキャッシュ – 繰り返し同一のブロックにアクセスした場合の性能向上 • 論理I/Oと物理I/O 2回目のブロック読み出し 物理I/O 論理I/O データファイル SGA データベース バッファ キャッシュ 1回目のブロック読み出し データファイル SGA データベース バッファ キャッシュ 論理I/O 論理I/O=高速 物理I/O=低速
  • 16. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 31 SQL解析と共有プール • ハードパースで実施する処理 – SQL構文チェック – アクセス対象オブジェクトのチェック – SQLの最適化 – 実行計画の立案 • 解析結果は共有カーソルとして共有プールにキャッシュ SGAサーバープロセス クライアント アプリケーション 共有プール 共有 カーソル ③キャッシュ ① SQL 解析 ②ハードパース
  • 17. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 32 共有カーソルのキャッシュ • 一度実行されたSQLの解析結果(=共有カーソル)は再利用される – ソフトパースによる処理効率化:SQL処理時間の短縮、CPU負荷の軽減 SGAサーバープロセス 解析 クライアント アプリケーション 共有プール 共有 カーソル ③キャッシュ サーバープロセス クライアント アプリケーション ②ハードパース ②ソフトパース ① SQL ① SQL
  • 18. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 36 WHERE条件のリテラル値のみが異なるSQL • (類似していても)文字列として異なるSQLは、共有カー ソルが共有されない – ハードパースによる処理効率低下:SQL処理時間とCPU負荷増加 – 共有メモリの非効率的な利用:使用メモリ量増加、キャッシュ ヒット率低下 SGAサーバープロセス 解析 クライアント アプリケーション 共有プール 共有 カーソル ③キャッシュ サーバープロセス クライアント アプリケーション ②ハードパース ①SELECT … WHERE id = 1 ①SELECT … WHERE id = 2 共有 カーソル ③キャッシュ ②ハードパース 解析
  • 19. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 37 バインド変数による共有カーソルの再利用 • 一度実行されたSQLの解析結果は再利用される – ソフトパースによる処理効率化:SQL処理時間の短縮、CPU負荷の軽減 – 共有メモリの効率的な利用:使用メモリ量削減、キャッシュヒット率向上 SGAサーバープロセス 解析 クライアント アプリケーション 共有プール 共有 カーソル ③キャッシュ サーバープロセス クライアント アプリケーション ②ハードパース ②ソフトパース ①SELECT … WHERE id = :n ①SELECT … WHERE id = :n n=1 n=2
  • 20. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 39 データのソート SGA 一時ファイル サーバープロセス クライアント アプリケーション データベース バッファ キャッシュ PGA SQL実行 データファイル 1 2 3 4 1 2 3 4 セッション SQLの発行 実行結果の返送
  • 21. Copyright © 2017 CO-Sol Inc. All Rights Reserved. 45 まとめ • SQL処理においてOracleの構成要素がどのように関係す るかを理解しましょう • 索引を適切に使うことで、ファイルI/Oを削減できます • 適切な実行計画作成にはオプティマイザ統計を適切に取 得することが必要です • SQL処理の性能向上に寄与する各種メモリ領域(データ ベースバッファキャッシュ、共有プール、PGA)の役割 を理解しましょう • ハードパースを回避するにはSQLのバインド変数化が有 効なケースがあります