TDengine 在智慧矿山系统中的应用
在元智信息的智慧矿山项目中,需要一款 Database 来支撑起生产交互管控系统的采运排环节所有过程设备的采集、存储、计算和监控功能。在 MySQL、InfluxDB、TDengine 的数据库选型调研中,TDengine 脱颖而出。本文讲述了他们的选型思路、建模思路以及方案创新点,作为经验参考分享给有需要的读者。
时序数据库 TDengine 用户主要来自物联网、工业互联网、车联网、物流、IT运维监测、电力、智慧城市、智慧矿山等领域。
在元智信息的智慧矿山项目中,需要一款 Database 来支撑起生产交互管控系统的采运排环节所有过程设备的采集、存储、计算和监控功能。在 MySQL、InfluxDB、TDengine 的数据库选型调研中,TDengine 脱颖而出。本文讲述了他们的选型思路、建模思路以及方案创新点,作为经验参考分享给有需要的读者。
总的来说,因为选择了 TDengine Database,我们的项目很平稳地度过了测试阶段,在 TDengine 的使用上也没有遇到特别大的瓶颈,我相信在后面的合作中,我们对 TDengine 的了解也会更加深入。
随着业务的发展及数据量的增长,南京津驰选择将 TDengine Database 的社区版搭建在 GPS 服务中,替代原来的 Redis+MySQL+CSV 存储技术方案,以解决查询效率低、数据安全性低、数据占用空间大等问题。
存储上节省了将近40G的容量,总接入量每秒基本是20万个点左右。TDengine Database 不仅在分析业务模块上带来了性能上的巨大提升,更是在成本上达到了几乎对半的下调,极大地节省了中科云创在基础数据库建设上的投入。
从 MySQL + HBase 方案换为TDengine Database,对比之前使用 HBase 查询速度提升明显,从查询单设备24小时数据的秒级返回,到查询相同数据的毫秒级返回;每天增量数据占用的存储空间相当于原来使用 HBase 时的50%;集群计算资源成本相比使用 HBase 节省超过60%。
TDengine Database 的安装包十分小巧,借助于官方文档,Linux系统下的集群部署也很简单。接下来,配置好主机名、域名解析、暴露的端口、运行程序,过程非常顺滑,立马就能使用了。对比之前的 Hadoop 技术栈,这对运维团队来说简直就是福音!
同选用ClickHouse集群作为存储的TCL电子工业物联网平台对比,两个项目的数据规模差不多,TCL空调能源数据管理项目数据库服务器减少了一半。TDengine Database实现降能耗5%左右,预计每年为TCL空调实现降本收益上千万元。
在实际业务环境中,以上面描述的方式创建多列的超级表,虽然会存在大量的空列,但得益于 TDengine Database 的优化,能达到恐怖的0.01的压缩率,简单计算下来大约需要3.67GB每亿条。另外一张超级表(约25列数据列)针对传感器数据进行单独建模(不会存在空列的情况),压缩率也有0.2,计算一下空间使用约合3.8GB每亿条。
TDengine Database的性能不仅完全可满足需求,更是比原InfluxDB+Redis+MySQL方案大幅度的提升,解决了原方案中车辆查询较大时间跨度的轨迹数据响应超级慢的问题。当前TDengine的大规模应用车辆监管项目中,支撑现有数万辆车的行驶轨迹监控,未来将继续扩大规模支撑更多的车辆轨迹监控。
项目采用了3个节点的集群环境,定位设备采用超级表进行管理,将数据标签及数据类型作为tag区分各类定位设备。每个定位设备采用子表存储,实际项目已包含2万多个定位设备。从写入性能到查询性能均大幅满足现场实际需求:总计定位数据量超过11亿条,数据压缩后TDengine Database 数据目录占用磁盘大约12G,整体压缩率可以达到3/100。