数据库大小和实际磁盘占用大小不一致

操作系统ubuntu 数据库大小和实际磁盘大小不一致

通过数据库命令查询只占用了500多M,实际发现占用了1.9个G,想要了解原因。

查询数据库占用:

Server is TDengine TSDB-OSS ver:3.3.8.4. License will never expire.

taos> SHOW db_name.disk_info;
taos> SHOW databases
    > ;
              name              |
=================================
 information_schema             |
 performance_schema             |
 vibration_sensor               |
 log                            |
Query OK, 4 row(s) in set (0.004727s)

taos> show vibration_sensor.disk_info;
           _db_usage            |
=================================
 Compress_ratio=[57.50%]        |
 Disk_occupied=[558662k]        |
Query OK, 2 row(s) in set (0.025946s)

taos> show performance_schema.disk_info;
Query OK, 0 row(s) in set (0.004171s)

taos> show log.disk_info;
           _db_usage            |
=================================
 Compress_ratio=[1.40%]         |
 Disk_occupied=[522k]           |
Query OK, 2 row(s) in set (0.008155s)

taos> show information_schema.disk_info;
Query OK, 0 row(s) in set (0.005031s)

taos> exit

实际查询物理磁盘占用:

nangao@nangao:/var/opt/nangao/user/appdata/iepe_dongtai$ du -hs /var/lib/taos/vnode/
1.9G    /var/lib/taos/vnode/

是做过删除表,或删除数据的操作吗?
对于时序数据库,如果删除了 database,则占用的磁盘会立即释放;如果只删除了表,或删除数据,不会立即释放磁盘,只是无法查询到,实际还占用着磁盘。
但如果是企业版,可以有compact来清理释放磁盘,但开源版不支持。

之前删除过数据库 那开源版该如何释放磁盘呢?

删除数据库后,开源版也是直接就释放磁盘的

那我这个现象如何解释呢 数据库查询到的大小和实际磁盘占用不一致

可以到数据目录下查看一下 是什么文件占用了内存。
show vibration_sensor.vgroups;
看一下是哪些 vnode,假如是vnode 3, 4, 5, 然后查看这几个vnode的数据情况
du -sh /var/lib/taos/vnode/vnode3/*

du -sh /var/lib/taos/vnode/vnode4/*

du -sh /var/lib/taos/vnode/vnode5/*