松果时序数据库(PinusDB)是一款以简单、易用、高性能为目标的开源时序数据库。本篇比较全面介绍松果时序数据库的测试,为用户测试选型提供参考。
松果时序数据库提供差值压缩,测试数据对压缩性能有着极大的影响,为此我们调研了一些公开的数据集,最后选择timescaledb官网提供的物联网设备的传感器信息来测试,数据集包含3000个设备每个设备1万条数据,总共3000万条数据。
数据集下载地址:https://timescaledata.blob.core.windows.net/datasets/devices_big.tar.gz
一 测试环境
CPU: Intel Core i3-7100 (双核4线程 3.9GHz)
内存: 8GB
硬盘:
C盘:120GB SSD 安装操作系统
D盘:1TB HDD
E盘:120GB SSD
操作系统:Windows Server 2016
二 服务部署
松果时序数据库安装过程请参考官网相应文档,这里仅说明配置文件的修改。
设置缓存大小为4GB,即:cacheSize=4096
数据集时间为2016年,故设置有效插入时间为2000,也就是允许写入距离当前时间2000天内的数据,即:insertValidDay=2000
设置表目录、普通文件目录到E盘,设置压缩数据目录、commit日志目录及系统日志目录到D盘。
完整服务配置如下:
三 数据写入
我们使用TimescaleDB官网提供的devices_readings_big.csv文件内的数据作为测试数据集。这个文件内数据的结构如下所示:
其中,bssid 与 ssid 字段是tag信息(这个请参考一下其他时序数据库的概念),每个设备的所有数据都不会有变化,所以这里测试建表时将这两个字段排除。
device_id是设备标识,取值为demo000000 ~ demo002999,在松果时序数据库中设备标识为大于0的整数,所以我们将device_id的后六位转为数字后加10000,也就是在松果时序数据库中devid的范围为 10000~12999;所有的double类型以real3类型存储,即:保留3个小数位(rea