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