influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Query Language (InfluxQL) influx已经推出2.0beta版本,并没有使用,后面的所有都是以1.7版本进行说明 I. 安装 安装教程,直接参考官网链接,installing-influxdb-oss,下面只介绍centos/macos两个操作系统的安装姿势 1. centos…
retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用 I. 基本操作 1. 创建retention policy retention policy依托于database存在,也就是说保存策略创建时,需要指定具体的数据库,语法如下 CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DUR…
前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇 0. 数据准备 在开始查询之前,先看一下我们准备的数据,其中name,phone为tag, age,blog,id为field > select * from yhh name: yhh time age blog id name…
前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 在开始之前,先看一下供查询的数据 > show measurements name: measurements name ---- yhh > select * from yhh name: yhh time age blog id name phone ---- --- ---- -- ---…
前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据 1. delete 语句 delete的官方语法如下 DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>] delete语句和我们常见sql语法有点像,但是注意一下上面的where中的条件,只允许根据tag和时间来进行删除操作 下面给出几个…
在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢? 1. insert数据修改 关于insert的使用语法,可以参考上一篇博文:190726-Influx Sql系列教程五:insert 添加数据 这里只是贴一下基本语法 insert into <retention policy> measurement,tagKey=tagValue fieldK…
接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程 I. Insert 使用说明 基本语法 insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp 1. 基本写数据姿势 当m…
influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集构成:本篇教程将介绍一些这几个概念 1. tag influxdb数据结构中记录元数据(metadata)的kv对,不要求必须存在,tag key/value 都是字符串类型,而且会建立索引,因此基于tag进行查询效率比单纯的基于field进行查询是要高的:后续的一些sql也会发现,某些查询只能基于…
在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存很多的数据.虽然可将measurement类比为mysql中的表,但是他们之间的差别也挺明显的 首先我们先了解一下measurement的几个常用命令,如何查看.新增删除 1. show measurements 查看一个数据库中有哪些measurement,属于常规操作了 先确定数据库 执行sho…
对于influxdb而言,database和我们更熟悉的mysql中的dababse没有什么特别的区别,可以将数据库简单理解为一堆表(measurement)的集合,接下来我们将看一下在influxdb中,database的常规操作 1. 查看当前数据库 如果需要查询当前有哪些数据库,可以通过show语句来实现 show database 上面的_internal是内置的数据库 2. 创建数据库 create database yhh 创建一个名为yhh的数据库 3. 使用数据库 如果需要查询某…