时序数据库研究现状

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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.流式处理

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

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

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


总结

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

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

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

(0)
上一篇 2022年10月4日 下午7:46
下一篇 2022年10月4日 下午8:00


相关推荐

  • 斯坦福ML公开课笔记14——主成分分析

    斯坦福ML公开课笔记14——主成分分析

    2021年12月15日
    43
  • 软件激活成功教程入门_软件激活成功教程修改内容

    软件激活成功教程入门_软件激活成功教程修改内容大家好我是长生第一次开通博客主要是为了记录我在激活成功教程学习中遇到的问题以及解决办法 激活成功教程初级入门第一步有壳查壳无壳直接载入OD 第二步 先打开OD 右键搜索ASCII 第三部crtl+f 搜索 注册失败关键提示字符第四步       返回OD主界面 在提示注册失败字符上方 寻找关键je 与关键jne,一般大跳即为关键跳,这个时候右键nop填充,在保存文件 这个时候…

    2026年2月8日
    3
  • CBOW全称_skip的形式

    CBOW全称_skip的形式skip-gram结构是利用中间词预测邻近词cbow模型是利用上下文词预测中间词一、CBOW1、CBOW之所以叫连续词袋模型,是因为在每个窗口内它也不考虑词序信息,因为它是直接把上下文的词向量相加了,自然就损失了词序信息。CBOW抛弃了词序信息,指的就是在每个窗口内部上下文直接相加而没有考虑词序。2、CBOW过程简单介绍如下(实际算法会用到哈夫曼编码等降维技巧,这里仅以理解为目的简介基本原理):输入为C个V维的vector。其中C为上下文窗口的大小,V为原始编码空间的规模。例如,

    2025年9月24日
    7
  • VB.NET 用循环判断文本框是否为空

    VB.NET 用循环判断文本框是否为空VB.NET 用循环判断文本框是否为空

    2022年4月24日
    116
  • pytest的assert_java断言assert

    pytest的assert_java断言assert前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月30日
    8
  • 处理高并发的六种方法

    处理高并发的六种方法处理高并发的六种方法1:系统拆分,将一个系统拆分为多个子系统,用dubbo来搞。然后每个系统连一个数据库,这样本来就一个库,现在多个数据库,这样就可以抗高并发。2:缓存,必须得用缓存。大部分的高并发场景,都是读多写少,那你完全可以在数据库和缓存里都写一份,然后读的时候大量走缓存不就得了。毕竟人家redis轻轻松松单机几万的并发啊。没问题的。所以你可以考的虑考虑你的项目里,那些承载主要请求读场景…

    2022年5月6日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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