暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

欧洲核子研究中心(CERN)工业控制系统的时序数据存储

原创 梧桐 2025-06-12
157

在CERN(欧洲核子研究组织)的工业控制系统中,时间序列数据的存储和管理一直是一个关键挑战。随着实验规模的不断扩大,数据量呈爆炸式增长,传统的数据库解决方案逐渐难以满足需求。为了应对这一挑战,CERN的研究团队与工业界合作,探索了TimescaleDB和PostgreSQL在时间序列数据存储中的应用,并取得了显著成果。

CERN的工业控制系统:背景与挑战

CERN的工业控制系统(SCADA系统)CERN的工业控制系统(SCADA系统)是一个复杂且高度可靠的监控与数据采集系统,用于管理CERN加速器复合体和实验设施中的各种设备,确保其高效运行和数据采集的准确性。SCADA系统负责从控制设备(如PLC)中获取数据,并实现高级功能。在CERN的日常运行中扮演着至关重要的角色,尤其是在大型强子对撞机(LHC)等关键实验中。然而,随着数据量的不断增加,传统的数据库解决方案逐渐暴露出性能瓶颈和技术债务问题。

从传统解决方案到下一代归档器

CERN的SCADA系统自2000年代初以来一直使用WinCC OA作为标准平台。尽管WinCC OA在功能上非常强大,但其传统的RDB归档器(自2008年起使用)存在诸多问题,例如仅支持Oracle数据库、架构复杂且难以维护。为了克服这些问题,CERN于2017年启动了下一代归档器(NGA)项目,目标是去除对Oracle的依赖,解决技术债务,提高性能,并支持新的用例。

NGA项目的核心是支持多种数据库后端,包括PostgreSQL和TimescaleDB。这两种数据库因其在性能、可扩展性、可靠性以及生态系统方面的优势,被选为CERN工业控制系统的新解决方案。

为什么选择TimescaleDB和PostgreSQL?

TimescaleDB是PostgreSQL的一个扩展,专门用于处理大规模时间序列数据。它提供了自动时间分区、数据压缩、连续聚合等功能,能够显著提高数据存储和查询的效率。与传统的关系型数据库相比,TimescaleDB在处理时间序列数据时表现出色,尤其是在数据压缩和查询性能方面。

CERN选择TimescaleDB和PostgreSQL的原因包括:

  • 本地部署与支持:CERN需要能够在本地部署和维护的数据库解决方案,以确保数据的安全性和可靠性。

  • 高性能与可扩展性:TimescaleDB和PostgreSQL能够处理大规模数据集,并支持高并发读写操作。

  • 生态系统与工具支持:PostgreSQL拥有丰富的生态系统和广泛的社区支持,能够满足CERN多样化的数据处理需求。

  • 长期展望与退出策略:CERN需要一个能够长期支持其研究项目的数据库解决方案,同时具备灵活的退出策略。

性能测试与结果

为了评估TimescaleDB和PostgreSQL在实际生产环境中的表现,CERN的研究团队设计了一系列性能测试。测试环境包括OpenStack虚拟机和高性能计算节点,数据集规模从1年1.3亿行数据到4年53亿行数据不等。

测试结果显示,TimescaleDB在数据压缩和查询性能方面表现出色:

  • 数据压缩:TimescaleDB通过将行格式转换为列格式并应用类型特定的压缩算法,能够显著节省存储空间。对于合成数据,压缩率可达78%-87%;对于生产数据,压缩率可达90%-95%。

  • 查询性能:在查询压缩数据时,由于减少了I/O操作,查询速度通常更快。随着处理数据量的增加,性能优势更加明显。

  • 写入性能:TimescaleDB和PostgreSQL在单连接写入时表现出色,即使在大规模数据集和高并发写入场景下,性能依然稳定。

此外,TimescaleDB的连续聚合功能允许用户创建自动更新的聚合数据表,进一步优化了数据存储和查询效率。

未来展望

CERN计划在未来几年内逐步扩大TimescaleDB和PostgreSQL的使用范围,最终在2027年第二季度实现全CERN范围的生产部署。未来的工作重点包括:

  • 大规模基准测试:进一步扩大测试规模,以匹配CERN生产系统的实际负载。

  • 高可用性选项:探索PostgreSQL的高可用性解决方案,确保系统的稳定性和可靠性。

  • GPU加速:研究如何利用GPU加速数据库操作,进一步提升性能。

  • 生态系统扩展:开发更多工具和插件,以支持CERN多样化的数据处理需求。

结论

通过引入TimescaleDB和PostgreSQL,CERN不仅解决了传统数据库解决方案的技术债务问题,还显著提高了时间序列数据的存储和查询效率。这一创新解决方案为CERN未来的科学研究项目奠定了坚实的基础,并为其他需要处理大规模时间序列数据的组织提供了宝贵的参考。

引用:Optimizing Time Series Data Storage for CERN Industrial Control Systems using TimescaleDB and PostgreSQL

最后修改时间:2025-06-15 16:10:39
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论