时序数据库

来源:互联网 发布:实验室数据评价 编辑:程序博客网 时间:2024/05/29 08:57

时序数据的概念

时序数据简单的说, 就是随着时间流而不断产生的数据, 比如一台服务器的cpu负载, 或者一个应用的log文件等。 对于这种时序数据, 有一些常用的操作, 比如统计每分钟的平均值, 中位数等。
所谓时序数据库, 就是针对这类场景做了优化的一类数据存储查询系统。
又如百度无人车在运行时需要监控各种状态,包括坐标,速度,方向,温度,湿度等等,并且需要把每时每刻监控的数据记录下来,用来做大数据分析。每辆车每天就会采集将近8T的数据。如果只是存储下来不查询也还好(虽然已经是不小的成本),但如果需要快速查询“今天下午两点在后厂村路,速度超过60km/h的无人车有哪些”这样的多纬度分组聚合查询,那么时序数据库会是一个很好的选择。

看到这类数据处理基本是要对一个时间范围的数据, 根据时间段, 维度进行归类,做一些聚合运算。时序数据库要解决的问题就是如何能在海量数据中, 快速响应用户的此类查询。

时序数据库的概念

序数据库的一些基本概念(不同的时序数据库称呼略有不同)。

metric: 度量,相当于关系型数据库中的table。

data point: 数据点,相当于关系型数据库中的row。

timestamp:时间戳,代表数据点产生的时间。

field: 度量下的不同字段。比如位置这个度量具有经度和纬度两个field。一般情况下存放的是会随着时间戳的变化而变化的数据。

tag: 标签,或者附加信息。一般存放的是并不随着时间戳变化的属性信息。timestamp加上所有的tags可以认为是table的primary key。

如下图,度量为Wind,每一个数据点都具有一个timestamp,两个field:direction和speed,两个tag:sensor、city。它的第一行和第三行,存放的都是sensor号码为95D8-7913的设备,属性城市是上海。随着时间的变化,风向和风速都发生了改变,风向从23.4变成23.2;而风速从3.4变成了3.3。
这里写图片描述

时序数据库面临的挑战

链接