TimescaleDB保存100万条设备采集数据的两种存储方案对比分析

模拟数据:2台设备,每个设备5个采点,每次上报2台设备各5个采点的数据,其中3个采点的数据值为固定前缀+每组的随机字符串,2个采点的数据为固定数值+每组的随机数值。每上报一次即为一组数据。

计划上报100万次。

存储方案1(按每台设备每次上报的数据为一条计算):

表数据量:200万条,实际上报100万次。

chunk: 18

手工压缩其中的3个chunk,效果如下:

chunk 压缩前总大小 压缩后总大小 压缩率

_hyper_10_19_chunk 42909696 8634368 0.20

_hyper_10_20_chunk 42713088 8634368 0.20

_hyper_10_21_chunk 43098112 8634368 0.20

建表语句:

CREATE TABLE public.device_datav (

device_name varchar(300) NOT NULL,

data_time timestamp NOT NULL,

"data" text NOT NULL,

CONSTRAINT vdevice_data_pkey PRIMARY KEY (device_name, data_time)

);

CREATE INDEX device_datav_data_time_idx ON public.device_datav USING btree (data_time DESC);

存储方案2(按每台设备每个采点为一条数据计算):

表数据量:9,999,990条,实际上报99万次。

chunk: 18

手工压缩其中的3个chunk,效果如下:

chunk 压缩前总大小 压缩后总大小 压缩率

_hyper_12_37_chunk 110895104 15835136 0.14

_hyper_12_38_chunk 101867520 15835136 0.16

_hyper_12_39_chunk 104464384 15835136 0.15

建表语句:

CREATE TABLE public.device_kvv (

device_name varchar(300) NOT NULL,

"key" varchar(300) NOT NULL,

data_time timestamp NOT NULL,

str_v varchar(1000) NULL,

long_v int8 NULL,

dbl_v float8 NULL,

json_v json NULL,

CONSTRAINT device_kvv_pkey PRIMARY KEY (device_name, key, data_time)

);

CREATE INDEX device_kvv_data_time_idx ON public.device_kvv USING btree (data_time DESC);

分析:设备数据量越大时,方案2的优势越明显,压缩率高,节约磁盘存储空间。

另外,部分第三方AI软件更倾向于支持方案2。但一般来说,不建议和第三方共用一个数据库。一旦发生问题,容易扯皮,也不好处理。

相关推荐
清水白石0084 分钟前
装饰器模式 vs Python 装饰器:同名背后的深度解析与实战融合
数据库·python·装饰器模式
正在走向自律5 分钟前
文档数据库替换新范式:金仓数据库MongoDB兼容性深度解析与实践指南
数据库·mongodb·国产数据库·金仓数据库
坐吃山猪14 分钟前
Neo4j02_CQL语句使用
运维·服务器·数据库
“αβ”20 分钟前
MySQL数据类型
c语言·数据库·opencv·mysql·数据挖掘·数据类型·数据
MMME~27 分钟前
HAProxy:高性能负载均衡实战指南
linux·运维·数据库
難釋懷39 分钟前
基于Redis的Stream结构作为消息队列,实现异步秒杀下单
数据库·redis·缓存
TDengine (老段)42 分钟前
TDengine IDMP 数据可视化——状态时间线
大数据·数据库·ai·信息可视化·时序数据库·tdengine·涛思数据
DolphinDB智臾科技42 分钟前
V3.00.5 & 2.00.18 更新!TPC-H 性能跃升,MPP 引擎来了…
大数据·数据库·时序数据库·dolphindb
xing-xing42 分钟前
Spring Data项目
数据库·spring
i220818 Faiz Ul10 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计