为什么我原始数据才33gb,插入数据库后反而还占用55gb呢

【TDengine 使用环境】
生产环境 /测试/ Poc/预生产环境

【TDengine 版本】3.3.8

【操作系统以及版本】centos 7.9

【部署方式】容器/非容器部署 docker

【集群节点数】

【集群副本数】

【描述业务影响】

【问题复现路径/shan】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】

【资源配置】

【报错完整截图】以非标签列计算,10亿数据*33为33GB,然而插入数据库后反而占用磁盘约55GB,这是为啥呢?(注,只新建了一个库,一张表数据10亿行,无其他数据)

如图,磁盘占用空间55GB

图片

会有 wal 数据

wal占用的磁盘空间是怎么计算得来的,这55gb里除了原始数据的33gb,也多了太多wal数据吧。而且tdengine不是会对原始数据进行压缩么,那这55gb多出来的数据就会更多了

@TDuser_M9rZ_1941 大佬教我

你可以分析下 wal 文件在某个 vnode文件目录的占比。例如我我自己的:du dnode1/data/vnode/vnode2/* -csh 就能看到对应的各个目录的文件大小。wal 是占比比较大的

@TDuser_M9rZ_1941 其实我就是想测下压缩率,这个wal数据会影响计算,有没有其他精准的方式测算数据压缩率呢

把 wal 去掉就可以了,

如果是最新版本,也有相关的命令 :TDengine TSDB 数据写入、更新与删除 | TDengine 文档 | 涛思数据

是最新的,这个结果不知道怎么计算压缩率

看到了,谢谢啦。但是这个压缩率,好像远远没有达到官方宣传的效果

我能否只保留自己的实际数据,完全删除掉wal数据呢

这个已经是不计算 wal 了,你这个表是不是宽表呢? 可以把 schema 和写入频率贴出来。一般真实数据会比模拟的有序数据低,会比随机数高。

减去这里的wal文件大小,就是数据库实际占用的数据大小吗

图片

SHOW TABLE DISTRIBUTED (SHOW 命令 | TDengine 文档 | 涛思数据
数据库 | TDengine 文档 | 涛思数据
执行下,看看结果

我没说全,还有
select * from INFORMATION_SCHEMA.INS_DISK_USAGE where db_name = ‘db_name’;
SHOW db_name.disk_info;
这样可以看看各个文件占用的空间

我能够不止查看某张表的压缩率吗,比如说我想看某个数据库整体的压缩率

你这之前不是贴图看到了吗,

此话题已在最后回复的 10 天后被自动关闭。不再允许新回复。