【大数据】InfluxDB是什么呢,又该怎么用呢

说到数据库,我们常用且熟知的就是Mysql了,但现在随着大数据的席卷而来,时序数据库也应用而生了,那它究竟是什么呢,就让我们一起来了解下

InfluxDB是什么呢

(1)InfluxDB是一个用于存储和分析时间序列数据的开源数据库。简单说,Influxdb就是一个时序数据库。
什么是时序数据库呢,简单说就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。
(2)InfluxDB里存储的数据被称为时间序列数据,其包含一个数值,就像CPU的load值或是温度值类似的。时序数据有零个或多个数据点,每一个都是一个指标值。数据点包括time(一个时间戳),measurement(例如cpu_load),至少一个k-v格式的field(也即指标的数值例如 “value=12.13”),零个或多个tag
(3)与Mysql相比
measurement类比于SQL里面的table,其主键索引总是时间戳。tag和field是在table里的其他列,tag是索引列,field是普通列

InfluxDB的特性

(1)schemaless(无结构),可以是任意数量的列
(2)数据可以打标记,这样查询可以很灵活
(3)类SQL的查询语句
(4)min, max, sum, count, mean, median 一系列函数,方便统计
(5)安装管理很简单,并且读写数据很高效
(6)能够实时查询,数据在写入时被索引后就能够被立即查出
(7)内置HTTP接口,使用方便

influxDB的schema设计

在设计我们的结构时,我们需要考虑的是哪些放到tag中,哪些放到filed中
(1)经常查询的字段作为tag
(2)对其使用GROUP BY(),要放在tag中
(3)对其使用InfluxQL函数,则将其放到field中
(4)tag value只能是字符串,filed value可以使数值也可以是字符串,所以存储的值不是字符串,则需要放到field中

influxDB的简单使用

1、数据库与表相关

(1)创建数据库

CREATE DATABASE testdb

(2)查看已存在的数据库

SHOW DATABASES

(3)删除数据库

DROP DATABASE testdb

(4)使用某个数据库

USE testdb

(5)查看该库中的所有表

SHOW measurements

(6)删除表
没有单独创建表的语句,表的创建是在插入数据时创建的

DETETE FROM "measurement_name"

2、读写数据相关

(1)插入数据

  • 命令行
INSERT testdb,host=serverA,region=us_west value1=12.13,value=1

在这里host和region就是tag(索引列),value就是filed(普通列)

  • http接口

post

http://127.0.0.1:8086/write?db=testdb

body

testdb host=serverA,region=us_west value1=12.13,value=1

(2)查询数据

  • 命令行
SELECT * FROM "test_flume"
  • http接口

get

http://localhost:8086/query?pretty=true

参数

db=testDb
q=SELECT * FROM "test_flume"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值