时序数据库研究现状

时序数据库研究现状时序数据库——简单汇总

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、什么是时序数据

广义认为是按照时间顺序存储的一系列数据。

常用场景:

电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据

特点:

1)产生频率快(每一个监测点一秒钟内可产生多条数据)
2)严重依赖于采集时间(每一条数据均要求对应唯一的时间)
3)测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)
4)数据不可变:一旦插入到数据库之中,在过期或删除之前,数据点不会进行任何修改。

二、时序数据库的查询_聚合查询

时序数据库的数据量很大,采集数据频繁,一般不支持对于历史高精度数据的查询(查询成本太高,且一般不具有规律性,不能提供参考意义)

1.基于统计的聚类

这类方法从时序数据中抽取统计特征,如平均值、方差、倾斜度,以及一些高阶特征等,如ARIMA模型的系数、分形度量(fractal measures)等。或是划分窗口,在每个窗口内计算这些统计特征,再进行汇总。

关注不同序列在统计特性上的差异,那么可以提取时序的统计特征,基于提取的统计等特征进行计算欧式距离的KMeans的聚类。

2.基于形状的聚类

许多时序数据往往具有相同的变化模式(如上升、下降、上升等),因此可以根据这些时序数据的形状相似性将变化模式相似的序列聚在同一个类,可以忽略数据在整幅、时间尺度等的差异。

关注形状的相似,那么可以使用执行SBD计算距离的k-shape聚类。

3.基于深度学习的聚类

该类方法主要基于autoencoder模型将时序数据转换为低维的隐空间,现有的变分自编码器(variational autoencoder)等虽然能够在一定程度上容忍噪声、异常值等。

想要捕捉时序的动态特性,可以使用深度学习的seq2seq对隐式向量进行聚类。

4.时间序列聚类的特征

(1)时间序列的聚类和普通的横截面数据聚类不一样;

(2)时间序列聚类的难点在于如何衡量两个时间序列之间的距离(相似性);

(3)使用欧式距离等传统的距离衡量方式去衡量时间序列之间的距离是不可靠的;

(4)可以使用DTW(动态时间规整)的方法去衡量时间序列的距离(相似性);

(5)当求出了时间序列之间的距离矩阵后,用啥聚类方法就问题不大了,层次聚类都行。

三、时序数据的预处理

1.批处理

批处理是使用 pull 的方式查询时序原始数据,预先进行聚合运算获取数据结果写入时序数据库,当进行聚合查询时直接返回预处理后数据结果。时序数据库定期轮询规则,根据采样窗口创建预处理任务,任务根据规则信息形成多个任务队列。队列内任务顺序执行,队列间任务并发执行,多任务队列保证了多租户对计算资源共享。

优点:支持对历史时序数据的处理,实现简单

缺点:查询数据量大,非实时

2.流式处理

当数据时间戳到达采样窗口时,在内存中实时计算,写入时序数据库。相当于对时序数据库进行实时计算。

优点:数据实时计算,无需查询原始数据

缺点:需要特殊处理写入的历史数据,也需要处理运算过程中崩溃的计算单元


总结

以上整合了目前查到的时序数据库与自己所需相关的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185919.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux awk 数组,shell数组和awk数组

    linux awk 数组,shell数组和awk数组awk终于能入门了,所以整理了该文章,内容大多来自网上。一、bash支持一维数组(不支持多维数组),没有限定数组的大小。在shell中,用括号来表示数组,数组元素用空格符号分割开。类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于01.定义数组数组名array,元素abc[root@localhost~]#array=(ab…

  • MYSQL EXPLAIN结果详解

    MYSQL EXPLAIN结果详解EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况。EXPLAIN不考虑各种Cache(缓存)。EXPLAIN不能显示MySQL在执行查询时所作的优化工作。部分统计信息是估算的,并非精确值。 EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划。1idselect的识别符,这是select的查询序列号。如果有两列数据id相同,则为同一组查询,由上到下执行。如果id值不同,id值越大,优先级越高。2select_type

  • nginx启动成功_centos重启服务器命令

    nginx启动成功_centos重启服务器命令文章目录启动Nginx停止nginxservice服务脚本Nginx开机自启启动Nginxnginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行./configure没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。cd/usr/local/nginx/sbin/nginx./nginx执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态

  • pycharm怎么打开database_数据库在生活中的实例

    pycharm怎么打开database_数据库在生活中的实例显示Database功能(已有自动忽略)窗口右侧打开Database输入数据库信息登录数据库可以进行任意数据库操作,该工具类似许多数据库管理软件

  • IOCP配合AcceptEX「建议收藏」

    IOCP配合AcceptEX「建议收藏」IOCP配合AcceptEx的例子(1)(2006-7-214:33:00)【收藏】【评论】【打印】【关闭】标签:C++ VC 网络 服务器 在论坛找到的,搬进来备查,呵呵感谢作者的辛苦劳动:)作者:chang290     发表时间:2005-12-1716:38:00     这是在学《Windows网络

  • 聊聊eureka的delta配置

    聊聊eureka的delta配置

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号