前言
本文正在参与“拥抱开源|涛思数据TDengine 有奖征稿”,活动链接。
跟涛思数据曾在boss直聘上有过一面之缘,因为都是做物联网方向的,所以了解了一下。本文将讲讲TDEngine 吸引开发者的地方以及TDengine 在工业物联网上的应用前景。
一.为什么要用时序型数据库
物联网不同于互联网, 互联网是人与人之间的互联,能够产生的数据量确实也很大,但物联网就更有甚之了,万物之间相联,产生的数据量肯定要比人与人之间的联系产生的数据的数据量大出几个数量级。
物与物相联产生的数据如何存储,才能更方便的管理呢?
我们可以从时间维度上入手,将数据按时间顺序分类存储,能胜任此工作的数据库引擎,就是时序型数据库。
时序型数据库,数据结构大体如下:
time | column1 | column2 |
---|
2021-07-01 17:00:01 | 数据1 | 数据1 | 2021-07-01 17:00:02 | 数据2 | 数据2 | 2021-07-01 17:00:03 | 数据3 | 数据3 | 2021-07-01 17:00:04 | 数据4 | 数据4 | 2021-07-01 17:00:05 | 数据5 | 数据5 |
区别于传统关系型数据库来说,时序型数据库的主键,强制使用时间。即所有的数据,都要跟时间有个对应关系。
通过时序型数据库,我们可以很清晰的维护物联网产生的各种实时数据,毕竟当今世界最重要的不是土地,而是数据,可谓得数据者,得天下!
二.TDengine的同类竞品InfluxDB
提起数据库,不得不想到起步较早的开源时序型InfluxDB ,想要学习和了解InfluxDB 时序型数据库的,可以参考我写的教程:《InfluxDB系列教程》
InfluxDB 有出色的吞吐量,能满足了常见的物联网数据的使用,单机版免费,集群是收费的,而且集群价格高昂,一般创业公司很少支付的起。
时序型不用集群可以吗?
从三年多的时序型数据库的使用经验中来看,如果业务中有大量的存储或者大量的查询功能的话,强烈建议用集群,因为单机版的单节点问题 会在大批量的写入和查询业务中频繁暴露,导致数据库经常挂。所以,使用InfluxDB 进退两难。
三.集群——TDengine的重磅武器!
开头描述了这么多,相比TDengine 最吸引实用主义开发者的就是集群免费,这也是TDengine 的最强的竞争力的地方,也可能使得TDengine 的由A Time series database 变成the Time series database 。 集群配置可参考:《TDengine的集群配置》
不出意外,集群的优势在于,可以避免单节点过热或者宕机。TDengine 同样支持多节点的负载均衡:
1.当一个新数据节点添加进集群时,系统将自动触发负载均衡,一些节点上的数据将被自动转移到新数据节点上,无需任何人工干预。 2.当一个数据节点从集群中移除时,系统将自动把该数据节点上的数据转移到其他数据节点,无需任何人工干预。 3.如果一个数据节点过热(数据量过大),系统将自动进行负载均衡,将该数据节点的一些vnode自动挪到其他节点。
可以看出,无论是增加节点还是有节点下线,还是有节点过热,TDengine 都能很好的支持。最关键的是集群是免费的 。
总结
时序型数据库,将是所有做物联网行业绕不过去的数据存储工具,国产开源的的TDengine 不但单机版开源,而且集群版也是免费的使用的,相信TDengine 会在物联网数据源的上游站稳,成为物联网数据治理的一个不错的解决方案。
本文正在参与“拥抱开源|涛思数据TDengine 有奖征稿”,活动链接。
|