https://www.influxdata.com/time-series-platform/influxdb/
https://www.xusheng.org/blog/2016/07/30/performance-test-of-influxdb/
https://xusheng.org/blog/2016/08/12/influxdb-relay-performance-bottle-neck-analysing/
influxd/influx
1.简介
InfluxDB用Go语言编写的一个开源分布式时序、事件和指标数据库,和传统是数据库相比有不少不同的地方。类似的数据库有Elasticsearch、Graphite等。
1.1 特点
1.提供了Http接口的API来操作数据
2.提供了类似sql的数据库语句
3.基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
4.可度量性:你可以实时对大量数据进行计算
5.基于事件:它支持任意的事件数据
6.无结构(无模式):可以是任意数量的列
7.可拓展的支持min, max, sum, count, mean, median 等一系列函数,方便统计
8.原生的HTTP支持,内置HTTP API
9.强大的类SQL语法
10.自带管理界面,方便使用
1.2 influxdb与传统数据库的比较
库、表等比较:
influxDB |
传统数据库中的概念 |
database |
数据库 |
measurement |
数据库中的表 |
points |
表里面的一行数据 |
influxdb数据的构成:
Point由时间戳(time)、数据(field)、标签(tags)组成。
Point属性 |
传统数据库中的概念 |
time |
每个数据记录时间,是数据库中的主索引(会自动生成) |
fields |
各种记录值(没有索引的属性)也就是记录的值:温度, 湿度 |
tags |
各种有索引的属性:地区,海拔 |
这里不得不提另一个名词:series:
所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。具体可以通过SHOW SERIES FROM "表名" 进行查询。