概念
https://jasper-zhang1.gitbooks.io/influxdb/content/Concepts/key_concepts.html
名词解释
influxDB中的名词 | 传统数据库中的概念 |
---|---|
database | 数据库 |
measurement | 数据库中的表 |
points | 表里面的一行数据 |
Point由时间戳(time)、数据(field)、标签(tags)组成。
Point属性 | 传统数据库中的概念 |
---|---|
time | 每个数据记录时间,是数据库中的主索引(会自动生成) |
fields | 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度 |
tags | 各种有索引的属性:地区,海拔 |
启动命令行
# 输入命令
influx
# 或者
/usr/bin/influx
常用命令
connect <host:port> 连接到指定的另一个节点主机:端口
auth 提示输入用户名和密码
pretty 切换json格式的pretty print
chunked 打开来自服务器的分块响应
chunk size <size> 设置分块响应的大小。设置为0可重置为默认的分块大小
use <db_name> 设置使用当前数据库
format <format> 指定服务器响应的格式: json, csv, or column
precision <format> 指定时间戳的格式: rfc3339, h, m, s, ms, u or ns
consistency <level> 设置写入一致性级别: any, one, quorum, or all
history 查看命令历史记录
settings 打印当前的设置
clear 清除数据库或保留策略等设置。运行"clear"以寻求帮助
exit/quit/ctrl+d 终止infuxm命令行交互
show databases 查看所有数据库名
show series 查看series信息
show measurements 查看measurements信息
show tag keys 查看tag信息
show field keys 查看字段信息
help 获取帮助
数据库操作
# 创建数据库
CREATE DATABASE mytestdb
# 查看已存在的数据库
SHOW DATABASES
# 使用选择数据库
USE mytestdb
# 显示该数据库中的表
SHOW MEASUREMENTS
# 删除表
DROP MEASUREMENT "measurementName"
# 删除数据库
DROP database mytestdb
创建数据库策略
# 创建策略
CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT
# 修改策略
ALTER RETENTION POLICY "rp_name" ON db_name" DURATION 3w DEFAULT
# 删除策略
DROP RETENTION POLICY "rp_name" ON "db_name"
- rp_name:策略名
- db_name:具体的数据库名
- 30d:保存30天,30天之前的数据将被删除
它具有各种时间参数,比如:h(小时),w(星期) - REPLICATION 1:副本个数,这里填1就可以了
- DEFAULT 设为默认的策略
删与改
在InfluxDB中并没有提供数据的删除与修改方法。
不过我们可以通过数据保存策略(Retention Policies)来实现删除。
数据写入
- 格式
<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]
- 示例
INSERT cpu,host=serverA,region=us_west value=0.64
这样一个measurement为cpu
,tag是host
和region
,value
值为0.64
的数据点被写入了InfluxDB中。
数据查询
- 格式
SELECT <field_key>[,<field_key>,<tag_key>] FROM <measurement_name>[,<measurement_name>]
- 示例
SELECT * FROM "cpu"
# golang样式的正则
SELECT * FROM /.*/ LIMIT 1
SELECT * FROM "cpu" WHERE "value" > 0.9
支持的操作符
符号 | 含义 |
---|---|
= | 等于 |
!= | 不等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
常用函数
函数名 | 含义 |
---|---|
COUNT | 返回非空字段值得数目 |
DISTINCT | 返回field value的不同值列表。 |
INTEGRAL | 返回字段曲线下的面积,即是积分。 |
MEAN | 返回字段的平均值 |
MEDIAN | 返回排好序的字段的中位数。 |
MODE | 返回字段中出现频率最高的值。 |
SPREAD | 返回字段中最大和最小值的差值。 |
STDDEV | 返回字段的标准差。 |
SUM | 返回字段值的和。 |
BOTTOM | 返回最小的N个field值。 |
FIRST | 返回时间戳最早的值 |
LAST | 返回时间戳最近的值 |
MAX | 返回最大的字段值 |
MIN | 返回最小的字段值 |
PERCENTILE | 返回较大百分之N的字段值 |
SAMPLE | 返回N 个随机抽样的字段值。SAMPLE() 使用reservoir sampling来生成随机点。 |
TOP | 返回最大的N个field值。 |
CUMULATIVE_SUM | 返回字段实时前序字段值的和。 |
DERIVATIVE | 返回字段的相邻两个点的变化率。 |