时序数据库(时序数据库和关系型数据库的区别)

老铁们,大家好,相信还有很多朋友对于时序数据库和时序数据库和关系型数据库的区别的相关问题不太懂,没关系,今天就由我来为大家分享分享时序数据库以及时序数据库和关系型数据库的区别的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

一、物联网系统开发如何选择时序数据库

时序数据库(时序数据库和关系型数据库的区别)

在很多物联网系统中,都需要对联网的设备进行监控,并对监控采样到的数据进行持久化。对采样数据进行持久化,其实很多年前在工业领域已经有专门的数据库来完成这个任务了。在工业领域,这个叫实时数据库。

工业领域的实时数据库具有数据采集、实时数据缓存、数据回写(向设备发送指令)、采样数据归档存盘等主要功能。目前工业领域实时数据库基本上被国外厂家所垄断,价格昂贵。以PI数据库为例,基础版本(只有5000个测点)就需要大约10万美元,每个数据采集接口需要6000美元。这个价格对新兴的物联网公司来说代价太大了。

幸好,最近几年IT公司针对IT设备运维提出了一种新型的数据库:TSDB,时序数据库。该数据库专门用来存储时序数据,物联网系统从设备上采集的数据就是一种时序数据,物联网系统完全可以用TSDB来存储设备采样数据。

目前国内大型互联网公司中的阿里巴巴、百度等已经进军物联网行业的公司都提供了云服务形式TSDB数据服务。如果你的物联网应用是运行在互联网上,并且服务器也是用了Alibaba或者百度的云服务,那么你完全可以采用他们的TSDB服务来保存系统中的时序数据。

但假如你的物联网应用是运行在封闭式的局域网或者专网中的,又该如何选择呢?

用搜索引擎搜索下“tsdb”或者“时序数据库”,你可以看到各种开源的时序数据库,我没有对各种开源时序数据库进行过详细对比,只是大致上看了下别人的评论。从评论来看InfluxDB应该是目前综合性能最好的,但是它的集群版是闭源的商业产品。OpenTSDB用的人也挺多,但是性能上比较差,写入速度波动幅度比较大。假如你的物联网系统需要保存历史数据的测点数量不超过5万,那么用InfluxDB应该是没问题的。

假如你想对各种TSDB做一个测试,并根据测试结果来选择,我的建议如下:

1、测试其写入速度,并关注写入速度的波动性。所有的TSDB在实现的时候肯定都用来内存来缓存写入速度的,它们需要在特定时机把缓存的数据写入到磁盘进行归档。所以,在考察写入速度的时候,一定要关注它在对内存数据进行归档化处理时候的写入速度。

2、在写入的同时测试其查询速度。因为物联网系统中设备时刻都在产生数据,你的每个查询都是和大量的写入操作同时执行的。

3、测试其数据完整性,前面我们提到tsdb在执行写操作时都是先写内存的,然后在特定时候归档到磁盘。这样一来就存在"tsdb数据库正常关闭或者异常关闭时候丢失数据"的可能性。作为tsdb的使用者,当然希望它关闭重启的时候尽可能少丢失已经写入的数据。

4、测试其在时序错位情况下的数据完整性,时序错位有两种情况:采样数据的时间和tsdb服务器当前时间有较大偏差;两个不同测点之间,几乎同时写入的数据,但被标记为不同的采样时间(有较大的时差);在这两种情况下,重启服务器后,测试其数据丢失情况。

5、测试其磁盘占用率,假如你的系统中连接了1000的设备,每个设备有10个测点,每个测点没秒钟持久化一次,那么你每天需要持久化的时序数据有864兆,每份数据最少包含一下内容:一个测点Id、一个时间戳、一个值。测点算它4个字节、时间戳8个字节、值4个字节。在不压缩的情况下至少需要13G磁盘空间。所以压缩性能是tsdb的一项关键指标。

6、了解其查询接口是否丰富,既然把这么多历史数据都保存下来,那当然是希望这些数据能发挥出其价值。一个强大的查询接口是这些数据发挥价值的前提条件。除了普通的按照时间和标签查询某些测点在某个时间段的所有值之外,我觉得tsdb还应该包括:降频查询(在时间轴上分组聚合),聚合查询(把一些测点按照某个算法计算相同采样时间点的值,可以在查询时聚合或者写入时聚合)。---------------------作者:spdata来源:CSDN原文:https://blog.csdn.net/spdata/article/details/79777672版权声明:本文为博主原创文章,转载请附上博文链接!

物联网系统开发如何选择时序数据库

标签:垄断两种工业空间专网没有opentsdbpen10个

二、时序数据库是什么

1、时序数据库(TSDB)是一种数据库管理系统,用于存储、处理和分析时间序列数据(以下简称时序数据)。

2、时序数据是按时间维度顺序记录且索引的数据。像智慧城市、物联网、车联网、工业互联网等领域各种类型的设备和传感器都会产生海量的时序数据,证券市场的行情数据也是时序数据,这些数据将占世界数据总量的 90%以上。

3、虽然你也可以使用关系数据库或 NoSQL数据库来处理时序数据,但这类数据库并没有充分利用时序数据的特点,性能提升极为有限,只能依靠集群技术,投入更多的计算资源和存储资源来处理,系统的运营维护成本急剧上升。而专门构建的时序数据库,如TDengine,充分利用了时序数据库的特点,大幅提升了数据的写入和查询速度,同时也大幅提高了数据压缩率。此外,时序数据库包含专有的时序数据分析功能和数据管理功能,使用户可以很轻松地开发应用程序。

4、TDengine是一款开源、云原生的时序数据库(Time Series Database),专为物联网、工业互联网、金融、IT运维监控等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。

三、时序数据库是一种什么样的数据库管理系统

1、时序数据库(TSDB)是一种数据库管理系统,用于存储、处理和分析时间序列数据(以下简称时序数据)。

2、时序数据是按时间维度顺序记录且索引的数据。像智慧城市、物联网、车联网、工业互联网等领域各种类型的设备和传感器都会产生海量的时序数据,证券市场的行情数据也是时序数据,这些数据将占世界数据总量的 90%以上。

3、虽然你也可以使用关系数据库或 NoSQL数据库来处理时序数据,但这类数据库并没有充分利用时序数据的特点,性能提升极为有限,只能依靠集群技术,投入更多的计算资源和存储资源来处理,系统的运营维护成本急剧上升。而专门构建的时序数据库,如TDengine,充分利用了时序数据库的特点,大幅提升了数据的写入和查询速度,同时也大幅提高了数据压缩率。此外,时序数据库包含专有的时序数据分析功能和数据管理功能,使用户可以很轻松地开发应用程序。

4、TDengine是一款开源、云原生的时序数据库(Time Series Database),专为物联网、工业互联网、金融、IT运维监控等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。

OK,关于时序数据库和时序数据库和关系型数据库的区别的内容到此结束了,希望对大家有所帮助。

转载请说明出处内容投诉
恒初网 » 时序数据库(时序数据库和关系型数据库的区别)