Golang InfluxDB 基础入门

我是不会赢的 · · 648 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

InfluxDB 入门

InfluxDB是一个主要用于存储和分析时间序列数据的开源数据库

  • 主要特性

    • 内置HTTP接口,使用方便
    • 数据可以打标记,这样查询可以很灵活
    • 类SQL的查询语句
    • 安装管理很简单,并且读写数据很高效
    • 能够实时查询,数据在写入时被索引后就能够被立即查出

    在最新的DB-ENGINES给出的时间序列数据库的排名中,InfluxDB高居第一位,可以预见,InfluxDB会越来越得到广泛的使用。

对常见关系型数据库(MySQL)的基础概念对比

概念 MySQL InfluxDB
数据库(同) database database
表(不同) table measurement
列(不同) column tag(带索引的,非必须)、field(不带索引)、timestemp(唯一主键)
  • tag set:不同的每组tag key和tag value的集合
  • field set:每组field key和field value的集合;
  • retention policy(RP):数据存储策略(默认策略为autogen)InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的;
  • Continuous Query (CQ)是在数据库内部自动周期性跑着的一个InfluxQL的查询,CQs需要在SELECT语句中使用一个函数,并且一定包括一个GROUP BY time()语句。
  • series:共同retention policy,measurement和tag set的集合;

常用命令

执行任何指令,并不会看到任何信息,这在CLI里,表示语句被执行并且没有错误;

这就是所谓的没有消息就是好消息

-- 连接
-- -precision  rfc3339 表示输出时间精度以RFC339格式(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)格式化
> influx -precision rfc3339
-- 退出
exit
-- 创建名为mydb的数据库
CREATE DATABASE mydb
-- 操作指定数据库 USE [db-name]
 USE mydb
-- 查看所有的数据库;说明:`_internal`数据库是用来存储InfluxDB内部的实时监控数据的。
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;

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:我是不会赢的

查看原文:Golang InfluxDB 基础入门

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

648 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传