素人でもザックリわかるexadataのHCC圧縮について
業務で検討することになりそうなので、ざっくり調べてみました。
まぁ、結論から言えば最初は使われてないテーブルに対して、Query Lowで設定が妥当ですかね。
それでユーザに効果を認識してもらって、他のも順次実行、かな?
※一切の検証はしていないので、石を投げないでください。
機能概要
- 既存の圧縮と比較すると、高い圧縮率を誇るが、アクセス速度も保つことができる →列、行の圧縮ではなく、圧縮単位と呼ばれる単位で圧縮を行っているため
- 圧縮されたまま、ストレージ→フラッシュキャッシュ→バッファキャッシュに乗せることが可能
- 使用するためには、別ライセンスは不要 HCCをサポートするOracleプラットフォームで、EEであれば可能
利点
- 6~15倍の圧縮率
(圧縮レベル、圧縮内容による。
ホワイトペーパーの記載であり、他の記事を見てみると割と眉唾) - 圧縮とクエリ時間のバランスが一番良いのはQuery Low
(Oracle社PDFの検証結果のためもちろん要検証)
設定方法
- オンライン再定義(DBMS_REDEFINITION)
- ALTER TABLE … MOVE COMPRESS FOR QUERY HIGH
不明点
運用前の非圧縮状態の検証、検討内容、実施後の効果測定。
(やっぱりケースバイケース)
参考資料
https://www.oracle.com/technetwork/jp/database/exadata/ehcc-twp-131254-ja.pdf
https://www.oracle.com/technetwork/jp/ondemand/database/db-new/e-4-exatips-1448380-ja.pdf