01
時序數(shù)據(jù)及其特點
時序數(shù)據(jù)(Time Series Data)是基于相對穩(wěn)定頻率持續(xù)產(chǎn)生的一系列指標監(jiān)測數(shù)據(jù),比如一年內(nèi)的道瓊斯指數(shù)、一天內(nèi)不同時間點的測量氣溫等。時序數(shù)據(jù)有以下幾個特點:
●歷史數(shù)據(jù)的不變性
● 數(shù)據(jù)的有效性
● 數(shù)據(jù)的時效性
● 結構化的數(shù)據(jù)
● 數(shù)據(jù)的大量性
02
時序數(shù)據(jù)庫基本架構
針對時序數(shù)據(jù)的特點,時序數(shù)據(jù)庫一般具有以下特性:
● 高速的數(shù)據(jù)入庫
● 數(shù)據(jù)的生命周期管理
● 數(shù)據(jù)的流處理
● 高效的數(shù)據(jù)查詢
● 定制的數(shù)據(jù)壓縮
03
流計算介紹
流計算主要是指針對實時獲取來自不同數(shù)據(jù)源的海量數(shù)據(jù),經(jīng)過實時分析處理,從而獲得有價值的信息。常見的業(yè)務場景包括實時事件的快速反應,市場變化的實時告警,實時數(shù)據(jù)的交互分析等。流計算一般包括如下幾方面的功能:
1)過濾和轉換 (filter & map)
2)聚合以及窗口函數(shù) (reduce,aggregation/window)
3)多數(shù)據(jù)流合并以及模式匹配 (joining & pattern detection)
4)從流到塊處理
04
時序數(shù)據(jù)庫對流計算的支持
案例一:使用定制化的流計算 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 指令,創(chuàng)建流計算以及定義流計算規(guī)則,如下:
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);
審核編輯:劉清
-
SQL
+關注
關注
1文章
751瀏覽量
43994 -
數(shù)據(jù)庫
+關注
關注
7文章
3739瀏覽量
64181 -
API接口
+關注
關注
1文章
81瀏覽量
10415
原文標題:時序數(shù)據(jù)庫的流計算支持
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論