【2024】InfluxDB v2 介绍和安装使用(1)

news2025/1/11 18:46:15

目录💻

  • 一、介绍
    • 1、时序数据库介绍
      • 特点:
      • 常见的时序数据库
      • 时序库受欢迎度排名
    • 2、InfluxDB介绍
      • **InfluxDB 1.x 和 2.0 的主要区别**
      • InfluxDB行协议
  • 二、docker安装 InfluxDB v2
  • 三. Web UI常用功能介绍以及使用
    • 1、页面介绍
    • 2、功能使用
      • 2.1、创建bucket
      • 2.2、添加数据
    • 2.3、Data Explorer 查询数据

一、介绍

1、时序数据库介绍

时序数据库全称为时间序列数据库。时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据的兴起还是榜上了物联网的大风。物联网(Internet of Things,简称IOT)是指通过各种信息传感器实时采集任何需要管理设备的信息,并进行管理。物联网的基础数据具有数据量大、结构单一、时间属性强、查询简单等特点,传统的关系型数据库在面对物联网数据时,显得应对发力,基本上属于功能过剩但性能不足。目前火热的新能源汽车的车联网也一样需要使用到时序数据库。

特点:

  • 时间戳索引:时序数据库通常对时间戳进行优化索引,以便快速查询。
  • 高并发写入:能够处理高并发写入操作,适用于实时数据收集。
  • 数据压缩:通常采用高效的数据压缩技术,减少存储空间需求。
  • 数据聚合:支持数据聚合操作,如求平均值、最大值、最小值等。
  • 保留策略:可以设置数据的保留期限,自动清理旧数据

常见的时序数据库

  • InfluxDB:一个开源的时序数据库,适用于存储和查询大量时间序列数据。流行度很高,支持Go语言,社区活跃度高,也是我们接下来要介绍使用的。是当下使用使用量最多的时序数据库

  • TDengine: 是一款国内涛思数据推出的开源、高性能、分布式、支持 SQL 的时序数据库,其时序数据库核心代码包括集群功能全部开源,同时 TDengine 还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少研发和运维的复杂度。在几年时间就可以使用量进入前十。

  • Prometheus:一个开源监控系统,自带时序数据库功能。

  • TimescaleDB:一个基于PostgreSQL的时序数据库插件,将关系数据库的功能与时间序列数据库的性能相结合。

时序库受欢迎度排名

排名取自于https://db-engines.com
在这里插入图片描述

2、InfluxDB介绍

InfluxDB是一种由InfluxData公司开发的开源时序数据库(Time-Series Database,TSDB),专门设计用来处理高并发的时序数据写入和查询。它非常适合用于存储涉及大量时间戳的数据,例如服务器指标、传感器数据、实时分析报告、应用程序性能监控等。

InfluxDB目前市面上使用的有两个主要的版本为1.x和2.x的还有在进行维护,InfluxDB在2.x版本的时候进行了重大的更新。

  • InfluxDB 1.x
    InfluxDB 1.x 是 InfluxDB 的第一个主要版本,于 2013 年发布。它使用 Go 语言编写,支持多种数据类型,包括整数、浮点数、字符串和布尔值。InfluxDB 1.x 支持 SQL 查询语言,用户可以使用 SQL 语句查询和分析数据。

  • InfluxDB 2.0
    InfluxDB 2.0 是 InfluxDB 的第二个主要版本,于 2019 年发布。具有更好的性能、安全性和可靠性。InfluxDB 2.0 引入了一个新的时序数据模型,支持更灵活的数据结构和更高效的数据存储。InfluxDB 2.0 支持 Flux 查询语言,Flux 是一种专门为时序数据设计的查询语言,提供了更强大的数据分析能力。

InfluxDB 1.x 和 2.0 的主要区别

