GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

南大通用GBase 8s数据库数据压缩策略详解(二)

发布时间:2025-03-04

本文将分两章(第二章)详细介绍GBase 8s的数据压缩功能,包括压缩的作用、方式、命令以及限制。在存储空间有限、需要减少数据占用空间、提高数据处理效率的情况下会用到GBase 8s数据压缩;同时推荐对不常更新的数据表、分片进行压缩。为存储空间节省和I/O效率提升提供了有效解决方案。

04 检验数据压缩命令

1、onstat -g ppd:执行数据压缩后,可以查看数据字典

例:execute function task('table create_dictionary', ‘table', ‘db',‘gbasedbt');

onstat -g ppdpartnum ColOffset DbsNum CrTS CrLogID CrLogPos DrTS DrLogID DrLogPos0x1001d5 -1 1 1393371661 4 16339024 0 0 00x1001d5 4 1 1393371661 4 16355408 0 0 0

partnum:应用到压缩字典的分区号

ColOffset:一个压缩分区的BLOB列的字节偏移量,-1仅行被压缩

DbsNum:驻留在字典中数据库空间数量

CrTS:数据字典生成的时间搓

CrLogID:当数据字典生成的时候产生的逻辑日志的唯一ID

CrLogPos:创建数据字典时逻辑日志的位置

DrTS:数据字典被清楚的时间搓

DrLogID:数据字典被清除时产生的逻辑日志Unique ID

DrLogPos:数据字典被清楚时逻辑日志的位置

 

2、评估压缩比例

execute function task("table estimate_compression", "tablename", "dbname", "owner_name"); est curr change partnum coloff table----- ----- ------ ------------- -----------------------------75.7% 75.3% +0.4 0x00200003 -1 insurance:bwilson.auto75.7% 0.0% +75.7 0x00300002 -1 insurance:pchang.home

est :已经存在压缩比

curr:目前压缩比

change:目前压缩与之间的压缩变化

partnum:分片num

coloff:评估在数据空间的数据是行数据还是blobs数据;

table:表名,database:owner.tablename

 

3、打印正在执行的压缩操作命令

onstat –g dsk Processed Remaining Duration Partnum OP Pass Rows Blobs Rows Time(s) Table Name400002 Repack 1 6325 1752 1497 00:00:00 db:sl:t1

partnum:分片NUM

OP:压缩操作, 例如compress(压缩), repack(对数据库中的表进行重新打包), or shrink(释放未使用的磁盘空间)

Pass:进队repack操作(对数据库中的表进行优化处理)有效, 1 指读行pass, 2 指第二次pass

Processed Rows:压缩操作行数

Blobs:操作blobs数量

Remaining Rows:没有压缩的行数.

Duration Time(s):操作持续的时间,以秒为单位

Table Name: 表名

 

05 数据压缩的限制

以下情况不能被压缩:

1、不以行(rows)进行存储的数据(blobs)

2、索引

3、临时表

4、catalog表

5、系统库中的表

南大通用GBase 8s的数据压缩技术是数据库管理员和开发人员进行存储优化和性能提升的重要工具。通过本文的详细介绍,我们希望能够帮助您更有效地利用GBase 8s的压缩功能,感谢您的阅读。