在万物互联的时代,大到企业数字化转型、数字城市建设,小到和生活息息相关的家居生活、智能驾驶、运动健康等,都离不开智能物理设备广泛的连接和互通。在 IoT 设备的整体运作过程中,会产生大量的时序数据,而传统的数据解决方案不管是在性能还是成本管控上都捉襟见肘。因此,IoT 产品/平台想要实现快速发展,首要解决的难题就是数据处理痛点。本文优选出几大 IoT 项目的数据架构改造实践,给到大家参考。
OPPO x TDengine
“我们写入 60 万行数据,到 MySQL(目前部分业务部署在 MySQL 集群)和 TDengine 的 4C 12G 容器上,对 CPU/内存/磁盘进行观察。测试发现 CPU 和内存消耗基本持平的情况下,TDengine 的落盘数据是 MySQL 环境的1/4左右。”
业务背景
在 OPPO 的穿戴产品的手环/手表类业务中,产生的数据类型为时序数据,具有写入量巨大且存在离线/历史数据补录(更新)的处理需求。此前使用的 MongoDB/MySQL 集群方案,后端存储压力较大,需要经常扩盘,针对此痛点,OPPO 云计算中心智慧物联云团队尝试调研对比了几款时序数据库(Time Series Database,TSDB )产品,试图寻找一个降本增效的解决方案,最后选中了 TDengine。
集群部署如下:
京东云 x TDengine
“在与 TDengine 工程师沟通后, 我们只使用了 3 台 4C16GB 构成的 TDengine 的集群,就承载了线上的业务。数据聚合方面,根据 TDengine 的性能、机器配置和前期测试的时间开销,只需很短的时间就完成了全量设备的数据聚合。CPU 方面也一直很稳定,在常态下 CPU 低于 10%,由于设备的数据聚合需要消耗大量的 CPU,因此在每个整点 CPU 会有所上升,但是也不会超过 45% 的负载。”
业务背景
京东云智能家居场景维护着大量的智能设备,这些设备联网后,会根据设备设定的速率持续产生时序数据,比如有的设备采样间隔是 15 秒。京东云 IoT 团队结合本公司数据特点与业务需求,对多种工业时序数据库进行了技术选型,以解决庞大的数据存储和计算带来的挑战,在进行选型时对比了 OpenTSDB 和 TDengine,最终 TDengine 以明显优势胜出。
CPU 消耗图示
图扑物联 x TDengine
“在之前一个版本,平台底层使用的是 InfluxDB 来存储时序数据,然而 InfluxDB 在面对海量数据时的读写性能存在瓶颈,在深入使用 TDengine 后,我们还发现了诸多优势。受益于 TDengine 的超高性能和超小体量,我们在山东大禹水处理有限公司中央水机监控项目中的整个平台架构变得更加简化,解决了工业物联网监控分析系统开发成本高、周期长、运维难度大等痛点。”
业务背景
针对海量的设备上报数据,图扑 IoT 平台在做实时显示的同时还考虑将历史数据也进行无损保存,并在 IoT Platform 上还要给用户提供数据查询的支持,但这就对底层的时序数据存储提出了相当高的要求。在对比了包括 InfluxDB 在内的几个数据库后,在最新的解决方案中,我们选用了 TDengine 作为时序数据的存储引擎。
架构图
写在最后
在合适的时候选择合适的数据库是支持业务发展的关键,但数据库的更换也并不是头脑一热就能拍板决定的,还需要进行数据库产品的缜密观察和调研,希望上述企业实践能够给到大家帮助。目前 TDengine 已经运营了几十个用户交流群,如果你有要进群沟通了解的需求,可以添加小T微信:tdengine1 。