分布式系统如何做到海量数据边云协同?看 TDengine 油气领域解决方案

本文主要是介绍分布式系统如何做到海量数据边云协同?看 TDengine 油气领域解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在某大型油田生产管理方案中,用户需要实现生产现场的自动化采集与控制、生产视频系统、工业物联网、生产数据服务、智能化生产管控应用以及各个环节的信息化采集标准建设等内容。在 TDengine 的帮助下,该大型项目成功完成了技术优化升级。本篇文章将就本次优化工作进行进一步的分析解读,给到大家参考。

TDengine 应用历程

这个项目此前的应用系统主要采用 Oracle 来存储和处理时序数据,但随着使用时间的增加,数据存储量越来越大,实时数据存储和处理的问题日益凸显,技术优化也遇到了瓶颈:

  1. 在处理复杂查询和聚合大数据集时写入和查询效率大幅衰减,系统出现明显的性能下降;
  2. 数据占用了越来越多的磁盘空间,给运维资源带来较大压力;
  3. 分布式的企业管理模式下基于应用本身的数据协同效率低下,无法满足企业应用的数据同步需求。

为了解决这些问题,用户进行了多方技术方案验证,并最终选择使用 TDengine 替换 Oracle 来存储时序数据。通过 TDengine 的边云协同技术,实现了边缘数据向云端的实时汇聚。

接下来,我们将对 TDengine 应用的主要场景进行深入分析。通过详细探讨 TDengine 在各个应用场景下的优势和应用效果,大家可以更好地了解其在实际项目中的价值和作用。

场景一:数据质量提升

一般来说,在实际应用中,生产现场采集的大量实时数据主要存储在工控系统中,对于支撑应用的数据质量难以保障。架构优化之后,现场实时数据将批量写入 TDengine(同批次数据包含不同井或设备的数据)。这一优化措施显著提高了数据的准确性和一致性,进一步优化系统性能,确保数据的可靠性和完整性。

此外,TDengine 也实现了对非实时数据的补录,补录中如果产生数据碎片,以及日常使用中产生的数据碎片,均可以通过 compact 功能在线重整数据文件解决。

场景二:数据服务性能优化

我们依托多个参数的历史曲线查询功能,通过数据分析和可视化能力,实现了对单井生产设备的实时监控与历史数据查询。该功能主要基于多参数的数据源,涵盖了涉及 TDengine 和关系型数据库的多个数据源取值,通过 TDengine 快速高效的查询,获取历史数据并生成曲线图。

通过自定义指标配置项,用户可以根据实际需求调整指标计算公式,生成个性化的结果数据,满足不同层级管理人员对数据展示的需求。

场景三:数据同步效率和存储优化

在这个重要环节,我们利用到了 TDengine 边云协同的重要特性——即对多个不同的 TDengine 服务的全量历史数据以及后续新增的数据,实时同步至云端 TDengine。

作为 TDengine 的一部分,taosX 工具仅需要在数据接收方一侧部署,仅需一行命令便可以完成实时同步、历史数据迁移,以及二者混合的三种数据处理方案。

例如:同步某台服务器的 db1 的历史数据以及实时数据到本地的 db2 数据库仅需执行如下一条命令即可。

taosx run -f 'taos://192.168.1.101:6030/db1?mode=all' -t 'taos://localhost:6030/db2' -v

另外,taosX 也提供了基于数据订阅方式(利用 TDengine 的 wal 日志)实时数据同步,以事件到达顺序处理数据,无论是实时数据还是历史数据的写入,都会实时同步到目标集群,不会丢失补录的历史数据。

通过该方案的实施,多个 TDengine 服务通过 taosX 跨省实时同步数据至云端总部集群。目前 TDengine 总部集群存储的数据量已经达到了 36 TB,总数据量 1034 亿+条,压缩率达到了 10% 以内。

写在最后

对于该项目来说,在将 Oracle 整体切换至 TDengine 之后优化效果明显,主要体现在如下几个方面:

  1. 数据插入性能变高,硬件资源减少;
  2. 集群支持在线水平扩展,轻松应对未来扩容需求;
  3. 灵活定义数据的生命周期,方便过期数据管理;
  4. 秒级 500 万测点的同步速率,满足了用户边云协同场景需求。

随着边云协同功能在各个复杂庞大的业务场景下成功落地,TDengine 也展现出了更强大的数据处理能力和更灵活的架构,能够更好地适应工业物联网环境下复杂多变的数据处理和存储需求,为工业物联网的发展提供有力支持和保障。

这篇关于分布式系统如何做到海量数据边云协同?看 TDengine 油气领域解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069808

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S