4.3.5 ob 创建table 默认用的压缩算法是什么

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】V4.3.5
【问题描述】4.3.5 ob 创建table 默认用的压缩算法是什么
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据文档库中的信息,在 OceanBase 数据库中创建表时,默认使用的压缩算法由参数 default_compress_func 决定。对于 V4.3.5 版本,虽然没有直接提及该版本的默认值,但可以参考相近版本的信息。

在相关说明中提到,默认情况下 default_compress_func 的值为 zstd_1.3.8(来源:使用说明)。这意味着除非特别指定其他压缩算法或更改了此系统参数,在创建新表时将采用 ZSTD 1.3.8 版本作为默认的压缩算法。

如果您希望确认当前环境下的确切设置,可以通过查询系统参数来获取实际使用的默认压缩算法:

obclient> SHOW VARIABLES LIKE 'default_compress_func';

此外,如果需要为单独的表选择特定的压缩算法,可以在创建数据表时通过 CREATE TABLE 语句中的 COMPRESSION 属性来指定(来源:创建表(MySQL 模式)创建表(Oracle 模式))。例如:

CREATE TABLE my_table (
    id INT PRIMARY KEY,
    name VARCHAR(255)
) COMPRESSION='lz4_1.0';

请注意,更高的压缩率通常会更节省磁盘空间,但也意味着性能上的牺牲。因此,在选择压缩算法时,请根据您的具体需求权衡空间与性能之间的关系(来源:使用说明)。

详情请参考:

  1. 合并管理概述
  2. 表压缩
  3. default_compress_func
  4. 集群管理 FAQ
  5. 产品 FAQ
  6. 压缩与编码
  7. 数据压缩概述
  8. clog_persistence_compress_func
  9. 体验并行导入和数据压缩
2 个赞

查看表结构,建表语句最后一行都有。

我是V4.3.x版本,COMPRESSION = ‘zstd_1.3.8’

1 个赞

不同的压缩算法,区别大吗?

第二阶段的压缩算法好像是lz等普通压缩

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002014000