全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

浅析时序数据库的流计算支持

时间:2023-03-23 09:24

人气:

作者:admin

标签: SQL  API接口  数据库 

导读:时序数据(Time Series Data)是基于相对稳定频率持续产生的一系列指标监测数据,比如一年内的道琼斯指数、一天内不同时间点的测量气温等。...

01

时序数据及其特点

时序数据(Time Series Data)是基于相对稳定频率持续产生的一系列指标监测数据,比如一年内的道琼斯指数、一天内不同时间点的测量气温等。时序数据有以下几个特点:

●历史数据的不变性

● 数据的有效性

● 数据的时效性

● 结构化的数据

● 数据的大量性

02

时序数据库基本架构

b7896dea-c8e0-11ed-bfe3-dac502259ad0.png

针对时序数据的特点,时序数据库一般具有以下特性:

● 高速的数据入库

● 数据的生命周期管理

● 数据的流处理

● 高效的数据查询

● 定制的数据压缩

03

流计算介绍

流计算主要是指针对实时获取来自不同数据源的海量数据,经过实时分析处理,从而获得有价值的信息。常见的业务场景包括实时事件的快速反应,市场变化的实时告警,实时数据的交互分析等。流计算一般包括如下几方面的功能:

1)过滤和转换 (filter & map)

2)聚合以及窗口函数 (reduce,aggregation/window)

3)多数据流合并以及模式匹配 (joining & pattern detection)

4)从流到块处理

04

时序数据库对流计算的支持

案例一:使用定制化的流计算 API,如下面例子所示:

from(bucket: "mydb")  
|> range(start: -1h)  
|> filter(fn: (r) => r["_measurement"] == "mymeasurement")  
|> map(fn: (r) => ({ r with value: r.value * 2 }))  
|> filter(fn: (r) => r.value > 100)  
|> aggregateWindow(every: 1m, fn: sum, createEmpty: false)  
|> group(columns: ["location"])  
|>join(tables:{stream1:{bucket:"mydb",measurement:"stream1",start:-1h},stream2:{bucket:"mydb",measurement:"stream2",start:-1h}},on:["location"])
|>alert(name:"value_above_threshold",message:"Valueisabovethreshold",crit:(r)=>r.value>100)
|>to(bucket:"mydb",measurement:"output",tagColumns:["location"])

案例二:使用类 SQL 指令,创建流计算以及定义流计算规则,如下:

CREATE STREAM current_stream        
TRIGGER AT_ONCE        
INTO current_stream_output_stb AS        
SELECT
_wstartasstart,
_wendasend,
max(current)asmax_current
FROMmeters        
WHERE voltage <= 220        
 INTEVAL (5S) SLIDING (1s);





审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信