OceanBaseデータベースは、データ圧縮を行うための2つの方法をサポートしています。1つはデータエンコーディング方式であり、もう1つはlz4_1.0やzstd_1.0などの汎用圧縮アルゴリズムを使用する方法です。
OceanBaseデータベースでは、テーブル作成時またはテーブル属性変更時に、row_formatを設定することでデータエンコーディングを有効または無効にできます。また、COMPRESSION属性を設定することで、使用する圧縮アルゴリズムを制御できます。
ROW_FORMATを使用したデータエンコーディングの有効化/無効化の制御
データエンコーディングを無効にします。SQLステートメントは以下のとおりです:
CREATE TABLE table_name ROW_FORMAT = REDUNDANT; ALTER TABLE table_name [SET] ROW_FORMAT = REDUNDANT; CREATE TABLE table_name ROW_FORMAT = COMPACT; ALTER TABLE table_name [SET] ROW_FORMAT = COMPACT;データエンコーディングを有効にします。SQLステートメントは以下のとおりです:
CREATE TABLE table_name ROW_FORMAT = DYNAMIC; ALTER TABLE table_name [SET] ROW_FORMAT = DYNAMIC; CREATE TABLE table_name ROW_FORMAT = COMPRESSED; ALTER TABLE table_name [SET] ROW_FORMAT = COMPRESSED; CREATE TABLE table_name ROW_FORMAT = CONDENSED; ALTER TABLE table_name [SET] ROW_FORMAT = CONDENSED; CREATE TABLE table_name ROW_FORMAT = DEFAULT; ALTER TABLE table_name [SET] ROW_FORMAT = DEFAULT;
COMPRESSIONを使用した圧縮アルゴリズムの制御
COMPRESSIONを使用して圧縮アルゴリズムを設定するSQLステートメントは以下のとおりです:
CREATE TABLE table_name COMPRESSION 'compress_func_name';
ALTER TABLE table_name [SET] COMPRESSION 'compress_func_name';
ここで、compress_func_nameはnone、zstd_1.0、lz4_1.0に設定可能で、noneは圧縮アルゴリズムを使用しないことを意味します。
詳細については、圧縮とエンコードを参照してください。