Oracle SOA Suite
Enterprise Service Bus
Enterprise Manager
Oracle integration Product Management
Oracle Advanced Compression:ディスクの節約と
データベースの高速化を可能にする包括的な圧縮機能
本書は、弊社の一般的な製品の方向性に関する概要を
説明するものです。また、情報提供を唯一の目的とする
ものであり、いかなる契約にも組み込むことはできません
。本書は、マテリアルやコード、機能の提供を確約するも
のではなく、また、購買を決定する際の判断材料とはなり
えません。 オラクルの製品に関して記載されている機能
の開発、リリース、および時期については、弊社の裁量に
より決定いたします。
アジェンダ
z
データの増加に伴う課題
z
Oracle Advanced Compression機能の概要
z 表の圧縮
z 非構造化データの圧縮
z バックアップの圧縮
z Oracle Data Guardによるネットワーク転送時の圧縮
z
競合分析
課題
zデータ量の急増
z 政府による規制(サーベンス・オクスリー法など) z ユーザーが生成するコンテンツ(Web 2.0) z アプリケーションの統合 z限られたIT予算で大量のデータへの対応を迫られている
ITマネージャーに課せられた課題
z ストレージ消費の最適化 z 許容レベルのアプリケーション・パフォーマンス維持 z上記の課題への対応を可能にするインテリジェントかつ
効率的な圧縮テクノロジーの確保
Oracle Advanced Compressionオプションとは
zOracle Database 11gで導入された一連の包括的な圧縮機能
z 構造化データおよびリレーショナル・データの圧縮 z 非構造化データの圧縮 z バックアップ・データの圧縮 z ネットワーク転送時の圧縮 zリソース要件とコストを削減
z ストレージ・システム z ネットワーク帯域幅 z メモリ使用量表圧縮
z
Oracle9i Database Release 2で導入
z バルク・ロード処理時の圧縮(ダイレクト・ロード、CTAS) z 従来のDMLを使用して変更されたデータは圧縮されない z
リレーショナル・データ用に最適化された圧縮アルゴリズム
z大量のデータにアクセスする問合せのパフォーマンスを改善
z I/Oの削減 z バッファ・キャッシュの効率性向上 zデータの圧縮はデータベースのブロック・レベルで実行
z表レベルまたはパーティション・レベルでの圧縮が可能
zアプリケーションに対して完全に透過的
OLTPの表圧縮
z
Oracle Database 11gからはOLTPデータの表圧縮に対応
z 従来のDML操作時の圧縮もサポート (INSERT、UPDATE) z
書込みオーバーヘッドの大幅な削減を可能にする新しいアルゴリズム
z バッチ・ベースでの圧縮により、ほとんどのOLTPトランザクション への影響を回避 z読取りへの影響がない圧縮機能
z I/O削減とメモリ効率向上の結果として、 読取りパフォーマンスの改善が可能OLTP表圧縮のプロセス
空の ブロック 圧縮されて いない初期 のブロック 圧縮済みの ブロック 部分的に 圧縮された ブロック 圧縮済みの ブロック 説明 ヘッダー・データ 非圧縮データ 空き領域 圧縮データブロック・レベルでのバッチ圧縮
z 独自のアルゴリズム(特許出願中)によりパフォーマンス・ オーバーヘッドの最小化と圧縮の最大化を実現 z 個別のINSERTおよびUPDATEでは再圧縮はおこなわれない z 圧縮コストが複数のDML操作に分割 z ブロック・レベル(ローカル)での圧縮により、OLTP環境における頻繁なデータ変 更への対応が可能 z サイズが固定された静的なディクショナリ表を使用している競合製品では、圧縮のメリッ トを活かしきれない z 業界標準の圧縮アルゴリズムをデータベースにも適用 z GZIPやBZ2などの圧縮ユーティリティが、同様の適応性の高いブロック・レベルを使用OLTPの表圧縮
従業員表
圧縮されていない初期のブロック
ヘッダー
OLTPの表圧縮
従業員表
圧縮済みの
ブロック
ヘッダー
空き領域
ローカルの
シンボル・テーブル
OLTPの表圧縮
圧縮されていないブロック
圧縮済みの
ブロック
ヘッダー
空き領域
ローカルの
シンボル・テーブル
各ブロックのデータ容
量が拡大
ヘッダー
空き領域
表圧縮の構文
OLTP表圧縮の構文
OLTPの表圧縮
ベスト・プラクティス
zもっとも大きい表10個を圧縮
z 80対20の法則 – 使用可能な領域の80%は、20%の表で消費される zブロック・サイズが大きいほど圧縮率が向上
z 重複値が含まれる可能性が高いため zBツリー索引の圧縮
z 索引の検証とINDEX_STATSの確認 z INDEX_STATS.OPT_CMPR_COUNT z INDEX_STATS.OPT_CMPR_PCTSAVE zビットマップ索引に対する高い圧縮率
z 低/中カーディナリティに最適OLTPの表圧縮
圧縮処理の基礎
z
Compression Advisor
z 圧縮されていない表の予測圧縮率を表示
OLTPの表圧縮
圧縮処理の基礎
z
圧縮状況の監視
z DBA_TABLES
z COMPRESSION(ENABLED/DISABLED)
実環境における圧縮の概要
z
オラクルでおこなったOracleアプリケーション実装からのデータ
z もっとも大きい10の表を圧縮
z 各表につき2つのコピー:圧縮表と非圧縮表 z Oracle Enterprise Linux
z Oracle Database 11g Release 1
z
問合せのテスト
z 全表スキャン
z 索引レンジ・スキャン
実環境における圧縮の結果
ストレージ使用量
MB
70%以上のストレージを
節減
圧縮なし 圧縮あり実環境における圧縮の結果
表スキャンのパフォーマンス
時間(秒)
2.5倍の圧縮速度
実環境における圧縮の結果
表スキャンの読取り
物理
読取り
圧縮時の読取りが
3分の1に減少
圧縮なし 圧縮あり実環境における圧縮の結果
索引レンジ・スキャンのパフォーマンス
時間(秒)
索引スキャンの
パフォーマンスへの
影響なし
圧縮なし 圧縮あり実環境における圧縮の結果
DMLのパフォーマンス
時間(秒)
3%未満の圧縮
オーバーヘッド
圧縮なし 圧縮ありOracle SecureFilesの概要
zデータベースでのファイル・データ処理を可能にする11gの新機能
z次世代LOB
z LOBインタフェースのスーパーセットによりLOBからの移行が簡単に z 透過的な非重複、圧縮、および暗号化処理 z データベースのもつセキュリティ、信頼性、およびスケーラビリティを活用 zファイル・データと関連するリレーショナル・データとの統合を実現
z 単一のセキュリティ・モデル z 統一されたデータ・ビュー z データの一元管理 z SMPによるスケール・アップまたはグリッド・ベースのスケール・アウトにより、 あらゆるレベルへの拡張が可能SecureFilesの非重複機能
z重複データが単一の物理イメージで保存されるようにする機能
z消費領域を大幅に削減
z書込みとコピーの操作効率が飛躍的に向上
z読取り操作への悪影響を解消
z キャッシュ・データの読取りパフォーマンスが改善 z重複の検出は、表、パーティション、またはサブパーティション内で実行
zとくにコンテンツ管理、電子メール・アプリケーション、およびアーカイブ・
アプリケーションでの使用に威力を発揮
セキュアなハッシュSecureFilesの圧縮機能
zストレージの大幅な節約を実現
z 業界標準の圧縮アルゴリズム z 一般的なファイル(doc、pdf、xmlなど)の場合、2~3倍の圧縮率 zランダムな読取りと圧縮済みSecureFileデータへの書込みが可能
zパーティション・レベルでの指定が可能
z圧縮可能なSecureFileデータを自動検出
z すでに圧縮されているデータをスキップ z 節約できる領域がゼロに近い場合、自動的に圧縮を無効化 z2つの圧縮レベルにより異なる圧縮率をサポート
z表圧縮または索引圧縮に依存せず、独立して動作
SecureFiles圧縮の構文
SecureFiles非重複の構文
SecureFiles圧縮の構文
Oracle Data Pumpの圧縮機能
zOracle Database 10g以降はメタデータの圧縮が可能
zOracle Database 11gからはエクスポート時の表データ圧縮にも
対応
z インポート前の解凍は不要 zデータとメタデータの両方を単一ステップで圧縮
z ディスクに直接アクセスして圧縮済みデータを検出するため、必要なディスク 領域が減少 z 内部テストでは、ダンプ・ファイル・サイズが最大75%縮小 zGNU gzipユーティリティに匹敵する圧縮係数
zアプリケーションに対して透過的
z 圧縮済みのファイルに対しても、Data Pumpの全機能を使用可能Oracle Data Pumpの圧縮機能
zパフォーマンス・コスト:10%以下のオーバーヘッド
z圧縮率:gzipに匹敵
圧縮メソッド
OE/SH
スキーマ
空間表
空間スキーマ
バックアップ圧縮
z
Oracle Recovery Manager(Oracle RMAN)の高速圧縮機能
z ディスクまたはテープへの書込み前にバックアップ・セットの内容を 圧縮 z Oracle RMANの圧縮を使用している場合、リカバリ時に追加の解凍手順が 不要 z 業界標準の高性能圧縮アルゴリズム z Oracle Database 10gと比べて40%速いバックアップ圧縮 z 迅速さが求められる日次増分バックアップに最適 z ネットワーク使用量を削減
バックアップ圧縮の構文
Oracle RMAN高速圧縮機能の構成
Oracle RMANによる圧縮の構文
Oracle RMANによる圧縮の概要
z
オラクルでおこなったOracleアプリケーション実装からのデータ
z3.5GBデータベース
z
Oracle Enterprise Linux
z
Oracle Database 11g Release 1
z
テスト1:低速I/O(16MB/秒)
zOracle RMAN 11g、圧縮未使用
zOracle RMAN 10g、圧縮使用
zOracle RMAN 11g、高速圧縮使用
zテスト2:高速I/O(200MB/秒)
zOracle RMAN 11g、圧縮未使用
zOracle RMAN 10g、圧縮使用
zOracle RMAN 11g、高速圧縮使用
バックアップ圧縮の結果
バックアップ・
サイズ
の比較
GB
圧縮によりバックアップ・サイ
ズが6分の1に減少
圧縮なし 10gによる圧縮 11gによる圧縮バックアップ圧縮
低速I/O(テープ)での
バックアップ
速度
の比較
時間
(秒)
11gの圧縮ではバックアッ
プ時間がほぼ3分の1に短
縮
圧縮なし 10gによる圧縮 11gによる圧縮バックアップ圧縮
低速I/O(テープ)での
バックアップ
速度
の比較
時間
(秒)
11gの圧縮速度は10g
のほぼ2.5倍
圧縮なし 10gによる圧縮 11gによる圧縮バックアップ圧縮
高速I/O(ディスク)での
バックアップ
速度
比較
時間
(秒)
11gの圧縮速度は10g
のほぼ2.5倍
圧縮なし 10gによる圧縮 11gによる圧縮Oracle Data Guard
zREDO送信
z ネットワークを介してプライマリからスタンバイにREDOデータを送信 z 通常REDOデータのサイズは小規模(トランザクション・ベース)で、ネットワー クによる制限は受けない zギャップの解消
z ネットワーク停止後 – スタンバイの再同期を実行 z REDOデータのサイズが通常よりも大きい プライマリ・データベース スタンバイ・データベースREDO送信
Data Guard
ネットワーク圧縮
Oracle Data Guard REDO
転送サービス
z
ネットワーク停止後のスタンバイ・データベースにおける高速再同期が
可能
z低い帯域幅のネットワーク(100Mbps未満)
z 1GBのデータ転送に必要な時間を15~35%短縮 z 帯域幅の消費を最大35%削減 z高い帯域幅のネットワーク(100Mbps超)
z 圧縮による転送時間の短縮なし z 帯域幅の消費は最大35%削減競合分析 – IBM DB2
ブロック・レベルでの圧縮 -適応型の動的な圧縮 -無制限の圧縮値 解凍時のオーバーヘッドなし -最小の圧縮オーバーヘッド -バッチ・ベースの圧縮 索引圧縮 非構造化データの圧縮と非重複 (SecureFiles) 表/パーティション・レベルの 圧縮ディクショナリ -新規データが圧縮されない可能性あり/ オフラインで再構築される シンボル・テーブル -表ごとに最大4,000の値 解凍時に若干のオーバーヘッドあり -圧縮オーバーヘッドが大きい -トランザクション・ベースの圧縮 なし なし競合分析 – IBM DB2
z圧縮を使用しない場合でも、OracleのほうがDB2よりも必要なディスク
領域が少ない
z Oracleでは数値に対して可変長のデータ型を使用 – DB2では固定長を 使用 z DB2ではVARCHARデータに対するオーバーヘッドが大きいz
Oracleに保存した場合、SAP BW(Business Information Warehouse)
のデータに必要なディスク領域が30~50%減少
競合分析 – Teradata
ブロック・レベルでの圧縮 あらゆるデータ型をサポート -最小の圧縮オーバーヘッド -バッチ・ベースの圧縮 バックアップ圧縮機能あり 非構造化データの圧縮と非重複 (SecureFiles) -動的な圧縮値 -無制限の値 フィールド・レベルでの圧縮 -管理者による圧縮値の定義が必要 -最大255の圧縮値 サポート対象のデータ型に 制限あり -圧縮オーバーヘッドが大きい -トランザクション・ベースの圧縮 なし なし競合分析 – ハードウェア・ベースの圧縮
データベース固有の 圧縮アルゴリズム 複数のケースで読取りパフォーマンスが 向上 – 解凍時のオーバーヘッドがないため メモリ効率の改善 - メモリ内でも データが圧縮されているため 圧縮オーバーヘッドを最小限に抑えるバッ チ・ベースのアルゴリズム あらゆる環境に自動的に カスケード可能 粒度の細かい圧縮機能 - 表領域、表、 またはパーティション・レベルでの圧縮 が可能 一般的な圧縮アルゴリズム – データベース用としては不十分 粒度の荒い圧縮機能 – ファイル・レベルで圧縮 読取りパフォーマンスが低い - 解凍時 のオーバーヘッドが大きいため メモリ効率の改善効果なし – データの解凍が必要なため データ更新コストが非常に高い 圧縮機能の有効性が特定のハードウェ ア環境に限られているハードウェアでの圧縮
競合分析
Oracleと競合製品の比較:ERPアプリ ケーションでの最大の表10個に対する圧縮 サイズ(MB) Oracle 圧縮なし Oracle 圧縮あり 競合製品 圧縮なし 競合製品 圧縮ありまとめ
z