当前位置: 首页 > news >正文

工业时序数据存储选型实战:从PostgreSQL到TDengine,查询从15秒到200ms

分享一个工业时序数据存储的选型和迁移实战经验。

场景描述

某3C代工厂,产线上部署了多台视觉检测设备,每台设备每秒钟产生30-50条检测结果。

业务需求:

  1. 查询任意7天的良率趋势,响应时间1秒以内

  2. 查询某一批次产品的所有检测记录,响应时间500ms以内

  3. 数据保留周期1年

初始方案及问题

最初用PostgreSQL存储。表结构包含时间、产品ID、缺陷类型、判定结果等字段。

数据量达到500万条时,问题暴露:

  • 7天趋势查询(约80万条)响应时间从200ms退化到15秒

  • 批量插入性能从5000条/秒降至2000条/秒

  • 索引膨胀,存储空间从预期50GB增长到100GB+

尝试了索引优化、分区表、SQL优化,效果有限。

原因分析

检测数据是典型的时间序列数据——按时间写入、按时间查询、极少更新。PostgreSQL的存储引擎为通用事务场景设计,不是为高频时序写入+范围查询优化的。

选型对比

对比维度PostgreSQLTDengine
写入速度(条/秒)500030000+
7天趋势查询15秒200ms
单批次查询(1000条)50ms20ms
存储空间(500万条)100GB40GB

TDengine优势:列式存储+时序索引,内置降采样和聚合函数,高压缩比。

迁移方案

渐进式迁移:

  1. 历史数据保留在PostgreSQL,用于长期归档

  2. 新数据(7天内)写入TDengine,用于实时分析

  3. 查询层做路由:7天内走TDengine,7天以上走PostgreSQL

核心代码示意:

public class DataQueryService {

public List<TrendData> queryTrend(Date start, Date end) {

long daysBetween = ChronoUnit.DAYS.between(start, end);

if (daysBetween <= 7) {

return tdEngineDao.queryTrend(start, end);

} else {

return pgDao.queryTrend(start, end);

}

}

}

上线效果

  • 7天趋势查询响应:15秒 → 200ms

  • 存储空间:100GB → 40GB(减少60%)

  • 写入性能:2000条/秒 → 30000条/秒

踩坑提醒

⚠️ TDengine SQL语法与PostgreSQL有差异,迁移时注意函数替换

⚠️ 分区键设计要合理,避免单表数据过大

⚠️ 历史数据迁移建议分批执行,避免一次性写入压力

欢迎在评论区交流你的实战经验,我们一起探讨~

http://www.jsqmd.com/news/1293906/

相关文章:

  • 为什么 90% 的跨境 AI 售后自动化都做不起来?核心坑点深度复盘
  • 北方风沙肆虐,厂区大门如何选?段滑门、悬浮门、直线门抗风对比 - 星泽吖
  • MATLAB云图绘制全解析:从imagesc到contourf的实战指南
  • Burkert 宝德比例阀全系列详解,流体精密调节如何选型? - 城刊速递
  • 武汉科谷技工学校怎么联系招生办? - 升学择校早知道
  • Unity TextMeshPro性能优化实战:从渲染合批到内存管理的全流程指南
  • FitRead科普外刊分级阅读 科技/人文/科学/历史...高效精读
  • C++11互斥量与条件变量:构建线程安全队列的实战指南
  • 零下30℃也不怕!东北厂区大门选型终极指南 - 星泽吖
  • Spring框架核心原理与高级特性实战解析
  • 美业专用干发帽OEM贴牌哪家好 高阳左右纺织品高端靠谱厂家 - 优质新闻发布
  • 护眼宝 绿色版 拯救干眼症!基于眼科医学原理的强制休息神器 1.0 - Windows
  • Unity MMORPG背包系统开发:服务器权威架构与网络同步实战
  • Spring Cloud Gateway 微服务网关:从核心原理到生产实践
  • Python JSON处理全解析:从基础操作到高级应用与实战
  • 泉州本地家电维修师傅电话推荐|本地维修家电|欧米到家统一报修
  • Unity UI 是怎么做成工业化的体系的
  • 保定工贸企业豆包搜索优化哪家靠谱 热讯网络深耕工业业态 - 优质新闻发布
  • 2026年PCB分板机行业专业评选TOP6榜单 - 城刊速递
  • 本地部署轻量级GPT模型:无需GPU的离线AI解决方案
  • 【单片机课程设计/毕业设计】基于 STM32 的带锁定保护密码锁硬件设计 基于嵌入式单片机的安防密码开锁系统设计(012501)
  • 旧鞋子可以上门回收吗?2026年最新回收指南与平台对比 - 快递物流资讯
  • 智能文献工具Paperzz提升学术研究效率的三步法
  • AI混合专家模型训练成本骤降62%的私密调优方案(仅限头部AI Lab内部流传的3个权重调度技巧)
  • ExplorerPatcher深度配置指南:解决Windows 11个性化设置崩溃的5种方案
  • [最优化技术] 3-2 二次插值法
  • Maple Mono终极指南:如何用这款开源编程字体提升你的编码体验
  • 加拿大CRN认证压力容器生产厂家如何选择 - 城刊速递
  • centos7安装jdk17
  • SpringBoot电商系统开发:积分制零食销售平台实践