美文网首页
InfluxDB概念和基本操作

InfluxDB概念和基本操作

作者: 王镇_ee87 | 来源:发表于2020-12-15 08:42 被阅读0次

    InfluxDB (时序数据库) 基本概念

    InfluxDB(时序数据库),常用的一种使用场景:监控数据统计。每毫秒记录一下电脑内存的使用情况,然后就可以根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图;

    可以理解为按时间记录一些数据(常用的监控数据、埋点统计数据等),然后制作图表做统计;

    influxdb 没有显示的建表语句和删除语句,你插入数据的同时,表不存在会自动建表,删除是需要建一个数据保存策略(Retention Policies)用于指定数据保留时间,超过指定时间,就删除这部分数据。

    0、创建新的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"
    
    1、数据格式

    在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value)。格式如下:

    cpu_usage,host=server01,region=us-west value=0.64 1434055562000000000
    

    虚拟的 key 包括以下几个部分: database, retention policy, measurement, tag sets, field name, timestamp。

    2、对常见关系型数据库(MySQL)的基础概念对比
    image.png

    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

    name: census
    ————————————
    time                 butterflies     honeybees     location     scientist
    2015-08-18T00:00:00Z      12             23           1         langstroth
    2015-08-18T00:00:00Z      1              30           1         perpetua
    2015-08-18T00:06:00Z      11             28           1         langstroth
    2015-08-18T00:06:00Z      11             28           2         langstroth
    
    3、注意点
    tag和 tag-value 只能为字符串类型
    field 类型可以是 字符串或数值或布尔值
    不支持join
    filed-value是字符串类型,insert时用双引号,查询时用单引号
    支持连续查询操作(汇总统计数据):CONTINUOUS QUERY
    配合Telegraf服务(Telegraf可以监控系统CPU、内存、网络等数据)
    配合Grafana服务(数据展现的图像界面,将influxdb中的数据可视化)
    
    
    4、常用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;
    

    参考1
    参考2

    相关文章

      网友评论

          本文标题:InfluxDB概念和基本操作

          本文链接:https://www.haomeiwen.com/subject/frzbwktx.html