从大疆车载、理想汽车等案例出发,看车联网场景下的数据处理难点与优化实践

原创
2022/10/10 10:26
阅读数 199

在车联网场景中,智能车辆会通过各类传感器定时采集车身状态信息,比如行驶速度、发动机转速、轮胎压力值、里程数等,此外,还会由某个事件触发产生车辆事件数据,比如门锁上防、撤防、车辆碰撞、异常移动等,在每次上报数据时都会带有时间戳,这是非常典型的时序数据场景。在这类场景下,高写入、高压缩率、快速查询是对于数据处理最基本的要求。

但一直以来,在应对车联网场景下时序数据的存储时,企业大多选择的都是 MongoDB 或 Apache HBase,这两大数据库技术相对更加成熟,在业务规模尚未扩张之前,因为设备不多、数据量不大,加上查询场景单一,尚且可以满足业务需求。随着业务的加速扩张,写入速度太慢、支撑成本过高等问题也逐渐显现。本文将会从四个典型的车联网案例出发,给到你数据架构升级思路。

TDengine x 大疆车载

“在大疆车载当前的云端平台中,TDengine 的应用不仅节约了存储成本和开发学习成本,同时也表现出了很好的写入读取性能,满足了智能驾驶云端平台海量时序数据的处理需求。在查询方面,不管是选择特定数据的查询还是轻量的查询,都是毫秒级返回数据。”

业务背景

由于当前的智能驾驶业务还是新的业务场景,所以大疆车载在选型上的历史负担相对较轻。在数据库选型要求上,从业务需求出发,主要聚焦在两点:首先,结合当下的业务场景,需要满足单台车辆的高频消息上报频率;其次,支持在数据量大的时候,通过聚合函数,或选择函数来快速筛选出需要的数据。此外,对数据库要求支持集群部署的同时,也要求更低的查询语句编写上手难度;而且需支持单表千万量级,在海量数据并发场景下,需要有较高的统计报表能力和较好的查询 SQL 效率。

架构图

TDengine Database

点击案例查看更多技术细节

TDengine x 蔚来汽车能源

“在实际效果上,改造完成后,查询速度提升明显,从使用 HBase 查询单设备 24 小时数据的秒级返回,到使用 TDengine 查询查询相同数据的毫秒级返回;每天增量数据占用的存储空间相当于原来使用 HBase 时的 50%;集群计算资源成本相比使用 HBase 节省超过 60%。”

业务背景

为了给用户提供更好的补能体验,蔚来能源在加电基础设施上进行了大量的投入,需要对设备进行更高效的管理——将设备采集数据上报至云端进行存储,并提供实时数据查询、历史数据查询等业务服务,用来做设备监控和分析。在业务诞生之初,其用作数据存储的选型是 MySQL + HBase,MySQL 存储设备最新实时数据,HBase 存储设备原始数据。随着换电站和超充站等设备在全国的快速布局,设备数量持续增长,积累的数据量越来越多,长时间跨度数据查询效率出现瓶颈,再加上查询场景不断丰富,HBase 已经无法满足当前业务需要(具体痛点问题见下方案例链接)。

测试结论

采用批量写入数据方式,调整合适的单批次数据量大小,使用单机部署(8 核 32 GB,500 GB 存储)默认配置的 TDengine 服务,RESTful API写入方式,在 4k 并发流量下写入没有问题,同时消费积压数据时峰值达到 7 k/s,因为单条消息包含信息量太大,实际处理中会拆分为 30 条写入 TDengine,所以实际写入 QPS 为 210 k/s,比满足同样数据流量的 HBase 集群规模要小不少,可以节省成本,再加上 TDengine 本身部署不依赖其他三方软件,也可以同时节省运维成本。

架构图

TDengine Database

点击案例查看更多技术细节

TDengine x 零跑汽车

“在应用 TDengine 后,不用再像 MongoDB 一样,在查询前需要根据业务加工出需求数据;入库性能高,解决了以前HBase入库不及时的问题,可以用更少的服务器资源入库更多的数据,节省更多成本。同时,TDengine高压缩的算法能提升 10 到 20 倍的压缩性能,降低了存储压力和成本。”

业务背景

一直以来,在数据存储上零跑汽车的选择都是 MongoDB 和 HBase,但是随着业务的加速扩张,写入速度太慢、支撑成本过高等问题也逐渐显现(具体痛点问题见下方案例链接)。从降本增效的角度考虑,零跑决定在 C11 新车型上试用下其他的数据库,在分析数据特点后,最终确定采用时序数据库(Time-Series Database)。

架构图

TDengine Database

点击案例查看更多技术细节

TDengine x 理想汽车

“通过跟涛思官方人员进行深入业务封闭式测试,TDengine 的功能超出预期,性能比 InfluxDB 要强出许多,两级存储架构设计(行存与列存)很棒,TTL 和标签机制对业务透明,具备极其优秀的高并发写入和数据压缩能力,极大降低了业务成本和业务压力。因此我们决定从 TiDB 迁移至 TDengine。”

业务背景

在理想汽车的信号上报业务中,需要将标记时间戳和采集点的信息,通过云端写入到后端数据库中,有一定的聚合查询需求。这是典型的高并发插入场景,写多读少,之前的系统用的是 MongoDB,后来因为 MongoDB 的局限性,其将业务迁移到了 TiDB,方便进行扩缩容。但在迁移到 TiDB 之后,在目前使用百度云 SSD 虚拟机的情况下,TiDB 集群纯写入性能并不能达到业务期望预期(HTAP 场景数据库对纯高并发写入支持不好,与该业务场景的适配性不高),需要不断的资源扩容(具体痛点问题见下方案例链接)。

使用成本对照表

TDengine Database

点击案例查看更多技术细节

写在最后

随着业务的不断发展,车联网场景下数据量之大难以想象,如果没有一款能够实现高效存储的数据库,服务器成本会非常的高。术业有专攻,在合适的时候选择合适的数据库是支持业务发展的关键,从数据处理需求和特点出发,时序数据库无疑是最佳选择。

添加 TDengine 小助手小T,找专业的解决方案架构师聊一聊

TDengine Database


想了解更多 TDengine Database的具体细节,欢迎大家在GitHub上查看相关源代码。

 

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
打赏
1 评论
0 收藏
0
分享
返回顶部
顶部