以下是 InfluxDB 1.x 和 2.0 的主要区别:

  • 编程语言:InfluxDB 1.x 使用 Go 语言编写,而 InfluxDB 2.0 使用 Rust 语言编写。
  • 数据模型:InfluxDB 1.x 使用一个基于列的数据模型,而 InfluxDB 2.0 引入了一个新的时序数据模型,支持更灵活的数据结构和更高效的数据存储。
  • 查询语言:InfluxDB 1.x 支持 SQL 查询语言,而 InfluxDB 2.0 支持 Flux 查询语言。
  • 性能:InfluxDB 2.0 具有更好的性能、安全性和可靠性。
  • 存储:InfluxDB 2.0 支持更高效的数据存储和压缩。
  • 集成:InfluxDB 2.0 支持更多的集成,包括 Grafana、Telegraf、Kapacitor 等。
  • 监控和告警:InfluxDB 2.0 提供了监控和告警功能,能够实时监控数据并发送告警通知。

总的来说,InfluxDB 2.0 是一个更强大的、更灵活的、更高效的时间序列数据库,与 InfluxDB 1.x 相比具有许多新的特性和改进。

InfluxDB行协议

要想了解一个数据库,我们首先得先了解该数据库的数据是如何进行存储的。和一些关键概念指标。
与csv相似,在lnfluxDB 行协议中,一条数据和另外一条数据之间使用换行符分隔,所以一行就是一条数据。另外,在时序库领域,一行数据由下面的4种元素构成。

measurement、tags、field、time。前面三个字段就可以定义一个序列
在这里插入图片描述
除了上面四种在lnfluxDB中还有其他的一些含义。

  • database 代表含义:数据库
  • bucket 代表含义:存储桶
  • measurement 代表含义:数据库中的表
  • point 代表含义:表里面的一行数据,由下面的类型组成
    • 时间戳(time):每个数据记录时间,是数据库中的主索引(会自动生成)
    • 数据(field):各种记录值(没有索引的属性)
    • 标签(tags):各种有索引的属性
  • series 代表含义:所有在数据库中的数据,

二、docker安装 InfluxDB v2

  • 下拉镜像
# 从官方镜像仓库拉取
docker pull influxdb:2.7.6
# 由于docker的官方仓库被禁了,上面的可能拉取不下来,可以到我的阿里镜像仓库拉取
docker pull registry.cn-hangzhou.aliyuncs.com/zhengfp_images/influxdb:2.7.6
  • 创建容器
    docker run -d -p 8083:8083 -p 8086:8086 -v /home/influxdb/data:/var/lib/influxdb2 --name influxdb2.7.6 influxdb:2.7.6

    • 把镜像换为你下拉下来的镜像名
    • 把-v 映射的地址也换为自己的本地存储的目录实际地址,避免容器销毁后数据就没了
  • 创建成功后访问web端UI地址
    http://localhost:8086/signin

  1. 点击中间的按钮
    在这里插入图片描述
  2. 设置个人的基础登陆信息和Bucket
    在这里插入图片描述
  3. 进入该页面代表执行成功,创建好了自己的web UI的登陆账号和第一个bucket存储桶,会给你一串连接凭证,需要自己保存起来,用于后续连接访问使用。
    在这里插入图片描述
  4. 点击ADVANCED就进入主页面了。后面在介绍Web UI中常用到的地方
    在这里插入图片描述

三. Web UI常用功能介绍以及使用

1、页面介绍

  • Load Data功能页
  • 查询页
    在这里插入图片描述
  • flux语言写法
    在这里插入图片描述

2、功能使用

2.1、创建bucket

  1. 点击load data页面的buckets
    在这里插入图片描述
  2. 创建在这里插入图片描述

2.2、添加数据

  1. 选择sources,因为是测试,直接通过line写测试数据,实际开发中,肯定是不会去手动写入的。
    在这里插入图片描述
  2. 编写对应行协议数据,格式不能错,遵照👆写的格式

    people,name=tony age=12
    people,name=xiaohong age=13
    people,name=xiaobai age=14
    people,name=xiaohei age=15
    people,name=xiaohua age=12

在这里插入图片描述
点击wrlte data则会提示保存成功

