SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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のバインド変数化が有
効なケースがあります

Mais conteúdo relacionado

Mais procurados

YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)NTT DATA Technology & Innovation
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...NTT DATA Technology & Innovation
 
NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)Takanori Sejima
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group CommitTakanori Sejima
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法Yohei Azekatsu
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介VirtualTech Japan Inc.
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -Masahiko Sawada
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドYasufumi Kinoshita
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうkasaharatt
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncKoji Shinkubo
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニングyoku0825
 

Mais procurados (20)

YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
 
NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
 
Checklist_AC.pdf
Checklist_AC.pdfChecklist_AC.pdf
Checklist_AC.pdf
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_sync
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
MySQLチューニング
MySQLチューニングMySQLチューニング
MySQLチューニング
 

Semelhante a 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 #01GOTO 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 -歩 柴田
 
Index shotgun on mysql5.6
Index shotgun on mysql5.6Index shotgun on mysql5.6
Index shotgun on mysql5.6yoku0825
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jpyoyamasaki
 
オープンソース・データベースの最新事情
オープンソース・データベースの最新事情オープンソース・データベースの最新事情
オープンソース・データベースの最新事情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.0Ryusuke Kajiyama
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Noriyoshi Shinoda
 
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
 
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/11MapR 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
 

Semelhante a 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
 
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オススメ新機能
 
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
 

Mais de 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 #2Ryota Watabe
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い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 特濃JPOUGRyota 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 2009Ryota Watabe
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~Ryota Watabe
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In LockRyota Watabe
 

Mais de Ryota Watabe (9)

バックアップと障害復旧から考える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
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
 
全社情報共有サイトへの 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
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In Lock
 

Último

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Último (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

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のバインド変数化が有 効なケースがあります