InfluxDB时序数据库基本知识
InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
安装下载
官网界面打开js报错,所以点击下载没有什么效果,后来在网上查了下在网页中其实已经暴露出来了,需要用chrome浏览器开发者模式,搜索windows,找到influxdb,后面我要下载Chronograf也是采取了同样的办法。
点击链接可以下载
influxdb-1.7.10_windows_amd64.zip
chronograf-1.8.0_windows_amd64.zip
kapacitor-1.5.5_windows_amd64.zip
telegraf-1.14.2_windows_amd64.zip
解压到安装盘
略过配图
修改配置文件
修改conf文件,代码如下,直接复制粘贴,注意修改路径,带D盘的改为你的安装路径就好,一共三个。
[meta]
# Where the metadata/raft database is stored
dir = "C:/influxdb/meta"
# Automatically create a default retention policy when creating a database.
# retention-autocreate = true
# If log messages are printed for the meta service
# logging-enabled = true
###
### [data]
###
### Controls where the actual shard data for InfluxDB lives and how it is
### flushed from the WAL. "dir" may need to be changed to a suitable place
### for your system, but the WAL settings are an advanced configuration. The
### defaults should work for most systems.
###
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:/influxdb/data"
# The directory where the TSM storage engine stores WAL files.
wal-dir = "C:/influxdb/wal"
...后面省略一万行
运行
- 双击influxd.exe启动数据库。
- 然后双击influx.exe,可以连接数据库进行操作
或 - 进入cmd命令,加载配置文件
cmd >> influxd -config influxdb.conf
建议通过nssm工具安装成服务,这样就不需要每次命令行启动了。
下载地址如下:http://www.nssm.cc/download
我们选择win64,进入文件夹后运行cmd,输入nssm install InfluxDB 运行后出现如下界面:
重点说一下参数这一栏,Argument里输入:-config influxdb.conf,类似上面在cmd中输入Influxd -config influxdb.conf
安装好后运行起来就好,Grafana的安装类似上面的操作,只是Argument这一栏不需要输入任何东西
Web界面管理
- 解压chronograf
- 双击chronograf.exe,可以打开网页管理界面,浏览器输入http://localhost:8888/
可以看到美妙的画面,我用admin/admin可以登入,其实不输密码应该也可以,这里没仔细研究。
基础概念对比
| 概念 | MySQL | InfluxDB |
|---|---|---|
| 数据库(同) | database | database |
| 表(不同) | table | measurement |
| 列(不同) | column | tag(索引的,非必须)、field(不带索引)、timestemp(唯一主键) |
- tag set:不同的每组tag key和tag value的集合;
- field set:每组field key和field value的集合;
- retention policy:数据存储策略(默认策略为autogen)InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的;
- series:共同retention policy,measurement和tag set的集合;
- 示例数据如下: 其中census是measurement,butterflies和honeybees是field key,location和scientist是tag key
注意点
- tag 只能为字符串类型
- field 类型无限制
- 不支持join
- 支持连续查询操作(汇总统计数据):CONTINUOUS QUERY
- 配合Telegraf服务(Telegraf可以监控系统CPU、内存、网络等数据)
- 配合Grafana服务(数据展现的图像界面,将influxdb中的数据可视化)
常用InfluxQL
- 查看所有的数据库
show databases; - 使用特定的数据库
use database_name; - 查看所有的measurement
show measurements; - 查询10条数据
select * from measurement_name limit 10; - 数据中的时间字段默认显示的是一个纳秒时间戳,改成可读格式
precision rfc3339; -- 之后再查询,时间就是rfc3339标准格式 - 或可以在连接数据库的时候,直接带该参数
influx -precision rfc3339 - 查看一个measurement中所有的tag key
show tag keys - 查看一个measurement中所有的field key
show field keys - 查看一个measurement中所有的保存策略(可以有多个,一个标识为default)
show retention policies;
客户端命令行方式操作
数据库操作
- create database 指定数据库
- show databases 显示所有数据库
- drop database 指定数据库
- use 使用指定数据库
Connected to http://localhost:8086 version 1.7.10
InfluxDB shell version: 1.7.10
>create database autocontrol
>show databases
name: databases
name
----
_internal
autocontrol
InfluxDB数据表操作
- 当有数据插入时自动创建表
insert loop,hostname=Tag索引 value=值
- 在insert执行语句中,tag与tag、field与field之间用都好进行分割,tag与field之间用空格分割
- tag的value都是,String类型,不需要加双引号
- field的String类型数据,需要放在双引号中,否则会报错
- 如果需要显示添加时间戳,在filed后添加空格,再添加时间戳
查询表
select * from loop
- 删除表
drop measurement loop
数据保存策略(Retention Policies)
influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。
查看当前数据库Retention Policies
> show retention policies on autocontrol
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
>
创建新的Retention Policies
create retention policy "rp_name" on "db_name" duration 3w replication 1 default
- rp_name:策略名;
- db_name:具体的数据库名;
- 3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
- replication 1:副本个数,一般为1就可以了;
- default:设置为默认策略
修改Retention Policies
alter retention policy "rp_name" on "db_name" duration 30d default
删除Retention Policies
drop retention policy "rp_name" on "db_name"

