新鲜:百度提供了针对物联网的时序数据库

产品介绍可以看:https://cloud.baidu.com/product/tsdb.html

   在物联网时代,企业需要处理各种设备产生的带有时间标签的数据,即时间序列数据。时间序列数据主要由各类型实时监测、检查与分析设备所采集或产生,涉及电力行业、化工等行业。这些工业数据的典型特点是:产生频率快、严重依赖于采集时间、测点多信息量大等。普通关系型数据库无法高效地处理此类数据。

   为了更好的处理时间序列数据,时序数据库(Time Series Database,下简称TSDB)应运而生。TSDB是用于管理时间序列数据的专业化数据库。区别于传统的关系型数据库,TSDB针对时间序列数据的存储、查询和展现进行了专门的优化,从而获得极高的数据压缩能力、极优的查询性能,特别适用于物联网应用场景。


    可见,这种数据库特别适合我们的分布式光伏电站的时序数据存储。
    比如他的写接口的描述是这样的:

写入data point

方法API说明
POST/v1/datapoint写入data point

请求参数

参数名称参数类型是否必须说明
datapointsList<Datapoint>必须datapoint列表,由Datapoint对象组成的数组

Datapoint对象

参数名称参数类型是否必须说明
metricString必须metric的名称
tagsObject必须data point对应的所有tag,Object中的一对key-value表示一个tag的key-value
timestampInt可选Unix时间戳,单位是毫秒,如果timestamp的位数小于等于10位,系统默认精度是秒,将自动乘以1000;timestamp+value与values两者必须二选一
valueInt/Double/String可选data point的值,timestamp+value与values两者必须二选一
valuesList>可选对于相同的metric+tags的data point,可以通过合并成一个values的List来减少payload,values是个二维数组,里面的一维必须是两个元素,第一个元素是timestamp,类型是Int,第二个元素是value,类型是Int/Double/String

请求示例

POST /v1/datapoint HTTP/1.1
HOST: {database}.tsdb.iot.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-08T16:49:51Z

{
    "datapoints": [{
        "metric": "cpu_idle",
        "tags": {
            "host": "server1",
            "rack": "rack1"
        },
        "timestamp": 1465376157007,
        "value": 51
    }, {
        "metric": "cpu_idle",
        "tags": {
            "host": "server2",
            "rack": "rack2"
        },
        "values": [
            [1465376269769, 67],
            [1465376325057, 60]
        ]
    }]
}
    那么对于我们来说就是, metric对应dataId,tags对应nodeType, nodeId, timestamp就对应logtime,value就对应dataValue,完美契合。

    现在剩下的问题就是这个服务的价格有点贵,100万点/月要40元,这也存不了几个电站的数据。


    

posted @ 2017-03-16 14:24  拿走不谢  阅读(524)  评论(0编辑  收藏  举报