原文はこちら。
https://blogs.oracle.com/DBStorage/entry/hybrid_columnar_compression_common_questions
先週と同様、Hybrid Columnar Compression (HCC)についてよく尋ねられる質問についてこのエントリでご紹介します。質問は以下のようなものです。
ってわけで、「どれがうちに最適なのさ?」とおたずねになるかと思うのですが、そうですね、あなた次第です。圧縮を有効化している間に表やパーティションをオンラインのまま利用可能にしたいというのであれば、オンライン再定義やALTER TABLE MOVE PARTITION ONLINEが最適でしょう。圧縮のための停止時間を取る場合には、ALTER TABLE MOVEを使ってください。ですが、どちらを利用されたとしても、同じレベルの圧縮を提供します。
どのタイプのアプリケーションがHCCに最適化という質問は実のところそれほどよくある質問ではありませんが、この質問への回答を理解することは重要だと思います。HCC圧縮をOLTPやData Warehouseアプリケーションで利用できますが、HCCを表やパーティションだけに有効化し、DMLのINSERT/UPDATEの操作を実施しない、もしくはしたとしても頻繁には実施しないことをおすすめします。Hybrid Columnar圧縮された表のデータを従来のデータ操作言語(DML)のオペレーション、具体的にはINSERTやUPDATE、DELETEを使って変更することができますが、そのような操作を実施した結果、HCC圧縮率が下がる可能性があります。そして、この操作を頻繁に実施すると、JCC圧縮率が時間の経過とともに低下します(表やパーティションの再圧縮が必要です)。表やパーティションに対して頻繁にDML操作を実施する予定がある場合、そういったデータに対してはAdvanced Row Compressionがより適しています。
HCCに別ライセンスが必要か否かは、これもユーザーの方々がよく誤解されていることです。HCCを使うためには、 Exadata、SuperCluster、ZFS Storage Appliance、FS Flash Storage Systemを含む、HCCをサポートするOracleプラットフォームで、11.2.0.3以後のOracle Database Enterprise Editionを実行しなければなりません。
Hybrid Columnar Compressionのベストプラクティスに関するより多くの情報はホワイトペーパー(6~8ページ)に記載されていますので、是非ご覧ください。
データベース・ストレージ最適化の冒険は次のエントリに続きます。次回は、Advanced Row CompressionとHybrid Columnar Compressionがどのように直接Information Lifecycle Management (ILM) のベストプラクティスに関わるのか、について説明する予定です。
https://blogs.oracle.com/DBStorage/entry/hybrid_columnar_compression_common_questions
先週と同様、Hybrid Columnar Compression (HCC)についてよく尋ねられる質問についてこのエントリでご紹介します。質問は以下のようなものです。
- 既存の表やパーティションに対してHybrid Columnar Compressionを有効化するには?
- Hybrid Columnar Compressionが適しているのはOLTP、データウェアハウスのどちらのアプリケーション?
- Hybrid Columnar Compressionは別ライセンスが必要?
- オンライン再定義(DBMS_REDEFINITION)
- ステートメント実行中、表はRead/Write両方に対してオンラインのまま維持されます。表のオンライン再定義に適用される制限事項については、以下のリンクを参照してください。
Oracle® Database 管理者ガイド 12c リリース1 (12.1)
表のオンライン再定義に関する制限事項
http://docs.oracle.com/cd/E57425_01/121/ADMIN/tables.htm#ADMIN01510
Oracle® Database Administrator's Guide 12c Release 1 (12.1)
Restrictions for Online Redefinition of Tables
https://docs.oracle.com/database/121/ADMIN/tables.htm#ADMIN01510 - ALTER TABLE … MOVE PARTITION … ONLINE
- ステートメント実行中、パーティション/サブパーティションはRead/Writeのアクティビティ両方に対してオンラインを維持します。
- ALTER TABLE … MOVE COLUMN STORE COMPRESS FOR …
- ステートメント実行中、ALTER TABLE MOVE では表に対するDMLをブロックします。
ってわけで、「どれがうちに最適なのさ?」とおたずねになるかと思うのですが、そうですね、あなた次第です。圧縮を有効化している間に表やパーティションをオンラインのまま利用可能にしたいというのであれば、オンライン再定義やALTER TABLE MOVE PARTITION ONLINEが最適でしょう。圧縮のための停止時間を取る場合には、ALTER TABLE MOVEを使ってください。ですが、どちらを利用されたとしても、同じレベルの圧縮を提供します。
どのタイプのアプリケーションがHCCに最適化という質問は実のところそれほどよくある質問ではありませんが、この質問への回答を理解することは重要だと思います。HCC圧縮をOLTPやData Warehouseアプリケーションで利用できますが、HCCを表やパーティションだけに有効化し、DMLのINSERT/UPDATEの操作を実施しない、もしくはしたとしても頻繁には実施しないことをおすすめします。Hybrid Columnar圧縮された表のデータを従来のデータ操作言語(DML)のオペレーション、具体的にはINSERTやUPDATE、DELETEを使って変更することができますが、そのような操作を実施した結果、HCC圧縮率が下がる可能性があります。そして、この操作を頻繁に実施すると、JCC圧縮率が時間の経過とともに低下します(表やパーティションの再圧縮が必要です)。表やパーティションに対して頻繁にDML操作を実施する予定がある場合、そういったデータに対してはAdvanced Row Compressionがより適しています。
HCCに別ライセンスが必要か否かは、これもユーザーの方々がよく誤解されていることです。HCCを使うためには、 Exadata、SuperCluster、ZFS Storage Appliance、FS Flash Storage Systemを含む、HCCをサポートするOracleプラットフォームで、11.2.0.3以後のOracle Database Enterprise Editionを実行しなければなりません。
Hybrid Columnar Compressionのベストプラクティスに関するより多くの情報はホワイトペーパー(6~8ページ)に記載されていますので、是非ご覧ください。
Hybrid Columnar Compression (HCC) on Exadata (and Oracle Storage)
http://www.oracle.com/technetwork/database/database-technologies/performance/hybridcolumnarcompression-oow2010-200703.pdf
(訳注)
日本語版はまだですが、類似の内容は以下のリンクにあります。
ExadataのHybrid Columnar Compression(HCC)
http://www.oracle.com/technetwork/middleware/bi-foundation/ehcc-twp-131254-ja.pdf
データベース・ストレージ最適化の冒険は次のエントリに続きます。次回は、Advanced Row CompressionとHybrid Columnar Compressionがどのように直接Information Lifecycle Management (ILM) のベストプラクティスに関わるのか、について説明する予定です。