• influxDB入门


    一、参考

    influxDB中文文档

    二、安装与运行

    2.1 安装

    # 使用 brew 安装
    brew install influxdb
    
    # 查看influxdb版本
    influxd version
    

    2.2 运行

    # 运行influxdb
    influxd -config /usr/local/etc/influxdb.conf
    

    三、创建数据库

    3.1 连接到influxdb

    # 连接到influxDB, 精度为纳秒
    influx -precision rfc3339
    
    

    3.2 创建数据库

    
    # 创建数据库, mydb
    CREATE DATABASE yzdb # 区分大小写
    
    # 查看数据库列表
    SHOW DATABASES
    
    # 使用数据库mydb
    USE mydb
    
    

    _internal数据库是用来存储influxDB内部的实时监控数据

    四、写入数据

    4.1 基本概念

    influxDB里存储的数据被称为时间序列数据

    时序数据有零个或多个数据点,每一个都是一个指标值

    数据点包括:

    (1) time,时间戳,一个时间戳,可以类比为数据表中的主键索引

    (2) measurement, 指标,例如cpu_load,可以类比为数据表名称

    (3) field,字段值,是一个k-v对,例如:value=0.64temperature=21.2, 可以类比为表中列

    (4) tag,标签,表示该指标的元数据信息,例如:host=server01region=EMEA,可以类比为表中的列

    4.2 写入数据

    
    INSERT cpu,host=serverA,region=us_west value=0.64
    
    

    五、查询

    5.1 简单查询语句

    
    > select * from cpu_load_short;
    name: cpu_load_short
    time                           direction host     region  value
    ----                           --------- ----     ------  -----
    2015-01-29T21:55:43.702900257Z in        server01 us-west 2
    2015-01-29T21:55:43.702900257Z           server02 us-west 0.55
    2020-12-03T02:41:04.964796Z              server02         0.67
    
    

    5.2 多个查询

    多个查询之间使用;分隔

    
    > select count(value) from cpu_load_short;select * from cpu_load_short;
    name: cpu_load_short
    time                 count
    ----                 -----
    1970-01-01T00:00:00Z 3
    
    name: cpu_load_short
    time                           direction host     region  value
    ----                           --------- ----     ------  -----
    2015-01-29T21:55:43.702900257Z in        server01 us-west 2
    2015-01-29T21:55:43.702900257Z           server02 us-west 0.55
    2020-12-03T02:41:04.964796Z              server02         0.67
    
    

    六、关键概念

    6.1 measurement

    (1) measurement作为tag,fields和time列的容器

    (2) measurement的名字是存储在相关fields数据的描述

    (3) measurement在概念上类似于SQL中的table(表)

    6.2 time

    6.3 fields(字段)

    (1) fields由field key和field value组成, 每组field key和field value的集合组成了field set;

    (2) field key是字符串类型,保存了 measurement的元数据

    (3) field value是实际数据,它们可以是字符串、浮点数、整数、布尔值

    (4) field value总是和时间戳有关

    (5) field是InfluxDB数据结构所必需的一部分——在InfluxDB中不能没有field

    (6) field是没有索引的,查询相对于tag上的查询性能会低很多

    (7) 一般来说,field不应包含常用来查询的元数据

    6.4 tag

    (1) tag由tag key和tag value组成

    (2) tag key和tag value都作为字符串存储,并记录在元数据中

    (3) tag set是每组tag key和tag value的不同集合

    (4) tag不是必需的字段

    (5) tag是索引的,这意味着对tag的查询更快,tag是存储常用元数据的最佳选择

    6.5 series

    series是共同retention policy,measurement和tag set的集合

    6.6 point

    point就是具有相同timestamp的相同series的field集合

  • 相关阅读:
    桥接模式
    单例模式
    迭代器模式
    组合模式
    备忘录模式
    适配器模式
    状态模式
    观察者模式
    golang 字符串统计
    go bytes缓冲区使用介绍 -转自https://www.cnblogs.com/--xiaoyao--/p/5122138.html
  • 原文地址:https://www.cnblogs.com/thewindyz/p/13924546.html
Copyright © 2020-2023  润新知