1.时序数据库与时序数据概论
时序数据库是非关系型数据库的一种,其全称为时间序列数据库(Time Series Database)。时序数据库主要用于存取具有时间特征的数据。
时序数据是随时间产生的数据,其有着产生频率快、依赖时间、数据量庞大的特点。由于时序数据的数据量非常庞大,传统的关系型数据库在底层数据结构(可参见笔者文章)上导致了其无法对该类数据进行有效的存储和管理。数据数据库通过时序数据的特性,对时序数据采用特殊的存储方式,这使时序大数据得到了有效的管理。
例如,基于HBase的opentsdb,其采用“数据便是索引”的存储方式(关于HBase数据结构,可参加笔者相关文章),使得主键索引的利用更加高效,在大量、高并发的查询时,极大地降低了系统的I/O。
2.数据写入与查询(http接口形式)
以opentsdb为例:
1)数据写入:
官方文档地址:http://opentsdb.net/docs/build/html/api_http/put.html
数据写入数据结构:
[
{
"metric":"city.temperature",
"value":"24.7",
"timestamp":1572331517,
"tags":
{
"city":"beijing"
}
}
]
以上示例便为各大TSDB常见的数据结构。metric为指标,value为该指标在该时刻的值,timestamp为时间戳,tags便为该指标的标记。

如上图所示,我们这条数据上报成功了。
2)数据查询
官方文档地址:

本文介绍了时序数据库TSDB的基本概念,以Opentsdb为例,详细阐述了数据的写入和查询过程,包括HTTP接口的使用。重点讨论了aggregator(聚合)和downsample(采样)的概念,如何通过聚合计算不同时间线的数据总和,以及如何通过采样减少数据点,以提高查询效率。
最低0.47元/天 解锁文章
664

被折叠的 条评论
为什么被折叠?



