MatrixOne 助力西安天能替换MySQL+MongoDB+ES打造一体化物联网平台

news/2024/11/9 1:17:39 标签: mysql, mongodb, elasticsearch, 数据库

物联网(IoT)时代,企业正以前所未有的速度加快数字化转型。西安天能软件科技有限责任公司(Skyable)作为工业物联网领域的领先企业,携手MatrixOne,共同构建新一代一体化物联网平台,实现了从设备连接、数据处理到智能预测的全方位提升。

客户简介

西安天能软件科技有限责任公司(Skyable是一家为企业级用户提供物联网云服务和解决方案的高新技术企业,核心研发团队来自BAT、大唐电信、360等互联网软硬件和安全领域的顶级架构师。公司主要产品——Matrix物联网云平台,已成功连接近千万台设备,服务于海尔、海信、国家电投集团、亚都、苏泊尔、康凯斯、佛朗斯、菲斯曼、智意、Mill、豹米等国内外近300家企业客户。其业务主要涵盖工业物联网(IIoT)以及基于IIoT延伸的各类业务系统,致力于为企业提供智能化设备管理和数据分析服务。

业务挑战

Skyable的物联网场景是典型的混合数据负载场景:

第一,系统需要接入,配置和管理海量的设备,每个设备都涉及到通信协议的配置,数据解析的规则,同时还有系统本身的各类管理模块,这里需要处理的都是事务性的OLTP负载。

第二,设备时刻都在产生大量数据,数据一部分会服务于实时监控服务,大量历史数据也会被存储起来进行历史趋势的分析,这里需要能对海量历史数据进行快速查询及分析的能力。

第三,设备及平台也会产生大量的日志文本数据,这些日志需要进行解析和查询,以确保平台的稳定性和可靠性,同时也用于安全审计相关的目的。

面对这样的业务特点,Skyable采用的数据架构是基础数据和流程管理采用MySQL,实时数据采用Redis,历史数据采用MongoDB,日志数据采用ElasticSearch

历史数据架构

海量数据处理压力Skyable的物联网场景涉及大量设备实时上报数据,平台每天接收大约1000万条设备数据,单条数据最大大小为1KB,年数据量达到约360亿条,总数据量约33TB。现有系统的多数据库架构带来了维护成本增加和架构复杂性的问题,特别是随着数据量增长,写入性能变差、查询速度下降。

系统复杂性与高运维成本:由于Elasticsearch的索引机制,当索引数据量过大时,写入性能会显著下降。为了应对这一问题,Skyable将每月的数据分表存储,以减轻单个索引的写入压力,但这种方案加剧了系统的复杂性,导致业务处理变得繁琐。与此同时,使用多种数据库导致运维负担重,服务器成本居高不下。

性能瓶颈与实时性要求:物联网业务场景对设备实时监控有极高的性能要求,需要及时获取车辆的工作时长、里程数、在线与离线状态等信息。然而,现有架构难以在数据量持续增长的情况下保证高效的查询与写入性能,尤其在日志数据和设备上报信息的分析上,统计效率低下,影响了平台的实时性。

指标统计难度高:设备数据在MongoDB中以JSON形式大量存储,这种格式虽然有很强的灵活性,但是MongoDB的查询能力相对较弱,对于较为复杂的跨表进行指标统计的表达,需要在应用层进行大量代码逻辑的开发。而且由于数据量庞大,应用层代码容易面临性能问题,有的时候甚至还会出现OOM

架构扩展与技术迁移成本高:在现有架构中,Skyable不仅需要维护三套存储系统,还需要针对不同的数据源进行复杂的业务逻辑处理和查询优化。业务的快速扩展对系统的弹性扩展和高效迁移提出了更高的要求。

MatrixOne的解决方案

MatrixOne是一款云原生超融合数据库,对于物联网IoT场景具备良好的支持能力,可以以单一数据引擎承载多种负载,降低架构复杂度。针对Skyable的物联网平台来说,MatrixOne可以在以下几方面产生价值:

提升写入与查询性能:针对之前Elasticsearch的查询、写入问题。通过对MatrixOne的性能测试,发现其单表的写入和查询性能均能满足现有的业务需求,避免了繁琐的分表处理,极大地简化了数据管理流程。针对MongoDB的查询表达弱的问题,MatrixOne支持标准SQL语法及众多分析函数,可以将较重较复杂的数据查询在数据库层面进行计算,MatrixOne本身已有较好的内存管理及并行机制,避免大数据量计算OOM的问题。

简化架构,降低运维成本MatrixOne的解决方案通过将所有数据存储于同一系统中,极大简化了系统架构,降低了运维难度与成本。数据统一管理后,平台的维护和扩展变得更加灵活高效。

无缝数据源切换MatrixOne兼容MySQL语法,Skyable可以在不大幅修改现有业务代码的前提下,顺利将数据存储和查询切换到新平台。大多数代码无需更改,仅需对日志模块的持久化存储与读取部分进行轻微调整即可完成迁移,大大降低了迁移成本和时间。

同时支持多种负载MatrixOne的混合负载能力使其能够同时处理事务处理(TP)和分析处理(AP)任务,也支持针对文本的全文检索。Skyable平台中的基础数据处理使用MatrixOneTP特性,确保了数据的高效读写。而对于设备上报和日志数据的查询,则通过MatrixOneAP特性和全文检索能力,满足了实时性和数据分析的双重需求。

新型数据架构

客户收益

通过引入MatrixOneSkyable大幅简化了原有的系统架构。此前使用MySQLElasticsearchMongoDB的三数据库架构被精简为单一的MatrixOne平台,所有数据得以统一存储与管理。这一架构简化不仅减少了系统的复杂性,还显著降低了硬件资源的使用和日常运维的成本。与此同时,数据处理流程也得到了显著优化,原本繁琐的设备数据上报和查询流程需要经过多个系统处理,而现在数据直接从Kafka流转至MatrixOne,查询性能大幅提升,响应时间显著缩短,整体处理效率得到极大提高。

基于这样的新型数据架构,Skyable交付新的IoT平台项目的部署周期和实施难度都大幅缩减,极大提高了业务敏捷性。


http://www.niftyadmin.cn/n/5744665.html

相关文章

Spring Boot 与 Vue 共筑地方特色美食分享卓越平台

作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 🍅获取源码联系方式请查看文末🍅 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目…

道品科技智慧农业中的自动气象检测站

随着科技的进步,智慧农业已经成为现代农业发展的重要方向。农业自动气象检测站作为智慧农业的一个关键组成部分,发挥着不可或缺的作用。本文将从工作原理、功能特点、应用场景以及主要作用等方面对农业自动气象检测站进行深入探讨。 ## 一、工作原理 农…

docker快速安装与配置mongoDB

docker快速安装与配置mongoDB 拉取 MongoDB Docker 映像 docker pull mongodb/mongodb-community-server:latest将映像作为 container 运行 docker run --restartalways --name mongodb -p 27017:27017 --privilegedtrue -e MONGO_INITDB_ROOT_USERNAMEroot -e MONGO_INITD…

hbase 工具类

hbase 工具类 pom.xml <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.5.10-hadoop3</version> </dependency> <dependency><groupId>com.google.guava<…

使用python向钉钉群聊发送消息

使用python向钉钉群聊发送消息 一、在钉钉群中新建机器人二、使用代码发送消息 一、在钉钉群中新建机器人 在群设置中添加机器人 选择自定义 勾选对应的安全设置 完成后会展示webhook&#xff0c;将地址复制出来&#xff0c;并记录&#xff0c;后面会用到 二、使用代码发送消…

Liunx:进程控制

进程终止 三种场景&#xff0c;进程结束结果正确&#xff0c;进程结束不正确&#xff0c;异常终止。 进程的退出码&#xff0c;也就是return&#xff0c;表征着进程运行结果是否正常&#xff0c;return 返回值被父进程接收。return 0表示进程运行结束并且结果正确。他是给用户的…

安装 deepspeed 报错 | 【CUDA_HOME does not exist, unable to compile CUDA op(s)】

问题&#xff1a; 安装 deepspeed 报错 | 【CUDA_HOME does not exist, unable to compile CUDA op(s)】 解决方法&#xff1a; 原因是因为 deepspeed 需要安装 cuda toolkit (runtime cuda), 不能使用 torch 内置的 cuda toolkit。 安装完成之后使用 nvcc -V&#xff0c; 输…

CP系统和AP系统

CP系统和AP系统 在分布式系统的 CAP 原则中&#xff0c;CP 和 AP 是两种不同的系统设计选择倾向&#xff0c;它们分别代表了在一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;和分区容错性&#xff08;Partition Tolerance&#xff0…