天翼时序数据库influx版:赋能物联网时代,解锁数据智能_热门资讯_【搜客吧】_激活码商城_营销软件商城_微商软件

【同步智客】

同步智客

【代理加盟】

代理加盟

【综合商城】

软件商城

【微商必备】

微商必备

【营销必备】

营销必备

【知识付费】

知识付费

【代理项目落地训练营】

项目落地训练营

天翼时序数据库influx版:赋能物联网时代,解锁数据智能

suetone 2024-04-03 4浏览 0评论

概述

随着物联网(IoT)技术的快速发展,海量时序数据正以前所未有的速度涌现。这些数据包含了设备状态、环境监测、用户行为等丰富信息,为企业带来了巨大的数据分析和决策潜力。传统数据库难以有效处理时序数据,因为它们无法满足时序数据高吞吐量、高并发、高维度和低延时的要求。天翼时序数据库influx版(以下简称influx版)是一款专为时序数据设计的高性能分布式时序数据库。它基于开源时序数据库InfluxDB构建,并结合天翼云的技术优势和行业实践,为企业提供了强大的时序数据管理和分析能力。influx版不仅继承了InfluxDB的高性能和可扩展性,还针对中国市场进行了深度优化,提供了以下特色功能:兼容InfluxDB协议:支持InfluxQL语法,无缝对接InfluxDB生态系统。强大的数据压缩:采用先进的压缩算法,大幅减少数据存储空间。高可用和容灾:支持副本机制和分布式集群,确保数据安全和业务连续性。丰富的查询引擎:支持时序聚合、过滤、降采样等多种查询操作。可视化分析工具:提供Grafana仪表盘和数据可视化工具,方便用户快速获取洞察。与天翼云生态无缝集成:支持天翼云存储(COS)、天翼云计算(ECS)等云服务,实现数据的一站式管理。

应用场景

influx版广泛适用于各种物联网应用场景,包括:设备监控:实时监测设备状态、故障告警,保障设备运行稳定性。环境监测:采集温度、湿度、空气质量等环境数据,为环境治理和可持续发展提供依据。用户行为分析:记录用户在网站、移动应用等平台上的行为数据,洞察用户偏好和优化产品体验。工业物联网:连接工厂设备、传感器和生产线,实现智能制造和优化生产流程。金融数据分析:存储和分析股票交易、外汇波动等金融数据,支持量化交易和风险管理。

优势

influx版相比传统数据库和开源InfluxDB,具有以下优势:高性能:每秒可写入数百万个数据点,满足物联网海量数据的处理需求。低延时:写入和查询延时极低,支持实时数据分析。高可用:采用副本机制和分布式集群,避免单点故障,保障数据安全和业务连续性。易于使用:提供标准的HTTP API和客户端库,方便开发人员集成和使用。可扩展性:支持水平扩展,满足数据量持续增长的需求。成本低廉:基于开源InfluxDB构建,提供灵活的定价模型,降低企业成本。

案例

某制造企业部署了influx版,用于监控生产车间的设备状态和环境数据。influx版每秒可写入数百万个数据

Spring Boot中使用时序数据库InfluxDB

除了最常用的关系数据库和缓存之外,之前我们已经介绍了在Spring Boot中如何配置和使用 MongoDB 、LDAP 这些存储的案例。接下来,我们继续介绍另一种特殊的数据库:时序数据库InfluxDB在Spring Boot中的使用。

什么是时序数据库?全称为时间序列数据库。时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时间序列数据主要由电力行业、化工行业等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。虽然关系型数据库也可以存储基于时间序列的数据,但由于存储结构上的劣势,使得这些数据无法高效地实现高频存储和查询统计,因此就诞生了一种专门针对时间序列来做存储和优化的数据库,以满足更高的效率要求。(参考:网络百科:时序数据库)

InfluxDB就是目前比较流行的开源时序数据库(官网地址:),我们比较常见的使用场景就是一些与时间相关的高频的数据记录和统计需要,比如:监控数据的存储和查询。

天翼时序数据库influx版:赋能物联网时代,解锁数据智能 第1张

在进行下面的动手环节之前,先了解一下InfluxDB中的几个重要名词:

其中,一个Point由三个部分组成:

在了解了什么是时序数据库以及InfluxDB一些基础概念之后,下面我们通过一个简单的定时上报监控数据的小案例,进一步理解InfluxDB的基础配置、数据组织和写入操作!

