OceanBaseデータベースは、データエンコーディング方式と汎用圧縮アルゴリズム(lz4_1.0、zstd_1.0など)の2種類の方法でデータ圧縮をサポートしています。
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 は圧縮アルゴリズムを使用しないことを表します。
詳細については、圧縮とエンコードを参照してください。