InfluxDB时序数据库基本知识的更多相关文章
- InfluxDB时序数据库应用场景
目前了解到的InfluxDB时序数据库应用场景:如在数据库中有很多条记录,有的记录包含了时间字段time和数值字段water_level,有的只有时间字段time SELECT MAX("w ...
- 使用Python操作InfluxDB时序数据库
使用Python操作InfluxDB时序数据库 安装python包 influxdb,这里我安装的是5.3.0版本 pip install influxdb==5.3.0 使用 from infl ...
- 认识Influxdb时序数据库及Influxdb基础命令操作
认识Influxdb时序数据库及Influxdb基础命令操作 一.什么是Influxdb,什么又是时序数据库 Influxdb是一个用于存储时间序列,事件和指标的开源数据库,由Go语言编写而成,无需外 ...
- ASP.NET Core2读写InfluxDB时序数据库
在我们很多应用中会遇到有一种基于一系列时间的数据需要处理,通过时间的顺序可以将这些数据点连成线,再通过数据统计后可以做成多纬度的报表,也可通过机器学习来实现数据的预测告警.而时序数据库就是用于存放管理 ...
- Influxdb时序数据库阅读笔记
时序数据库 2017年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平 ...
- Influxdb 时序数据库 windows 安装
Influxdb 是一款比较火爆的时序数据库,本文介绍如何在 windows 平台下安装. 1.场景: windows 平台的 influxdb 似乎只支持单机非windows 服务的安装方式 适用于 ...
- Influxdb 时序数据库 centos 安装
Influxdb 环境搭建 操作系统:CentOS 7 X64 SSH工具:PuTTY 操作系统安装,请参照官网文档进行:https://www.centos.org/ 使用PuTTY 通过ssh连接 ...
- 深入浅出时序数据库之预处理篇——批处理和流处理,用户可定制,但目前流行influxdb没有做
时序数据是一个写多读少的场景,对时序数据库以及数据存储方面做了论述,数据查询和聚合运算同样是时序数据库必不可少的功能之一.如何支持在秒级对上亿数据的查询分组聚合运算成为了时序数据库产品必须要面对的挑战 ...
- 互联网级监控系统必备-时序数据库之Influxdb
时间序列数据库,简称时序数据库,Time Series Database,一个全新的领域,最大的特点就是每个条数据都带有Time列. 时序数据库到底能用到什么业务场景,答案是:监控系统. Baidu一 ...
随机推荐
- Chisel3 - bind - PortBinding
https://mp.weixin.qq.com/s/NaInHsJgOwG03BLNF-wlxQ 介绍Module输入输出端口如何进行绑定. 1. IO() 在定义一个模块 ...
- flex布局以及常用属性。
(1)flex布局排列 会消除块状属性,所有与块状相关的属性将失效,比如块状元素会独占一行,如图2,设置flex后会在一行排列
- Java实现 蓝桥杯 算法训练 Torry的困惑(基本型)
算法训练 Torry的困惑(基本型) 时间限制:1.0s 内存限制:512.0MB 问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7--这样的数叫做质数.Torry突然想到一个问题 ...
- Java实现 LeetCode 357 计算各个位数不同的数字个数
357. 计算各个位数不同的数字个数 给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n . 示例: 输入: 2 输出: 91 解释: 答案应为除去 11, ...
- Java实现 LeetCode 73 矩阵置零
73. 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ...
- java实现亲密数
假设有 a.b 两个数,若 a 的所有因子之和等于 b,b 的所有因子之和等于 a, 并且 a 不等于 b,则称 a 和 b 是一对亲密数.如 284 和 220 就是一对亲密数. 分析: 若要找出 ...
- Java实现第十届蓝桥杯求和
试题 A: 求和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1.2.9.10 至 32.39 和 40,共 28 个,他们的 ...
- Linux 文件系统常用命令
文件系统查看命令df df:查看分区,单位默认是KB df -h 统计目录或文件大小du du /etc/:会列出/etc/目录下的所有子目录所占的空间,最后给出/etc/目录的大小,属于高负载命令, ...
- CUDA优化
cuda程序优化 一:程序优化概述 1:精度 在关键步骤使用双精度,其他步骤使用单精度,以获得指令吞吐量和精度的平衡. 2:延迟 先缓冲一定量数据,在交给GPU计算.可以获得较高的数据吞吐量. 3:计 ...
- 彻底解决go get golang.org/x等包失败与VSCode golang插件安装失败问题
由于某种众所周知的一些原因,https://golang.org/ golang 的官方域名是被墙了的,这也就导致了, 在广大 go 开发者使用 golang 的时候,总会出现 go get 失败的问 ...