3月8日、
Oracle Database Connect 2017 最新のデータベース技術がここにあるに行ってきたので内容をメモメモ
ただ、場所が分からず迷ってしまい、基調講演の途中からになった。
そのため、今回は、基調講演の「あとの」講演からメモメモ
ちなみに表題の件は自動採番が、中頃(<<JPOUG>>のあと)
「異なるデータベース間のSQL比較とOracle Database 12cの新機能」に
フルスキャンをインメモリでは、最後のほうに
書いてあります。
■最新の基盤を生かす技術とは。NRIの事例紹介
・あらためてNRIとは
会社・自己紹介
全体の薬95%がITソリューションでの売上
Oracle Databaseの進化
インターネットコンピューティング
8
9 RAC
グリッドコンピューティング
10
11g グリッド
クラウド
12c マルチテナント
・Exadataへのとりくみ
NRIのシステム基盤
災害対策・DR
高度運用体制
内部統制・サービス統制
データ数・アジリティ
Exadataへの期待
ITサービスへのコスト削減
金融品質
データ量・性能対策
→えくすとりーむふらっしゅについて
・事例
オールフラッシュモデルの導入
一時的に集中するものの拡販
→在庫引当処理の高速化→拡販
・究極のパフォーマンス向上はビジネス変革を可能にする!
・オンライン処理の性能向上
在庫引き当て
行書き込み:コミット必要→スマートフラッシュログで30倍
在庫レコードの分散:146倍
・バッチ処理の性能向上
PaaSの利用:ExadataのDB特化
基盤ミドル
エクストリームフラッシュ
108分→9分
・Oracle クラウド
Goalden Gate On オラクルクラウド
システム停止時間の極小化
1.システム移行前
あたらしいDBへゴールデンゲートで同期
2.切り替え当日
差分同期
3.システム移行後
(旧戻しのため)ゴールデンゲートの同期を逆に
・CAPEX/OPEXの最適解
・3時間で構築完了
構築順序は要確認
・テストケース
安定性
使い勝手のよさ
・注意点
ドメイン限定先行サービスの確認
永続的かどうか確認
本番利用時の契約
■本社開発部門 パフォーマンスエンジニアが語る
Cache Fusion進化の系譜
・自己紹介
パフォーマンスエンジニアで大切なこと
ボトルネックを正しく理解
性能を改善するための方法を検討・設計・評価
製品化
・Oracle Real Application Clusters(RAC)
9iからでてきた
スケーラビリティと高可用性
機械学習で自動診断
・RACの基本アーキテクチャ
キャッシュフュージョン
インターコネクトで通信
ネットワーク上でデータを持って靴
LMS(バックグラウンドプロセス)でメッセージ
バランス
ハードウェアの通信でかかっている時間は5%
→infinibandではない
性能を改善するためには、ソフトウェアの最適化がもっとも効率的
コンテキストスイッチ 43%
LMS(CPU)
・ソフトウェアの最適化手法
ソースコードの最適化
コンパイラの力を借りる
ハードウェアの力を借りる
・OLAPにも最適化されたExadata
・キャッシュフュージョンの進化
RDS(11g) インフィニバンド
エクサヒュージョン’12R1) OSカーネル通さない
エクサヒュージョン(12R1) SVG上直接送信。Zero Copy通信
・エクサヒュージョンとRDBのの比較
ユーザー数を増やすとき:
・インフィニバンドが提供するその他の機能
パーティシペーションキー(PKEY)
シェアードPD(スケーラブルナZEROコピー)
・Remote Direct Memory Access
相手のコンピューターのOSを返さない
・もし、キャッシュヒュージョンがRDMAで実現できたら
→11μ秒
RDMAoC
■クラウド運用で省力化!最新版Oracle Databasewp活用した基盤の魅力
1.オラクル マルチテナントが求められる理由
2020年 37万IT技術者不足 データ量は3倍増加
基幹システムを支える堅牢なデータベース
個別最適化→仮想化と集約OSS化など
効率・柔軟・俊敏 クラウド
・マルチテナントアーキテクチャ
プラガブルデータベース(PDB)+ルート
→コンテナデータベース(CDB)
CDBレベル
RAC/DGなどの構成
・データベース公正の選択し
Non-CDB構成:従来
シングルテナント構成:CDBにPDBを1つだけ
マルチテナント構成:CDBにPDB2つ以上
・物理構成
データファイル
制御ファイル・REDO/ログ
・ポータビリティ
ポータブルデータベース
Unplug,Plugで移行
2.PDBで旅に出よう
デモ
・物語 阿有 通(あある つう):主人公
無茶 雄三(むちゃ ゆうぞう):上司
POCO:こいつを動かす
・部門DBの統一
OS エディションの違い
【従来】
コピー&リストア
バックアップ
制御ファイル
データファイルパス変更
Windows12.2
PDBのUnplug XMLメタデータファイル
PDBのPlug
制約
エンディアンが同じ
同じまたはサブセット
互換性は事前に確認可能
GUIある
課題2
・クラウドで行う
ホット・クローン
便利なオプション
メタデータのみクローン
サブセットクローン
スナップショットクローン
Non-CDBからの移行
PDB リフレッシュ
PDBの独立性の強化
課題3
・停止しない
PDB リロケート
アプリケーション コンティユニティ
リスナーネットワーク登録
課題4
・性能足りない
Exadata クラウドサービス
Swing Bench
3.まとめ
SE→EE→クラウド→本番(アプリとめずに)→Exadata
<<JPOUG>>
■異なるデータベース間のSQL比較とOracle Database 12cの新機能
・自己紹介
・自動さいばん列
Oracle以外は持っていた
MySQL AUTO_INCREMENT 列属性
GENERETED BY DEFAULT
PostgreSQLに近い
・文字列型最大長
ORACLE 4000バイトまでしか行かなかった
→32Kバイト
デフォルトはいままでどおり
MAX_STRING_SIZE=EXTENDEDが必要
一回返ると元に戻せない
・先頭とか、途中がほしい
FETCH n ROWS
MySQL LIMIT
→FETCH FIRST オフセットで飛ばせる
(中ではROW NUMBER)
→実行計画とって見る
リリース2
・オブジェクト名の最大長
30バイト→128バイトに(例外有り)
・照合(COLLATION)
大文字小文字の区別
MySQL,SQLサーバー:しない
ほかはする
→テーブル単位、列単位で変えられる
条件有り
注意:COLLATIONが違うと結合できない
COLLATIONをあわせてから結合する
・JSONデータ対応
JSONデータ生成
新機能の情報
・マニュアル:新機能ガイド/各マニュアルの先頭部分
■新機能Encryption Conversionで表領域の暗号化
・従来の表領域暗号化の課題
エクスポート、インポートが必要
・Encryption Conversion
コマンドだけで、暗号化
オフラインでは使える
オンラインは12.2限定
オンラインは一時的に対象の表領域と同等のディスク容量が必要
(オフラインではいらない)
・デモ
・データベースセキュリティナビ
blogがある
https://blogs.oracle.com/sec/
■進化したのはサーバーだけじゃない”
DBAの毎日をもっと豊かにするユーティリティのすすめ
1.SQL*Plus
Ver5の時代から君臨
2.SQL Developer
参考:SQL Developerって必要ですか
・ありそうな悩み
SQL*Plusだけど、やっぱつらい
SQLclなんてどうでしょう?
・SQLclとは
Java実装のコマンドラインツール、12.2にも同梱
JRE1.8以上のみ
・インストールからOS認証
・login.sqlでカスタマイズ
・SQLclの便利な機能
net お気に入りの接続先を登録
alias SQLを登録
info テーブル定義:構成情報
テーブル情報
列定義
索引・参照制約
→info+ 列統計まで
ddl オブジェクト再作成用のDDL
sqlformat 出力形式を変更(ヘッダつきCSVにも、JSONも)
・拡張できる
JavascriptでSQLclを拡張できる
行・列の入れ替え TRANSPOSE
■エキスパートはどう考えるか?体感パフォーマンスチューニング
・おらくるえーす
課題1
トランザクションの性能が悪い
さぐりのほうほう
・問診;徐々に遅くなってきた
比較:AWRレポート→正常時はない
リリース、RAC,プラットフォーム、CPU/コア、メモリ
Elapsed*CPU→DBTimeになっているのが普通だけど
DB Timeが大きい:DB以外で時間を使っている
・DB Timeの内訳
DB Time
CPU
Wait→今回はこちら
I/O
リード
ライト
その他
%DB Time
帯域イベント USER I/O
TOP5 Time
DBファイル シーケンシャル リード
可能性
検索範囲がひろがった
キャッシュヒット率
ストレージの性能
SQL Orderd By Elapsed Time
Elapsed Time
キャッシュヒット率?
SQL Order By gets:論理
SQL Order By read:物理
チューニング
キャッシュの量を増やす
解説
・データが増加するシステム
いつかはリソース不足になるので監視が重要
・メモリチューニング
バッファ・キャッシュ、共有プール、PGA
自動メモリ管理はHugePageのとき使用できない
課題2
・ある時間だけ性能がダウンする
AWR
ダイレクトパスリード:大きなブロック
ろぐふぁいるしんく:コミット確定
理由は
パラレル度
パーティションプルーニング
ストレージ性能
フルスキャン
表圧縮、パーティション
インスタンスを変える
インメモリー
・ダイレクトパスリード
I/Oチューニング
パーティショニング、表圧縮
インメモリー
ストレージ
時間↓=処理量↓/(速度*並列度)↑
・処理量を減らす
・高速化
・並列化
SwingbenchでIn-memory効果をみ
保持期限を1月以上
粒度の細かいAWR