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

01
时序数据及其特点 
时序数据(time series data)是基于相对稳定频率持续产生的一系列指标监测数据,比如一年内的道琼斯指数、一天内不同时间点的测量气温等。时序数据有以下几个特点:
●     历史数据的不变性
●     数据的有效性
●     数据的时效性
●     结构化的数据
●     数据的大量性
02
时序数据库基本架构
针对时序数据的特点,时序数据库一般具有以下特性:
●     高速的数据入库
●     数据的生命周期管理
●     数据的流处理
●     高效的数据查询
●     定制的数据压缩  
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: value is above threshold, 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              _wstart as start,               _wend as end,               max(current) as max_current         from meters  where voltage <= 220  inteval (5s) sliding (1s);


电子管计算机原理_电子管计算机的运算速度
一个按键的多次击键组合应该如何判别详细技巧程序概述
明朔科技成为智慧路灯引领者,已应用于国内30个省级区域
手术机器人面临的伦理风险及应对措施
华为全新折叠屏产品Mate V
浅析时序数据库的流计算支持
什么是弱电工程 弱电系统由哪几部分组成
哪种PC品类更值得买
智能锁的种类有哪些,它们的用途是什么
CMOS RF技术迎来新一轮发展
无人工厂来了?粮食加工产线远程自动控制解决方案
5G部署迎来规模商用阶段未来发展可期
直角坐标机器人的结构组成及在铝锭搬运中的应用
中关村新元科技首发“五宝”的五大行业机器人 已经在几省开始使用
研究发现:93%的云计算环境都易有遭受网络攻击的风险
MPXM2010的压力测控系统及其精度改进发方法
京东方拟投建第6代新型半导体显示器件生产线 项目总投资290亿元!
iPhoneX引领未来手机创新方向,优质龙头有望强者恒强
2023年7月新能源车销量分析
新能源的市场占比有提升空间,推行节能减排势在必行