第一步 :创建一个基础的Spring Boot项目(如果您还不会,可以参考这篇文章:快速入门()

第二步 :在 中引入influx的官方SDK

注意:这里因为Spring Boot 2.x版本的parent中有维护InfluxDB的SDK版本,所以不需要手工指明版本信息。如果使用的Spring Boot版本比较老,那么可能会缺少version信息,就需要手工写了。

第三步 :配置要连接的influxdb信息

三个属性分别代表:连接地址、用户名、密码。到这一步,基础配置就完成了。

注意:虽然没有spring data的支持,但spring boot 2.x版本中也实现了InfluxDB的自动化配置,所以只需要写好配置信息,就可以使用了。具体配置属性可以查看源码 。

第四步 :创建定时任务,模拟上报数据,并写入InfluxDB

第一步 :启动InfluxDB,并通过命令行准备好要使用的数据库,主要涉及的命令如下;

第二步 :启动Spring Boot应用,在定时任务的作用下,我们会看到类似下面的日志:

第三步 :通过命令,查看一下InfluxDB中是否已经存在这些数据

可以看到,已经存在与日志中一样的数据了。

本文的完整工程可以查看下面仓库中 2.x 目录下的chapter6-3 :

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

在很多物联网系统中,都需要对联网的设备进行监控,并对监控采样到的数据进行持久化。 对采样数据进行持久化,其实很多年前在工业领域已经有专门的数据库来完成这个任务了。 在工业领域,这个叫实时数据库。 工业领域的实时数据库具有数据采集、实时数据缓存、数据回写(向设备发送指令)、采样数据归档存盘等主要功能。 目前工业领域实时数据库基本上被国外厂家所垄断,价格昂贵。 以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 原文:版权声明:本文为博主原创文章,转载请附上博文链接!物联网系统开发如何选择时序数据库标签:垄断两种工业空间专网没有opentsdbpen10个

简要介绍物联网常用的数据库及特点

物联网常用的数据库主要有四种,分别是关系型数据库、NoSQL数据库、时序数据库和图形数据库。 这些数据库各自具有独特的特点,能够满足物联网应用的不同需求。 1. 关系型数据库:关系型数据库(如MySQL、PostgreSQL和Oracle等)是最常用的数据库类型之一。 它们以表格的形式存储数据,并使用SQL(结构化查询语言)进行数据操作。 关系型数据库在物联网应用中主要用于存储和管理结构化数据,如设备信息、用户信息等。 它们具有数据完整性高、支持事务处理等优点,但在处理大量非结构化数据时可能性能较差。 2. NoSQL数据库:NoSQL数据库(如MongoDB、Cassandra和Redis等)是为了解决大规模非结构化数据存储和处理而设计的。 它们采用键值对、文档、列族或图形等数据结构,能够灵活地存储和处理各种类型的数据。 NoSQL数据库在物联网应用中广泛应用于存储传感器数据、日志等大量非结构化数据。 它们具有高性能、可扩展性强等特点,但在数据一致性和事务处理方面可能较弱。 3. 时序数据库:时序数据库(如InfluxDB、TimescaleDB和OpenTSDB等)专门用于存储和管理时间序列数据,即按照时间顺序排列的数据。 物联网应用中产生了大量的时间序列数据,如传感器采集的温度、湿度等信息。 时序数据库能够高效地存储和查询这些数据,并提供聚合、插值和异常检测等功能。 它们具有高性能、压缩比高等特点,但在处理非时间序列数据时可能不够灵活。 4. 图形数据库:图形数据库(如Neo4j、OrientDB和ArangoDB等)使用图形结构存储数据,能够表示实体之间的关系和连接。 在物联网应用中,图形数据库可用于表示设备之间的关系、设备与用户之间的关系等。 它们提供高效的图形查询语言,能够快速地查询和遍历图形结构数据。 图形数据库在处理复杂关系和网络拓扑结构方面具有优势,但在处理大量数据时可能需要较高的计算资源。 总结:物联网应用需要根据实际需求选择合适的数据库类型。 关系型数据库适用于结构化数据的存储和管理;NoSQL数据库适用于大规模非结构化数据的存储和处理;时序数据库适用于时间序列数据的存储和查询;图形数据库适用于表示和处理复杂关系和网络拓扑结构的数据。 在选择数据库时,需要考虑数据规模、数据结构、性能需求和应用场景等因素。

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

天翼时序数据库influx版:赋能物联网时代,解锁数据智能 第2张
发表评论
欢迎你第一次访问网站!