广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >influxDB 基础了解
  • 569
分享到

influxDB 基础了解

数据库java系统架构 2023-09-05 18:09:41 569人浏览 独家记忆
摘要

目录 一、什么是时序数据库 1、时序数据库 InfluxDb 2、InfluxDB 的特点 3、influxdb 数据模型 4、influxdb 时间线 5、influxdb 系统架构 二、influxdb的安装 1.Windows电脑安装

目录

一、什么是时序数据库

1、时序数据库 InfluxDb

2、InfluxDB 的特点

3、influxdb 数据模型

4、influxdb 时间线

5、influxdb 系统架构

二、influxdb的安装

1.Windows电脑安装influxdb时序数据库

1、influxdb解压安装

2、启动influxdb数据库

3、启动客户端测试是否服务器启动成功

三、influxdb 基本操作

1、InfluxDB数据库操作

显示数据库

创建数据库

删除数据库

使用指定数据库

2、InfluxDB 数据表操作

显示所有表

新建表

查询表数据

删除表

3、数据保存策略(Retention Policies)

保留策略语法

创建数据保留策略

查看保留期

修改保留期

删除保留期

4、用户操作

显示用户

创建用户

修改用户密码

删除用户

5、数据库访问权限

用户授权

撤销授权

四、influxdb 开启用户登录认证

1、开启登录认证

2、开启认证后无密码登录

3、开启认证后有密码登录

一、什么是时序数据库

什么是时序数据库?时序数据库是近几年一个新的概念,与传统的Mysql关系型数据库相比,它的最大的特点是:数据按照时间顺序存储。

举例来说,日志数据,是以时间顺序存储的,所以用时序数据库存储是一种很好的选择。使用mysql在存储的过程中,不是对这种基于时间的数据进行优化的,所以,在查询、插入上有一些瓶颈。

1、时序数据库 InfluxDb

InfluxDB是一个用于存储和分析时间序列数据的开源数据库。也是使用最多的一个时序数据库。

2、InfluxDB 的特点

InfluxDB有很多特点,如下:

  • 内置Http接口,使用方便

  • 数据可以打标记,这样查询可以很灵活

  • sql的查询语句

  • 安装管理很简单,并且读写数据很高效

  • 能够实时查询,数据在写入时被索引后就能够被立即查出

3、influxdb 数据模型

  • measurement:数据库中的表;

  • points:表里面的一行数据。

Point由时间戳(time)、数据(field)和标签(tags)组成:

  • time:每条数据记录的时间,也是数据库自动生成的主索引;

  • fields:各种记录的值;

  • tags:各种有索引的属性。

temperature 就是measurement 代表一张表。每行代表一个 point internal extenal 是两个数据指标取值。tags代表取值产生的位置。

4、influxdb 时间线

  • series :所有在数据库中的数据,都需要通过图表来展示,表示表里面的数据,可以在图表上画成几条线,通过tags排列组合计算出来。

series 就是某种特定tag下的某个特定指标的时序取值集合

 

5、influxdb 系统架构

每个database 可以有多个RP(retention policy数据保存策略),但是只有一个默认策略。策略下按照时间段分为多个ShardGroup,每个ShardGroup存储一个时间段的数据。每个shardgroup下分多个shard来存储数据。

 

二、influxdb的安装

1.windows电脑安装influxdb时序数据库

windows1.8.3版本

1、influxdb解压安装

下载后直接解压即可,将influxdb解压到某个目录:

 有几个文件我们需要记一下:

  • influxdb.conf 是配置文件

  • influxd 是influx的主程序

2、启动influxdb数据库

通过cmd进入这个目录,执行 influxd.exe 即可启动:

 可能会弹出需要网络的提醒,这时候点击允许访问网络就可以了。

 3、创建服务

点击下方nSSM.exe下载到influxdb目录中:

nssm.exe

 (1)通过cmd进入这个目录,执行 nssm.exe install influxdb,选择路径

 选择 influxd.exe

 (2)在Arguments填入 -config ./influxdb.conf

 (3)打开任务管理器,启动influxdb服务

 

3、启动客户端测试是否服务器启动成功

再次通过cmd进入这个目录,执行 influx.exe 即可启动:

 执行 show databases, 客户端会连接默认的db,如上图,显示了对应的数据库就表示influxdb启动成功了。

三、influxdb 基本操作

此次在linux中进行操作演示

1、InfluxDB数据库操作

显示数据库

show databases

说明:_internal数据库是用来存储InfluxDB内部的实时监控数据的。

创建数据库

