关于tdengine:TDengine-助力京东云-IoT-数据统计改造

96次阅读

共计 1607 个字符,预计需要花费 5 分钟才能阅读完成。

作者:何佳瑞

小 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 等你带回家!

正文完
 0