数据文件管理

当前版本:v1.4, 更新时间:2019-10-18

PinusDB将每个表每天的数据存储在一个单独的文件中(时间以格林尼治时间为标准对齐,由于中国处在东8区,实际存储时间为每天8点到次日8点前的数据,也就是文件’2019-7-15’中实际存储的是 ’2019-7-15 8:00:00’ 到 ‘2019-7-16 7:59:59’的数据)。

管理员可以以文件为单位进行数据文件的分离、附加及删除。可以方便对数据进行转储等等操作。

数据文件存储为:系统数据目录\表名\年\月\数据文件名。

系统普通数据目录由sys_config表中normalDataPath项指定。

系统压缩数据目录由sys_config表中compressDataPath项指定。

表名、年、月 部分如名称所示,月目录是两个数字,一到九月在前面补0。

数据文件名由表名_年月日组成。

例如,

系统普通数据目录为 e:\data,表 tab01 在2019-07-05的普通数据文件:

数据文件路径: e:\data\tab01\2019\07\tab01_20190705.dat

索引文件路径: e:\data\tab01\2019\07\tab01_20190705.idx

附加数据文件时数据文件和索引文件必须存放在相应的路径下。

系统压缩数据目录为 e:\compress,表tab01在2019-07-01的压缩数据文件:

数据文件路径: e:\compress\tab01\2019\07\tab01_20190701.cdat

压缩文件索引与数据存储在同一文件中,所以只需要将数据文件存放在相应路径下即可。

1. 分离数据文件

管理员可以将数据文件从系统中分离,分离后无法查询到对应数据。只能分离时间早于数据写入窗口(见产品介绍>名词解释部分)的数据文件。

分离文件使用方法如下:

  1. DETACH DATAFILE 'date' FROM tabname
  2.  
  3. --分离表tab01 201961日的数据文件实例如下:
  4. DETACH DATAFILE '2019-06-01' FROM tab01

2. 附加数据文件

将数据文件附加到表上,可以查询到对应的数据。

注意:数据文件中的表结构必须与附加到的表结构完全一致,字段个数、类型、顺序都需要完全一致。

附加数据文件使用方法如下:

  1. ATTACH DATAFILE 'date','file-type' FROM tabname

其中file-type的取值

normal -> 普通文件

compress -> 压缩文件

附加表tab01 的2019年6月1日的数据文件实例如下:

  1. ATTACH DATAFILE '2019-06-01','normal' FROM tab01

3. 删除数据文件

将数据文件删除后,无法恢复,操作时需谨慎!

注意:要删除的数据文件的日期必须早于数据写入窗口。

删除数据文件的使用方法如下:

  1. DROP DATAFILE 'date' FROM tabname

删除表tab01 在2019年6月1日的数据文件实例如下:

  1. DROP DATAFILE '2019-06-01' FROM tab01