create database test

 

删除数据库

drop database kkkkk

 

使用指定数据库

use mydb

 

2、InfluxDB 数据表操作

在 InfluxDB 当中,并没有表(table)这个概念,取而代之的是 MEASUREMENTS,MEASUREMENTS 的功能与传统数据库中的表一致,因此我们也可以将 MEASUREMENTS 称为InfluxDB 中的表。

显示所有表

SHOW MEASUREMENTS

新建表

InfluxDB 中没有显式的新建表的语句,只能通过 insert 数据的方式来建立新表。

insert cpu,host=serverA,region=us_west value=0.64

其中 cpu 就是表名,host、region 是索引(tags),value=xx是记录值(fields),记录值可以有多个,系统自动追加时间戳

 

查询表数据

select * from cpu

 

执行 precision rfc3339 更换为国际时间,与北京时间相差8小时

删除表

drop measurement

 

3、数据保存策略(Retention Policies)

influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。(设置类似于定期清理的语句)

保留策略语法

CREATE RETENTION POLICY ON DURATION REPLICATION [SHARD DURATION ] [DEFAULT]

:保留策略的名称(自定义)

:为哪个数据库创建保留策略

:该保留策略对应的数据过期时间

REPLICATION:副本因子 SHARD DURATION:分片组的默认时长

[DEFAULT]:是否为默认策略

创建数据保留策略

CREATE RETENTION POLICY "influx_retention" ON "mydb" DURATION 30d REPLICATION 1 DEFAULT

influx_retention:策略名;

mydb:具体的数据库名;

30d:保存30天,30天之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期/周);

replication 1:副本个数,一般为1就可以了;

default:设置为默认策略

查看保留期

SHOW RETENTION POLICIES ON mydb

 

修改保留期

ALTER RETENTION POLICY "influx_retention" ON mydb DURATION 15d

 

删除保留期

DROP RETENTION POLICY "influx_retention" ON mydb

 

4、用户操作

显示用户

show users

 

创建用户

  • 【普通用户】创建用户并设置密码

CREATE USER tom WITH PASSWord '123'

 

  • 【管理员用户】

create user "tony" with password '123' with all privileges

 

修改用户密码

SET PASSWORD FOR tom = '123456'

删除用户

drop user admin

5、数据库访问权限

用户授权

  • 授权用户数据库操作权限

GRANT ALL PRIVILEGES ON influxdb TO tom

  • 赋予用户管理员权限

GRANT ALL PRIVILEGES TO tony

备注:只能使用admin权限才可以操作数据库

撤销授权

  • 撤销用户数据库操作权限

Revoke ALL PRIVILEGES ON influxdb FROM tom

  • 撤销用户管理员权限

Revoke ALL PRIVILEGES FROM tony

四、influxdb 开启用户登录认证

1、开启登录认证

在influxdb配置文件influxdb.conf中,开启用户登录认证,在http模块修改如下内容:

[root@client01 ~]# vim /etc/influxdb/influxdb.conf[http] ······ auth-enabled = true [root@client01 ~]# systemctl restart influxd # 修改完配置文件后需要重启 # 在Windows 中 则可以 在任务管理器中 重新启动influxdb服务

 

修改用户权限时需要重新修改配置文件为 auth-enabled = false 才可进行操作

2、开启认证后无密码登录

普通用户无权限查看:

 

3、开启认证后有密码登录

得让有管理员权限的用户登录才有查看权限:

执行 influx -username tony -password 123 登录 influxdb

来源地址:https://blog.csdn.net/weixin_46560589/article/details/126002393

--结束END--

本文标题: influxDB 基础了解

