翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ハイブリッド列圧縮
Exadata の Oracle Hybrid Columnar Compression (HCC) は、Oracle データベースで使用できる圧縮オプションの中で最も高い圧縮率を実現します。データベースと Exadata の両方のストレージ機能を使用して高い圧縮率を実現し、I/O の削減により、特定のワークロードのストレージコストを削減し、パフォーマンスを向上させます。 HCC には、ウェアハウス圧縮とアーカイブ圧縮の 2 つのオプションがあります。ウェアハウス圧縮は、スマートスキャンクエリを使用してストレージセル内の HCC 圧縮ユニットを解凍するときに、ストレージコストを削減し、パフォーマンスを向上させます。アーカイブ圧縮は、パフォーマンスのオーバーヘッドを犠牲にして高い圧縮率を提供する情報ライフサイクル管理 (ILM) ソリューションであり、ほとんどアクセスされないデータを対象としています。
次のクエリを使用して、圧縮が有効になっているテーブルを識別できます。
select table_name, compression, compress_for from dba_tables where compression = 'ENABLED';
HCC 対応テーブルの場合、 compress_for
列には設定に応じて次のいずれかの値が表示されます。
QUERY LOW,QUERY HIGH,ARCHIVE LOW,ARCHIVE HIGH
さらに、 DBMS_COMPRESSION.GET_COMPRESSION_TYPE
関数を使用して、セグメントの HCC 設定と、HCC の使用が有効になっているセグメントの圧縮率を分析するdbms_compression.get_compression_ratio
手順を理解できます。
次の例では、 TEST_HCC
はサイズが約 30 MB のテーブルです。ARCHIVE HIGH
オプションを使用して HCC が有効になります。の出力dbms_compression.get_compression_ratio
は、テーブルの圧縮率が 19.4 であることを示しています。
HCC を使用しない場合、このテーブルのサイズは約 580 MB に拡大されます。
SET SERVEROUTPUT ON DECLARE l_blkcnt_cmp PLS_INTEGER; l_blkcnt_uncmp PLS_INTEGER; l_row_cmp PLS_INTEGER; l_row_uncmp PLS_INTEGER; l_cmp_ratio NUMBER; l_comptype_str VARCHAR2(32767); BEGIN DBMS_COMPRESSION.get_compression_ratio ( scratchtbsname => 'USERS', ownname => upper('TEST_USER'), objname => upper('TEST_HCC'), subobjname => NULL, comptype => DBMS_COMPRESSION.COMP_ARCHIVE_HIGH, blkcnt_cmp => l_blkcnt_cmp, blkcnt_uncmp => l_blkcnt_uncmp, row_cmp => l_row_cmp, row_uncmp => l_row_uncmp, cmp_ratio => l_cmp_ratio, comptype_str => l_comptype_str, subset_numrows => DBMS_COMPRESSION.comp_ratio_allrows, objtype SQL> => DBMS_COMPRESSION.objtype_table ); DBMS_OUTPUT.put_line('Number of blocks used (compressed) : ' || l_blkcnt_cmp); DBMS_OUTPUT.put_line('Number of blocks used (uncompressed) : ' || l_blkcnt_uncmp); DBMS_OUTPUT.put_line('Number of rows in a block (compressed) : ' || l_row_cmp); DBMS_OUTPUT.put_line('Number of rows in a block (uncompressed) : ' || l_row_uncmp); DBMS_OUTPUT.put_line('Compression ratio : ' || l_cmp_ratio); DBMS_OUTPUT.put_line('Compression type : ' || l_comptype_str); END; / Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 3851900 rows Number of blocks used (compressed) : 3816 Number of blocks used (uncompressed) : 74263 Number of rows in a block (compressed) : 1009 Number of rows in a block (uncompressed) : 51 Compression ratio : 19.4 Compression type : "Compress Archive High" PL/SQL procedure successfully completed.
への移行 AWS
HCC はハードウェアに依存する独自の圧縮テクノロジーであるため、HCC が有効になっているセグメントは、 上のターゲットプラットフォームへの移行中に解凍する必要があります AWS。Exadata HCC 機能が提供する圧縮率が高いため、アーカイブされたデータとアクセス頻度の低いデータを Exadata に保存することが一般的です。HCC AWS なしで で大規模なデータセットを管理するという課題に対処するには、データセットの非アクティブな部分をプライマリデータベースから移動し、Amazon S3 Intelligent-Tiering
Oracle Database に依存するワークロードの場合、HCC 対応セグメントを変換して、Oracle Database が提供する基本または高度な圧縮機能を使用することもできます。基本圧縮とアドバンスト圧縮は、Oracle Database EE でのみサポートされています。高度な圧縮には、追加のライセンスが必要です。Amazon EC2 と Amazon RDS は、これらの圧縮オプションの両方をサポートしています。