数据库 | timescaledb性能初步测试

article/2025/8/18 19:13:32

数据库docker限制资源:CPU 4核,内存 8G。数据库版本:2.15.1-pg16
表结构和索引如下:

CREATE TABLE dm_tag_value (id BIGINT NOT NULL DEFAULT 0,ds_id BIGINT DEFAULT NULL,tag_name VARCHAR(200) DEFAULT NULL,tag_value VARCHAR(1000) DEFAULT '',tag_time TIMESTAMP DEFAULT NULL,app_time TIMESTAMP DEFAULT NULL,quality INTEGER DEFAULT NULL,create_time TIMESTAMP DEFAULT NULL
);
COMMENT ON COLUMN dm_tag_value.id IS 'id';
COMMENT ON COLUMN dm_tag_value.ds_id IS '数据源id';
COMMENT ON COLUMN dm_tag_value.tag_name IS '位号名';
COMMENT ON COLUMN dm_tag_value.tag_value IS '位号值';
COMMENT ON COLUMN dm_tag_value.tag_time IS '实时数据库tag返回时间';
COMMENT ON COLUMN dm_tag_value.app_time IS '查询实时数据库时间';
COMMENT ON COLUMN dm_tag_value.quality IS '质量码';
COMMENT ON COLUMN dm_tag_value.create_time IS '创建时间';
SELECT create_hypertable('dm_tag_value', by_range('app_time'));
--索引
CREATE INDEX idx_dm_tag_value_time_name ON dm_tag_value (tag_name,app_time desc);

从本地机器读取csv文件数据调用JDBC批量写入测试数据库,每批1W行(官方给出1W-1.5W性能最优,考虑内存占用取1W)。

1. 单线程连接写入

cpu 50%,内存 40%
Total rows written: 10045282
Total write time: 397.35 seconds
Average write speed: 25280.65 rows/second

2. 两线程连接并发写入

cpu 120%,内存 90%
线程1:
Total rows written: 11832048
Total write time: 492.50 seconds
Average write speed: 24024.50 rows/second
线程2:
Total rows written: 11944444
Total write time: 496.92 seconds
Average write speed: 24036.88 rows/second
合计:4.8W/s

3. 空间占用

目前数据量:86738750,平均一天数据量1000W
不压缩情况空间占用如下:15.6G(数据+索引),不压缩的情况下和MariaDB空间占用差不太多,同样数据MariaDB占用:19.6G(MariaDB多了一个主键索引).
image.png
对历史分区压缩后如下,压缩率:8%
image.png

4. 查询性能

  • count(*) 全量,耗时:6.7s
  • count(*) 一天,耗时:1.5s
  • 索引列count
select count(*) from dm_tag_value dtv 
where 
app_time  between '2024-06-04 00:00:00.000' and '2024-06-04 23:59:59.000' and 
tag_name ='TAG9016_ISYS7.1';

耗时 7ms

  • 索引列查询
select  * from dm_tag_value where app_time  between '2024-06-04 00:00:00.000' and '2024-06-04 23:59:59.000' and tag_name ='TAG9016_ISYS7.1'

耗时 5ms

  • 不走索引count
select count(*) from dm_tag_value dtv 
where 
tag_value > '10.880001068115234'

耗时33s

  • 不走索引查询
select * from dm_tag_value dtv 
where 
tag_value > '10.880001068115234'

耗时70ms

  • 分时间段过滤聚合
SELECTdm_tag_value.tag_name,time_bucket(INTERVAL '1 second' * interval_seconds, app_time) AS interval_time,min(concat(cast(app_time as VARCHAR),'|',tag_value)) as app_time_tag_valueFROMdm_tag_valueWHEREdm_tag_value.tag_name = ANY(tag_names)AND app_time >= NOW() - INTERVAL '1 minute' * duration_minutes - INTERVAL '1 second' * delay_secondsAND app_time < NOW() - INTERVAL '1 second' * delay_secondsGROUP BYdm_tag_value.tag_name, interval_time

耗时9ms

  • 压缩后对查询性能影响不大

总结

  • 写入性能
    在4CPU,8G内存的情况下写入能到4.8W行/S,也就是5W位号的情况下可以做到秒级延时。更多位号的情况下会延时,如要减少延迟时间需要增加资源,单机的话可以提升cpu和内存,把机械硬盘改为SSD固态硬盘(官方的数据多核+大内存+SSD能到20W行/S),非单机的话可以分布式部署提高吞吐。
  • 存储空间
    不压缩的情况存储空间比MariaDB占用稍小些,但是开启分区压缩后可以节省90%空间。
  • 查询性能
    正常通过时间或索引列查询毫秒级返回(目前业务场景都是这种),全表扫描查询秒级返回。分区压缩对查询性能影响不大。
  • 其他,比如批次大小对写入影响每测(官方给出的是1-1.5W每批性能最优),另外条件限制大内存SSD硬盘等的情况也没测。
    附件:时序数据库选型

