InfluxDB是目前比较流行的时间序列数据库

何谓时间序列数据库?
        什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

Influxdb

Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
它有三大特性:
      (1) 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等)。
      (2) 度量(Metrics):对实时大量数据进行计算。
      (3) 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

同时,它有以下几大特点:
      (1) schemaless(无结构),可以是任意数量的列;
      (2) min, max, sum, count, mean, median 一系列函数,方便统计;
      (3) Native HTTP API, 内置http支持,使用http读写;
      (4) Powerful Query Language 类似sql;
      (5) Built-in Explorer 自带管理工具。

设计理念:

  • 同一时间点多次写入同样的数据被认为是重复写入
  • 极少出现删除数据的情况,删除数据基本都是清理过期数据
  • 极少更新已有数据且不会出现有争议的更新,时间序列数据总是新数据
  • 绝大多数写入是针对最新时间戳的数据,并且数据按时间升序添加
  • 数据的规模会非常大,必须能够处理大量的读写操作
  • 能够写入和查询数据会比强一致性更重要
  • 很多time series非常短暂的存在,所以time series 数量比较大
  • 没有哪个point是过于重要的

influxdb的points数据说明:

    1、time,默认存储数据会有时间,时间无需关心,会帮助我们自动插入

    2、tags:用来存储数据标识,各种有索引的属性

    3、fields:用于存储数据,没有索引

 

posted on 2020-12-10 15:39  童话Bluebells  阅读(206)  评论(0编辑  收藏  举报