每日一博 | 时序数据库的流计算支持
一、时序数据及其特点
时序数据(Time Series Data)是基于相对稳定频率持续产生的一系列指标监测数据,比如一年内的道琼斯指数、一天内不同时间点的测量气温等。时序数据有以下几个特点:
- 历史数据的不变性
- 数据的有效性
- 数据的时效性
- 结构化的数据
- 数据的大量性
二、时序数据库基本架构
针对时序数据的特点,时序数据库一般具有以下特性:
- 高速的数据入库
- 数据的生命周期管理
- 数据的流处理
- 高效的数据查询
- 定制的数据压缩
三、流计算介绍
流计算主要是指针对实时获取来自不同数据源的海量数据,经过实时分析处理,从而获得有价值的信息。常见的业务场景包括实时事件的快速反应,市场变化的实时告警,实时数据的交互分析等。流计算一般包括如下几方面的功能:
1)过滤和转换 (filter & map)
2)聚合以及窗口函数 (reduce,aggregation/window)
3)多数据流合并以及模式匹配 (joining & pattern detection)
4)从流到块处理
四、时序数据库对流计算的支持
案例一:使用定制化的流计算 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);

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LLVM 16.0 发布,默认标准改为 GNU++17
LLVM 16 已正式发布。LLVM 16.0 中添加了许多令人兴奋的功能,包括更快的 LLD 链接、Zstd 压缩的调试部分、稳定其 LoongArch 支持、默认为 Clang 的 C++17 等等。 下面是 LLVM 16 的主要变化: Clang 的默认 C++ 标准现在是 GNU++17,而不是 GNU++14/C++14 实现更多 C++20 功能,以及对现有 C++20 功能的错误修复,并为 C++2b 功能做一些准备 实现了更多 C2X 功能 各种 Clang 16 编译器诊断改进 与 LLVM 15 相比,LLVM 16 的 LLD 链接器对 ELF 对象的链接速度要快得多 LLVM 16 LLD 现在也支持 Zstd 压缩,类似于 GCC 13 的 Zstd 支持 LLVM 的 LoongArch CPU 后端已升级为“实验性”,现在默认启用。还有初始的 LoongArch JITLink 支持和启用的其他功能。LLVM 的 LLDB 调试器还支持调试 LoongArch 64 位二进制文件以及 Clang 编译器支持 LLVM 16.0 支持新的英特尔 x86...
- 下一篇
memos —— 轻量级的自托管笔记应用
memos 是一个具有知识管理的开源自托管笔记应用。 特点 开源且永远免费 在几秒钟内使用 Docker 自托管 支持 Markdown 可定制和可共享 用于自助服务的 RESTful API 使用 Docker 进行部署 docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest ~/.memos/目录将用作本地计算机上的数据目录,而 /var/opt/memos是在 Docker 中的卷目录,不应该被修改。
相关文章
文章评论
共有0条评论来说两句吧...