http://www.hkcw.cn/article/rGIXsjLVJZ.shtml

相关文章

CVE-2019-0193源码分析与漏洞复现

漏洞概述 漏洞名称&#xff1a;Apache Solr DataImportHandler 远程代码执行漏洞 漏洞编号&#xff1a;CVE-2019-0193 CVSS 评分&#xff1a;9.8 影响版本&#xff1a;Apache Solr 1.3 - 8.2.0 修复版本&#xff1a;Apache Solr ≥ 8.2.0 漏洞类型&#xff1a;输入验证缺陷导致…

圣杯布局和双飞翼布局的实现方法

目录 一、圣杯布局 1.传统布局floatmargin 2.使用flex布局 3.使用grid网格布局 二、双飞翼布局 一、圣杯布局 1.传统布局floatmargin 使用传统的float浮动和相对定位来实现 <div class"main-container"><div class"main"></div><div …

第4讲、Odoo 18 模块系统源码全解与架构深度剖析【modules】

引言 Odoo 是一款强大的开源企业资源规划&#xff08;ERP&#xff09;与客户关系管理&#xff08;CRM&#xff09;系统&#xff0c;其核心竞争力之一在于高度模块化的架构设计。模块系统不仅是 Odoo 框架的基石&#xff0c;更是实现功能灵活扩展与定制的关键。本文将结合 Odoo…

一台笔记本实现基因表达敲除?!scTenifoldKnk 单细胞基因模拟敲除教程

生信碱移 单细胞基因模拟敲除 scTenifoldKnk 是一种基于单细胞RNA测序数据进行虚拟基因敲除分析的方法&#xff0c;能够用于预测特定基因在某一细胞群体中敲低后的整体基因表达谱变化&#xff0c;也可以扩展到多细胞群体的敲除分析。 基因扰动实验是研究特定基因功能作用的强大…

高架疑车道减少致车辆高坠人员伤亡 死者家属称正商量赔偿

据澎湃新闻报道,有网友反映,5月19日,其侄儿驾车经过广东东莞环莞快速路虎门段,由于四车道变三车道,车辆从高架冲出路面后高坠,车内人员出现伤亡。5月29日,极目新闻记者致电东莞市应急管理局询问事故处置情况,接线人员表示,公安机关在负责处理此事。虎门交警工作人员也…

76岁男子长期吸烟被确诊为肺癌晚期 放射性粒子植入治疗成功实施

5月29日,上海交通大学医学院附属第九人民医院呼吸与危重症医学科戈霞晖主任医师团队成功为一名76岁的小细胞肺癌晚期患者实施了放射性碘125粒子植入治疗,实现了肿瘤的“定点爆破”。这种植入术能够持续释放低剂量γ射线,最大程度破坏肿瘤组织,并有效保护周围正常组织。这名…

成都27岁女子在家门口被害 凶手父亲抱怨因此事有家难回

女儿被杀已属最大不幸,还要承受凶手父亲的抱怨,这让人情何以堪?成都27岁女子王某雅在家门口被杀,凶手的父亲竟称:“就这事害我们有家不能回,花钱在外面住宾馆。”被害的王某雅,海归硕士,喜欢跳舞,平时在家线上办公。她是人们口中“别人家的孩子”,是母亲王女士的骄傲…

1.什么是node.js、npm、vue

一、Node.js 是什么&#xff1f; &#x1f63a; 定义&#xff1a; Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;让你可以在浏览器之外运行 JavaScript 代码&#xff0c;主要用于服务端开发。 &#x1f63a;从计算机底层说&#xff1a;什么是“运…

续肉不停!广东潮汕菜市场的猪脚饭要蹲着吃

广东潮汕菜市场的猪脚饭要蹲着吃,在广东潮汕地区,猪脚分为两大门派,一派是隆江,一派为东里,与隆江猪脚一整只卤制不同,东里猪脚要对半分开,切断骨头,是为了让骨髓融入卤汁,令猪脚更易入味。经过炖煮的猪脚和肉,吸足了卤汁,皮胶肉烂,油光水滑,酥香软糯得入口即化,…

库存翻番,赠送股东!五芳斋粽子,卖不动了?BUG:股东申领热情高

