[Database] Hybrid Columnar Compression Common Questions

原文はこちら。
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は別ライセンスが必要?
既存の表やパーティションに対し、Hybrid Columnar Compressionを有効化するベストプラクティスアプローチが3個あります。どの方法でも既存データに対してHybrid Columnar Compressionを有効化し、バルクロードで将来ロードされるデータを圧縮します。メソッドの違いはHCC圧縮を有効化しつつ表にアクセス可能にするか否か、という点です。
  • オンライン再定義(DBMS_REDEFINITION)
  • 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) のベストプラクティスに関わるのか、について説明する予定です。

0 件のコメント:

コメントを投稿