2.3、Data Explorer 查询数据

  1. 使用puery实现查询
  • 下面的query部分是查询条件
    • from:是选择要查询的bucket存储桶
    • filter:是过滤筛选的条件
    • _field:是通过什么字段进行筛选,筛选_field为age的数据
    • view Raw Data:开启表示数据的方式展现,不开启,表示图表的方式展现
    • Past:表示查询什么时间段段数据,如同,是Past 6h则表示查询最近6小时的数据
    • SCRIPT EDITO:表示切换为flux语言编写的方式执行查询。
    • SUBMIT:开始查询

在这里插入图片描述

- 筛选`name`字段包括 **tony1**和**xiaobai1**的数据

在这里插入图片描述

  1. 使用FLUX实现查询
    下面是使用flux实现的简单查询,flux语言使用起来也非常简单易懂,基本上会sql的人上手速度都会比较快,下面简单解释一下

FLUX在InfluxDB使用

  • from(bucket: "test01"):表示查询test01存储桶中的数据
  • |> range(start: -6h):表示查询的时间范围,为最近六小时的数据
  • |> filter(fn: (r) => r["name"] == "tony1" or r["name"] == "xiaohong1" or r["name"] == "xiaohei"):表示查询name字段等tony1、xiaohong1、xiaohei三个值的数据,在使用上也是使用的和sql一样,使用or表示或者。

FLUX在InfluxDB中使用查询,基本上是由三部分组成指定存储桶,指定查询时间,然后就是使用filter进行过滤了(包括使用一些函数),后续会详细介绍FLUX的使用,这就不过多介绍了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何设计一个测试用例

前言👀~ 上一章我们介绍了什么是软件测试以及软件测试的一些基础概念,今天来聊聊如何设计一个测试用例,涉及到黑盒测试的测试方法 基于需求进行测试用例的设计 基于需求的具体设计方法 等价类 边界值 判定表法 正交表法 场景设计法 …

智能ai对话软件都有哪些?分享4款!

在科技日新月异的今天,智能AI对话软件正以前所未有的速度改变着我们的生活方式与工作模式。它们不仅仅是冷冰冰的代码堆砌,更是拥有理解、学习乃至创造能力的智能伙伴,为人类社会带来了前所未有的便捷与乐趣。那么,究竟有哪些智能…

git安装和使用(托管服务 分支 克隆)超细教程

先来了解一下知识 下载与安装 (默认安装,下一步即可) 下载地址: https://git-scm.com/download 下载完成后可以得到如下安装文件: 双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如…

动态规划-斐波那契数列

一. 什么是动态规划 dp一般是需要前面状态的值的问题。比如,解决一个问题需要很多步骤,且步骤之间相关联,后一个步骤的推导需要前一个步骤的结论。而我们所做的就是,将这个带求解的问题分成若干步骤,将每个步骤答案保…

成为git砖家(10): 根据文件内容生成SHA-1

文章目录 1. .git/objects 目录2. git cat-file 命令3. 根据文件内容生成 sha-14. 结语5. References 1. .git/objects 目录 git 是一个根据文件内容进行检索的系统。 当创建 hello.py, 填入 print("hello, world")的内容, 并执行 git add hello.py gi…

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试 ​ 大家好,今天给大家带来的是购买到小车或者说RDK X3之后直接快速体验,今天主要围绕官方的快速入门手册进行逐步测试 1.知识补充1 ​ 在这里首先要给新手小白补充几…

JVM结构、架构与生命周期总结

【1】JVM结构 不同厂商的JVM产品 : 厂商JVMOracle-SUNHotspotOracleJRocketIBMJ9 JVM阿里Taobao JVM HotSpot VM是目前市面上高性能虚拟机的代表作之一。它采用解释器与即时编译器并存的架构。 在今天,Java程序的运行性能早已脱胎换骨,已…

数据上新 | 景联文科技推出高质量方言音文对数据集,驱动方言语音大模型技术革新

中国电信人工智能研究院(TeleAI)正式对外发布星辰超多方言语音识别大模型。这是业内首个支持30种方言自由混说的语音识别大模型,也是目前国内支持最多方言的语音识别大模型。 方言语音大模型具有广泛的应用场景,可以应用于语音助手…

1.1.9创建应用