五芳斋近日宣布向股东赠送粽子礼盒,引发广泛关注。根据公告,截至4月28日交易结束,在中国证券登记结算有限责任公司上海分公司登记在册的持有公司股份1000股(含)以上的股东,每位可以申领“丰年五芳”粽子礼盒一盒,申领时间为2025年5月28日至6月8日。然而,市场对此反应冷…

男子杀害摊主潜逃27年落网 乡音暴露身份密码

27年前,21岁的外省小伙阿亮在当地与一猪肉摊摊主发生口角,一时冲动持刀将其杀害后隐姓埋名潜逃。当时的技术条件有限,警方追凶工作一度陷入瓶颈。27年后,阿亮辗转逃至扬州仪征。仪征警方凭借一句乡音破解了他的“身份密码”,成功将其抓获归案,这起尘封多年的命案积案终于…

郑大一附院世界最大的医院原院长阚全程被查

“宇宙第一大医院”郑大一附院原院长阚全程被查,医疗圈人称其“阚十亿”。责任编辑:zx0002

为什么现在的富二代更卷?

提到「富二代」,很多人都觉得他们是只知道吃喝玩乐的纨绔子弟,但是很多时候,有些富二代并不像我们想象当中的无忧无虑,现在另一种「卷王富二代」变得越来越多。富二代和穷二代,差的不仅仅是「富」和「穷」,而是平台、资源、心态等等很多方面的差距,之前网上比较流行的一…

小伙拍下800斤杨贵妃同款荔枝 浪漫与话题齐飞

小伙拍下800斤杨贵妃同款荔枝。最近,山东潍坊一位90后小伙拍下800斤杨贵妃同款荔枝的事儿,在网上引发了不小的关注。这一操作给平淡的生活带来了波澜,让人好奇背后的故事。在古代,杨贵妃一句“一骑红尘妃子笑,无人知是荔枝来”,让荔枝成了浪漫与宠爱的代名词。如今,这位…

Flutter实现不规则瀑布流布局拖拽重排序

因为业务&#xff0c;所以需要用flutter去实现一种不规则图形的瀑布流&#xff0c;但是同时需要支持拖拽并重新排序。效果类似如下。 查询过现有的插件&#xff0c;要么是仅支持同样大小的组件进行排序&#xff0c;要么就是动画效果不是很满意&#xff0c;有点死板&#xff0c;…

设置变体控制两个apk, 一个是有密码,一个是没有密码!

// ✅ 定义变体维度 flavorDimensions "default"// ✅ 定义产品变体 productFlavors {create("noPassword") {dimension "default"buildConfigField("boolean", "HAS_DEFAULT_PASSWORD", "false")buildConfigFi…

Leetcode 2921. 价格递增的最大利润三元组 II

1.题目基本信息 1.1.题目描述 给定长度为 n 的数组 prices 和 profits &#xff08;下标从 0 开始&#xff09;。一个商店有 n 个商品&#xff0c;第 i 个商品的价格为 prices[i]&#xff0c;利润为 profits[i]。 需要选择三个商品&#xff0c;满足以下条件&#xff1a; pr…

电视剧《长安的荔枝》定档6月7日 雷佳音岳云鹏携手破局

古装传奇剧《长安的荔枝》由曹盾、高翔执导,马伯庸担任故事顾问,雷佳音和岳云鹏领衔主演,将于6月7日19:30在CCTV-8黄金强档播出,并在腾讯视频全网独播。此外,那尔那茜、安沺、吕凉、公磊、冯嘉怡、芦芳生、郭涛、韩童生、窦骁、张天爱、尹昉、明道等演员也将出演。该剧改编…

欧阳娜娜体验小鹏MONA M03 智能驾驶新标杆

5月28日晚,小鹏汽车在北京举办了MONA潮玩派对暨M03 Max新车上市发布会。会上,小鹏MONA M03升级亮相,并推出了四款全新版型,全球首发了人机共驾功能,官方指导价在11.98万至13.98万元之间。小鹏汽车董事长兼CEO何小鹏与车主欧阳娜娜现场互动,详细介绍了M03 Max的高阶智能辅…

女子托运行李丢失金手链 嫌疑人被拘 警方介入调查

杨女士乘坐春秋航空班机从西安回宁波时丢失了一条黄金手链。5月30日凌晨,她透露西安咸阳国际机场警方已抓获嫌疑人,她将前往西安协助警方办案。5月25日,杨女士乘坐春秋航空公司班机从西安返回宁波,到家后发现装在托运行李箱中的一条黄金手链丢失,而包装盒及箱子中的其他物…