InfluxDB的安装及常用操作

InfluxDB特点

一句话:相对于CRUD的数据库更偏重CR的时序数据库

InfluxDB的安装

阿里云CentOS直接通过yum安装

  1. 加入yum源
cat <
  1. 安装及启动
sudo yum install influxdb
sudo service influxdb start
  1. 命令行进入
    直接influx即可
    influx_command_line.png

InfluxDB的常用操作

  1. 展示所有的数据库
    与MySQL类似,SHOW DATABASES,初始化默认有一个_internal数据库

    show_dbs.png

  2. 建立一个数据库
    无需schema信息,直接CREATE DATABASE demodb

    InfluxDB的安装及常用操作_第1张图片
    create_db.png

  3. 切换数据库
    CLI上提供了USE用于切换数据库,如USE demodb,这样后续的INSERT等操作就直接作用于该数据库中。

    use_db.png

  4. 插入一条数据
    格式:[,=...] =[,=...] [unix-nano-timestamp]
    这里比较有意思的是measurement类似于MySQL里的table,主键索引默认是时间戳,tag也是默认索引的,注意tagfield直接有个空格。

    insert_command.png

    上图中可以理解为向voltage表中分别插入两条数据,其中tag都为device_id=1field-key均为apparent_voltage,但field_value不同。
    其中:tag列类似于mysql中的索引,而field列类似于没有建立索引的列,直接查询会通过全表扫描字段性能差。tag列的值必须为string类型。

  5. 查询数据
    直接SELECT * FROM voltage

    simple_query.png

    条件筛选:
    condition_query.png

  6. 保留策略(Retention Policy)
    数据保留策略是指数据库保留存储的内容寿命的策略。

  • 展示当前数据库的保留策略
    SHOW RETENTION POLICIES
    name--名称
    duration--持续时间,0代表无限制
    shardGroupDuration--shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,这个描述了每个shard存放多数据的时间片是多大。默认7天。需要注意的是,当数据超出了保留策略后,influxdb并不是按照数据点的时间一点一点删除的,而是会删除整个shard group
    replicaN--全称是REPLICATION,副本个数
    default--是否是默认策略
  • 创建一条保留策略
    CREATE RETENTION POLICY "SEVEN_DAYS" ON "demodb" DURATION 7d REPLICATION 1 DEFAULT
    切换数据库的保留策略会导致之前数据被删除
  • 修改保留策略
    ALTER RETENTION POLICY "SEVEN_DAYS" ON "demodb" DURATION 3d REPLICATION 1 DEFAULT
    更新数据库的保留策略的时间不会导致之前数据被删除
  • 删除保留策略
    DROP RETENTION POLICY "SEVEN_DAYS" ON "demodb"

参考文章:

1. influxdb的retention policy

你可能感兴趣的:(InfluxDB的安装及常用操作)