1.在全局配置文件下找到urls.py进行路由配置 配置路由要指明哪个应用,和写好模块导入的函数 2.找到路由要启动的应用,在应用里找到视图函数进行设计 path(‘url模式/“,视图函数) 注意第五部没有/ 1.1.110路由匹配模…

小阿轩yx-KVM+GFS 分布式存储系统构建 KVM 高可用

小阿轩yx-KVMGFS 分布式存储系统构建 KVM 高可用 案例分析 案例概述 使用 KVM 及 GlusterFS 技术,结合起来实现 KVM 高可用利用 GlusterFS 分布式复制卷对 KVM 虚拟机文件进行分布存储和冗余 分布式复制卷 主要用于需要冗余的情况下把一个文件存放在两个或两个…

刚起步的海外仓怎么选WMS系统,要注意什么

对于刚起步的海外仓企业来说,最紧要的事情就是把核心业务打磨平稳,形成核心竞争力,才能在激烈的竞争中赢得一席之地。 而要实现这个目的,WMS海外仓系统的引入当然是必要的一环,不过因为刚起步,业务和资源都…

AI产品经理的职责与能力:将AI技术转化为实际价值

一、AI产品经理的职责 发现和解决问题:AI产品经理需要具备敏锐的洞察力,能够发现用户需求和痛点,并提出相应的解决方案。传递价值给用户:AI产品经理需要确保产品能够满足用户的需求,提供价值,并提升用户体…

大模型之语言大模型技术

本文作为大模型综述第二篇,介绍语言大模型基本技术。 近年来,在 Transformer 架构基础上构建的预训练语言模型为自然语言处理领域带来了一系列突破式进展,成为人工智能主流技术范式。预训练语言模型采用“预训练+微调”方法,主要分为两步: 1)将模型在大规模无标注数据上…

No static resource favicon.ico.问题解决

一,问题 Spring Boot项目调用接口时报错 org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpReques…

餐饮卫生数字化防线:EasyCVR明厨亮灶/透明厨房/阳光厨房视频监管方案

近期有新闻报道,某互联网大厂办事处发生了一起大规模食物中毒事件,导致近60人住院。餐饮食品卫生安全直接关系到人民群众的身体健康和生命安全,是社会关注的焦点。 传统的监管方式往往依赖于人力巡查和抽检,存在效率低、覆盖面窄…

企业邮箱安全稳定吗?

企业邮箱安全稳定吗?企业邮箱通过GDPR等国际标准保护数据,采用加密技术、反垃圾邮件、身份验证等措施确保安全。服务器全球分布,灾难恢复和备份确保稳定。Zoho邮箱提供多种版本和注册流程,支持邮件协作、备份与恢复等功能。 一、…

成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?

现在 web 安全工程师比较火,岗位比较稀缺,现在除了一些大公司对学历要求严格,其余公司看中的大部分是能力。 有个亲戚的儿子已经工作 2 年了……当初也是因为其他的行业要求比较高,所以才选择的 web 安全方向。 资料免费分享给你…

“电商兴农 走进柳湖”明天赵堡准时启动,邀您一起来采摘

为了进一步推动农村电子商务普及应用,营造农村电商发展浓厚氛围,培育电商新业态、新模式,宣传推广崆峒农特产品,推动城乡生产与消费有效对接,拓宽农特产品销售渠道,释放农村消费潜能,挖掘乡村文…

凡图公益行|温暖新庞村:“守护童心、预防霸凌”公益活动圆满落幕!

凡图公益行|温暖新庞村:“守护童心、预防霸凌”公益活动圆满落幕! 在当今社会,霸凌这一现象如同阴霾般笼罩在部分孩子的生活之中,成为了一个不容忽视的社会问题。 它不仅给受害者带来深重的身心伤害,还对整个社会的和…

Haption力反馈设备在核工业遥操作机器人中的应用探讨

核工业作为能源领域的重要组成部分,其安全性和工作效率的提升越来越受到人们的关注。在核工业环境中,由于存在高辐射、高风险等特性,传统的人工操作方式并不适用于该领域,因此遥操作机器人技术应运而生。Haption力反馈设备作为虚拟…