本文链接: https://www.lsjlt.com/news/395882.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • influxDB 基础了解
    目录 一、什么是时序数据库 1、时序数据库 InfluxDb 2、InfluxDB 的特点 3、influxdb 数据模型 4、influxdb 时间线 5、influxdb 系统架构 二、influxdb的安装 1.Windows电脑安装...
    99+
    2023-09-05
    数据库 java 系统架构
  • 【MySQL】快速了解MySQL基础
    登录MySQL后我们可以使用命令 show databases,来查看有哪些数据库。 show databases; 如果我们想创建一个数据库可以使用 create database 数据库名 [ch...
    99+
    2023-10-20
    mysql 数据库
  • JavaHttp的基础概念了解
    目录基本概念了解网络的分层HTTP协议HTTP和TCP的关系总结学完了计算机网络课程以后,确实学到了一些网络的概念,初步拥有了对网络的一些认识。这些概念虽然可以用来解释平时网络上遇到...
    99+
    2023-05-17
    java Http Http基础概念
  • 简单了解mysql基础知识
    下面一起来了解下mysql基础知识,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql基础知识这篇短内容是你想要的。           ...
    99+
    2022-10-18
  • 25分钟了解php?php基础
    🏆今日学习目标: 🍀学习php基础 ✅创作者:贤鱼 ⏰预计时间:35分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:网络安全 ...
    99+
    2023-08-31
    php 开发语言 服务器
  • 新手了解java基础知识(一)
    目录1.java基础1.1Java历史1.2Java特点1.2.1 简单性1.2.2 面向对象1.2.3 分布式(微服务)1.2.4 健壮性1.2.5 安全性1.2.6 体系结构中立...
    99+
    2022-11-12
  • 新手了解java基础知识(二)
    目录算数运算符例子关系运算符例子逻辑运算符例子赋值运算符Java运算符优先级总结算数运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。 ...
    99+
    2022-11-12
  • 新手了解java IO基础知识
    目录一、File类1、简介2、创建方式3、常用方法二、IO概念1.什么是输入2.什么输出(Output)三、流的分类1、InputStream(字节流)2、OutputStream(...
    99+
    2022-11-12
  • 了解java中对象基础Object类
    目录一、Object简述1、显式扩展2、引用与对象二、基础方法1、getClass2、toString3、equals与hashCode4、thread相关5、clone6、fina...
    99+
    2022-11-12
  • 深入浅出:了解时序数据库 InfluxDB
    时序数据库经常应用于机房运维监控、物联网IoT设备采集存储、互联网广告点击分析等基于时间线且多源数据连续涌入数据平台的应用场景,InfluxDB专为时序数据存储而生,尤其是在工业领域的智能制造,未来应用潜力巨大。 数据模型 1.时序数据...
    99+
    2021-08-02
    深入浅出:了解时序数据库 InfluxDB
  • 了解 MySQL 中外键的基础知识?
    外键可用于创建表之间的关系。外键关系可以是一对一或一对多。外键与另一个表的另一个字段匹配。 一对一关系 - 一个表中的一条记录将链接到另一个表中的一条记录。 一对多关系 - 一条记录将链接到另一个表中的多条记录。 下面是一个例子。首先,我们...
    99+
    2023-10-22
  • 新手了解java 集合基础知识
    目录一、概述Java集合体系结构:二、collection1、List1)ArrayList2)LinkedList2、set1)HashSet2)TreeSet1.实体类2.测试类...
    99+
    2022-11-12
  • 新手了解java 数组基础知识
    目录1、数组的定义2、array 遍历3、List和array 之间的转换1、数组转list2、list 转数组3、Arrays工具类4、可能遇到的问题总结1、数组的定义 ...
    99+
    2022-11-12
  • 新手了解java 泛型基础知识
    目录1、什么是泛型2、泛型的使用规则3、泛型应用实例总结1、什么是泛型 ​ 泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类...
    99+
    2022-11-12
  • 新手了解java 反射基础知识
    目录一、反射概述二、常用api三、创建Class对象的四种方式总结一、反射概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection...
    99+
    2022-11-12
  • 深入了解Python的多线程基础
    目录线程多线程Python多线程创建线程GIL锁线程池总结线程 线程(Thread),有时也被称为轻量级进程(Lightweight Process,LWP),是操作系统独⽴调度和分...
    99+
    2022-11-12
  • 深入了解Oracle ASM(一):基础概念
    相关文章链接: Asm Instance Parameter Best Practice 为什么RHEL 6上没有ASMLIB Unix上如何查看文件名开头为”+asm”的TRAC...
    99+
    2022-10-18
  • 带你了解CSS基础知识,样式
    目录什么是CSS在HTML页面中嵌套使用CSS的两种方式三种方式代码展示链入外部样式表文件以下是常用的样式总结什么是CSS CSS(Cascading Style Sheet):层叠...
    99+
    2022-11-12
  • java基础的详细了解第四天
    目录1、数组数组的引用传递数组的静态初始化数组与方法的调用Java对数组的支持数组的数据分析数组排序数组的转置数组的二分查找法对象数组总结1、数组 数组的引用传递 public ...
    99+
    2022-11-12
  • java基础的详细了解第五天
    目录1、String类1.1两种对象实例化方式1.2字符串比较1.3字符串常量是String的匿名对象1.4String两种实例化方式区别1、分析直接赋值方式2、构造方法赋值1.5字...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作