influxDB系列(二)influxDB常用操作

二、使用

安装
#Ubuntu
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start

# CentOS
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

sudo yum install influxdb
sudo systemctl start influxdb

docker安装

离线安装

配置用户
SHOW USERS
CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
GRANT ALL ON "NOAA_water_database" TO "todd"
关键词以及常用操作

database

create database [database name]
drop database [database name]
show databases
use databases

measurement

drop measurement [database name]
show measurements

point

tags fileds timastamp
tag1='tag1',tag2='tag2',tag3='tag3' filed1="test", filed2=12,filed3=true

ps:tag必须为字符串类型

tag keys/field keys

show tag keys
show field keys

retention policy

SHOW RETENTION POLICIES ON [database]
CREATE RETENTION POLICY "2_hours" ON "telegraf" DURATION 2h REPLICATION 1 DEFAULT
ALTER RETENTION POLICY "2_hours" ON "telegraf" DURATION 4h DEFAULT
drop retention POLICY "2_hours" ON "telegraf"

ps:删除时会删掉相关数据

series

series 相当于是 InfluxDB 中一些数据的集合,在同一个 database 中,retention policy、measurement、tag sets 完全相同的数据同属于一个 series,同一个 series 的数据在物理上会按照时间顺序排列存储在一起。

show series from cpu
从单个measurement删除所有series:
DROP SERIES FROM "h2o_feet"

从单个measurement删除指定tag的series:
DROP SERIES FROM "h2o_feet" WHERE "location" = 'santa_monica'

从数据库删除有指定tag的所有measurement中的所有数据:
DROP SERIES WHERE "location" = 'santa_monica'

shard

DROP SHARD <shard_id_number>
show shard groups

shard 在 InfluxDB 中是一个比较重要的概念,它和 retention policy 相关联。每一个存储策略下会存在许多 shard,每一个 shard 存储一个指定时间段内的数据,并且不重复,例如 7点-8点 的数据落入 shard0 中,8点-9点的数据则落入 shard1 中。每一个 shard 都对应一个底层的 tsm 存储引擎,有独立的 cache、wal、tsm file。

RP durationShard group interval
< 2 days1 hour
>= 2 days and <= 6 months1 day
> 6 months7 days
查询
  1. 类似于MySQL的的语法

  2. InfluxDB tags 相当于MySQL的索引列

  3. InfluxDB fields 相当于非索引列

  4. InfluxDB points 相当于一行

写入
insert test,tag1='tag1',tag2='tag2',tag3='tag3' filed1="test", filed2=12,filed3=true timestamp
连续查询
SHOW CONTINUOUS QUERIES
DROP CONTINUOUS QUERY <cq_name> ON <database_name>

CREATE CONTINUOUS QUERY <cq_name> ON <database_name>
BEGIN
  <cq_query>
END
# 高级用法
CREATE CONTINUOUS QUERY <cq_name> ON <database_name>
RESAMPLE EVERY <interval> FOR <interval>
BEGIN
  <cq_query>
END


 CREATE CONTINUOUS QUERY test ON test 
 BEGIN 
 SELECT sum(hour) INTO test.autogen.test1 FROM test.autogen.test GROUP BY time(30s) 
 END

修改CQ

  • CQ一旦创建就不能修改了,你必须DROP再CREATE才行。

** CQ的使用场景**

  • 采样和数据保留:使用CQ与InfluxDB的保留策略(RP)来减轻存储问题。结合CQ和RP自动将高精度数据降低到较低的精度,并从数据库中移除可分配的高精度数据。

  • 预先计算昂贵的查询:通过使用CQ预先计算昂贵的查询来缩短查询运行时间。使用CQ自动将普通查询的高精度数据下采样到较低的精度。较低精度数据的查询需要更少的资源并且返回更快。

  • 替换HAVING子句:InfluxQL不支持HAVING子句。通过创建CQ来聚合数据并查询CQ结果以达到应用HAVING子句相同的功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林木森^~^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值