物联网(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平台中的基础数据处理使用MatrixOne的TP特性,确保了数据的高效读写。而对于设备上报和日志数据的查询,则通过MatrixOne的AP特性和全文检索能力,满足了实时性和数据分析的双重需求。
新型数据架构
客户收益
通过引入MatrixOne,Skyable大幅简化了原有的系统架构。此前使用MySQL,Elasticsearch及MongoDB的三数据库架构被精简为单一的MatrixOne平台,所有数据得以统一存储与管理。这一架构简化不仅减少了系统的复杂性,还显著降低了硬件资源的使用和日常运维的成本。与此同时,数据处理流程也得到了显著优化,原本繁琐的设备数据上报和查询流程需要经过多个系统处理,而现在数据直接从Kafka流转至MatrixOne,查询性能大幅提升,响应时间显著缩短,整体处理效率得到极大提高。
基于这样的新型数据架构,Skyable交付新的IoT平台项目的部署周期和实施难度都大幅缩减,极大提高了业务敏捷性。