作者:何佳瑞
小 T 导读: 在万物互联的时代,大到企业数字化转型、数字城市建设,小到和生存非亲非故的家居生活、智能驾驶、静止衰弱等,都离不开智能物理设施宽泛的连贯和互通。AIoT 是人工智能和 IoT 技术的交融,通过物联设施网产生、收集来自不同维度的、海量的数据存储于云端、边缘端和设施端再通过海量数据分析引擎,以及更高模式的机器学习、神经网络,实现万物数据化、万物智联化。
2014 年起,京东从智能家居畛域开始发力,在业界率先推出语音交互入口 - 叮咚智能音箱,实现了宽泛的设施品类互联生态,同时整合团体外部批发、物流、大衰弱、工业品等要害畛域的物联网技术能力,继续助力社区、城市、车联、工业等要害行业畛域,宽泛服务于实体经济,助力企业转型降级。本文在京东云 IoT 多年来行业实践经验积攒的根底上,分享在数据存储方面的一些做法。
一、场景与痛点
数据是数字化时代企业的外围资产。京东云智能家居场景保护着大量的智能设施,这些设施联网后,会依据设施设定的速率继续产生时序数据,比方有的设施采样距离是 15 秒。京东云 IoT 团队联合本公司数据特点与业务需要,对多种工业时序数据库进行了技术选型,以解决宏大的数据存储和计算带来的挑战:
- 数据存储具备较高的数据压缩比,节约存储资源,升高 IT 老本
- 写入和查问性能优异,数据库底层逻辑的优化能够缩小 CPU 开销
- 反对数据预聚合,领有丰盛的计算算子
- 强有力的稳固架构
二、技术选型
咱们对两种业界支流的时序数据库做了剖析和测试:
- OpenTSDB:基于 HBase 的分布式、可伸缩的工夫序列数据库。作为基于通用存储开发的时序数据库典型代表,起步比拟早,在时序数据库畛域的认可度绝对较高,但 HBase 老本高的问题无奈罢黜。
- TDengine:在性能、老本、运维难度等方面都体现不俗,反对横向扩大,且高可用。
通过理论比照测试,咱们初步选定 TDengine 作为数据存储计划。TDengine 相比于 OpenTSDB 有显著的劣势:
- TDengine 写入吞吐量高出 200%
- 1 亿条记录均匀查问工夫晋升 100 倍
- 100 万条记录读取工夫晋升 32 倍
- 1 亿条记录按工夫分组取均值工夫晋升 40 倍
- 老本开销升高 2-3 倍
三、数据建模
TDengine 数据建模需依据数据的个性设计相应的 Schema,以达到最好的性能体现。对于物联网设施而言,是围绕着设施孪生工作的。设施有对应的物类型、物模型,物模型形容了设施的属性感知和交互行为。因而,咱们基于物类型、物模型进行了 Schema 的设计:
- 基于物类型、物模型创立超级表
- 数据聚合以字表为维度,依照物模型及数据个性,抉择不同的聚合算子进行聚合
超级表举例如下:
四、落地施行
联合业务需要与数据特点,咱们采纳的计划是:将设施上报的元数据存储在 metadata 库中,而后通过定时工作的形式,每小时以设施的维度,依据物模型,进行数据聚合,将聚合后的数据存储在 statistics 库中。同时为了缩小数据存储的压力,将 metadata 的数据过期工夫设置为固定时长。
五、革新成果
在与 TDengine 工程师沟通后,咱们只应用了 3 台 4C16G 形成的 TDengine 的集群,就承载了线上的业务。
数据聚合方面,依据 TDengine 的性能、机器配置和后期测试的工夫开销,只需很短的工夫就实现了全量设施的数据聚合。
CPU 方面,始终很稳固,在常态下 CPU 低于 10%,因为设施的数据聚合须要耗费大量的 CPU,因而在每个整点 CPU 会有所回升,然而不超过 45% 的负载。
六、总结
通过一段时间的运行,TDengine 在老本、性能和应用便利性方面相比 OpenTSDB 都有十分大的劣势,实现了海量物联数据的高性能、低成本的存储。
在我的项目施行过程中,TDengine 的工程师提供了业余、及时的帮忙,在此表示感谢。心愿 TDengine 可能持续晋升性能和稳定性,开发出更多的新个性、新性能,实现更大的冲破。
⬇️点击下方图片查看流动详情,iPhone 13 Pro 等你带回家!