查看“时间序列数据库”的源代码
←
时间序列数据库
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只对以下1个用户组开放:
用户
。
您可以查看并复制此页面的源代码:
=时间序列数据库= ==时间序列== 时间序列数据库(Time Series Database, TSDB)是针对时间戳或时间序列数据优化的数据库。 时间序列就是跟踪、监视、缩减采样和随时间聚合的测量或事件,可能是服务器指标,应用程序性能监控,网络数据,传感器数据,事件,点击,市场交易以及许多其他类型的分析数据。 与来自常规数据不同,时间序列数据总是会和时间绑定在一起。 时间序列数据更重要的一个属性是如何去查询它。在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据。同时查询的结果里也总是会包含timestamp字段。 时间序列数据库分为两类,第一类的数据库按照关系型数据库的说法,其表结构是这样的: [metric_name] [timestamp] [value] 其优化的查询方式是: SELECT value FROM metric WHERE metric_name=”A” AND timestamp >= B AND timestamp < C 另一类数据库其表结构是: [timestamp] [d1] [d2] .. [dn] [v1] [v2] .. [vn] 其优化的查询方式不限于查询原始数据,而是可以组合查询条件并且做聚合计算,比如: SELECT d2, sum(v1) / sum(v2) FROM metric WHERE d1 = “A” AND timestamp >= B AND timestamp < C GROUP BY d2 ==时间序列的运算== 在时间序列里常见的需求就是插值、降精度(降频降维)和数据聚合。 举个例子, 智慧园区的业务系统需要查看一个楼宇的某盏灯的耗电量情况,那么就需要把这盏灯的耗电量数据从数据库中查询并展示出来,如果由于采集的故障导致某个时刻用电量数据缺失,那么需要通过特定算法来近似的估算出这个数据,这个计算补全数据的过程就是“插值”。 而当需要查看这盏灯一年的耗电趋势情况时,通常只需要计算出每一天的耗电量,进行查看,而不需要把每一个时刻采集的数据全部输出出来,这个将原始精度转化为业务需求精度的过程就是“降精度”。 而如果要统计某一个楼层或者楼宇的用耗电量整体趋势数据时,就需要将所有统计范围内的灯具的耗电量数据做“合并统计”,这个类似的统计过程就是数据聚合(Aggregation)。 =常用的时序数据库= 常用的时序数据库包括: (1)InfluxDB由 Golang 语言编写,进行了用户和角色方面实现的,提供了 Cluster Admin、Database Admin 和 Database User 三种角色。 (2)Graphite主要有两个功能:存储数值型时序列数据、根据请求对数据进行可视化(画图)。分布式时序列数据存储,容易扩展,功能强大的画图Web API,提供了大量的函数和输出方式,Graphite本身不带数据采集功能。 (3)OpenTSDB 是一个分布式、可伸缩的时间序列数据库。它支持豪秒级数据采集所有 metrics,支持永久存储(不需要 downsampling),和 InfluxDB 类似,它也是无模式,以 tag 来实现维度的概念。 (4)Druid 是一个快速、近实时的海量数据开源的 OLAP 系统,并且是。Druid 诞生于 Metamarkets,Druid 会按时间来进行分区(segment),并且是面向列存储的。
返回
时间序列数据库
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
实践教学
个性化3D设计与实现
人工智能实践教学
区块链技术及应用
虚拟现实技术与内容制作
超越学科界限的认知基础课程
电子工艺实习
Nand2Tetris Engine Curriculum
TULLL Creative Learning Group
Wiki上手说明
Wiki账户创建
最近更改
工具
链入页面
相关更改
特殊页面
页面信息