国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

時(shí)間序列數(shù)據(jù)的處理

dmlllll / 1937人閱讀

摘要:現(xiàn)在的時(shí)序數(shù)據(jù)庫底層存儲(chǔ)一般用的是單值模型。現(xiàn)在一般的時(shí)序數(shù)據(jù)庫中,主鍵是會(huì)默認(rèn)生成的,即所有的組合。

摘要: 隨著云計(jì)算和IoT的發(fā)展,時(shí)間序列數(shù)據(jù)的數(shù)據(jù)量急劇膨脹,高效的分析時(shí)間序列數(shù)據(jù),使之產(chǎn)生業(yè)務(wù)價(jià)值成為一個(gè)熱門話題。阿里巴巴數(shù)據(jù)庫事業(yè)部的HiTSDB團(tuán)隊(duì)為您分享時(shí)間序列數(shù)據(jù)的計(jì)算分析的一般方法以及優(yōu)化手段。

演講嘉賓簡介:鐘宇(悠你) 阿里巴巴 數(shù)據(jù)庫高級(jí)專家,時(shí)間序列數(shù)據(jù)庫HiTSDB的研發(fā)負(fù)責(zé)人。在數(shù)據(jù)庫、操作系統(tǒng)、函數(shù)式編程等方面有豐富的經(jīng)驗(yàn)。

本次直播視頻PPT,戳這里!

本次分享主要分為以下幾個(gè)方面:

時(shí)序數(shù)據(jù)庫的應(yīng)用場景

面向分析的時(shí)序數(shù)據(jù)存儲(chǔ)

時(shí)序數(shù)據(jù)庫的時(shí)序計(jì)算

時(shí)序數(shù)據(jù)庫的計(jì)算引擎

時(shí)序數(shù)據(jù)庫展望

一,時(shí)序數(shù)據(jù)庫的應(yīng)用場景

時(shí)序數(shù)據(jù)就是在時(shí)間上分布的一系列數(shù)值。生活中常見的時(shí)序數(shù)據(jù)包括,股票價(jià)格、廣告數(shù)據(jù)、氣溫變化、網(wǎng)站的PV/UV、個(gè)人健康數(shù)據(jù)、工業(yè)傳感器數(shù)據(jù)、服務(wù)器系統(tǒng)監(jiān)控?cái)?shù)據(jù)(比如CPU和內(nèi)存占用率)、車聯(lián)網(wǎng)等。

下面介紹IoT領(lǐng)域中的時(shí)間序列數(shù)據(jù)案例。IoT給時(shí)序數(shù)據(jù)處理帶來了很大的挑戰(zhàn)。這是由于IoT領(lǐng)域帶來了海量的時(shí)間序列數(shù)據(jù):

成千上萬的設(shè)備

數(shù)以百萬計(jì)的傳感器

每秒產(chǎn)生百萬條數(shù)據(jù)

24×7全年無休(區(qū)別于電商數(shù)據(jù),電商數(shù)據(jù)存在高峰和低谷,因此可以利用低谷的時(shí)間段進(jìn)行數(shù)據(jù)庫維護(hù),數(shù)據(jù)備份等工作)

多維度查詢/聚合

最新數(shù)據(jù)實(shí)時(shí)可查

IoT中的時(shí)間序列數(shù)據(jù)處理主要包括以下四步:

采樣

傳輸

存儲(chǔ)

分析

二,面向分析的時(shí)序數(shù)據(jù)存儲(chǔ)

下面介紹時(shí)間序列數(shù)據(jù)的一個(gè)例子。這是一個(gè)新能源風(fēng)力發(fā)電機(jī)的例子。每個(gè)風(fēng)力發(fā)電機(jī)上有兩個(gè)傳感器,一個(gè)是功率,一個(gè)是風(fēng)速,并定時(shí)進(jìn)行采樣。三個(gè)設(shè)備,一共會(huì)產(chǎn)生六個(gè)時(shí)間序列。每個(gè)發(fā)電機(jī)都有多種標(biāo)簽,這就會(huì)產(chǎn)生多個(gè)數(shù)據(jù)維度。比如,基于生產(chǎn)廠商這個(gè)維度,對(duì)功率做聚合。或基于風(fēng)場,對(duì)風(fēng)速做聚合等。現(xiàn)在的時(shí)序數(shù)據(jù)庫底層存儲(chǔ)一般用的是單值模型。因?yàn)槎嘀的P鸵部梢砸粚?duì)一的映射到單值模型,但這個(gè)過程可能會(huì)導(dǎo)致性能損失。但是,在對(duì)外提供服務(wù)時(shí),單值模型和多值模型都有應(yīng)用。比如,OpenTSDB就是用單值模型對(duì)外提供服務(wù)的,而influxDB則是多值模型。但這兩種數(shù)據(jù)庫的底層存儲(chǔ)用的都是單值模型。

現(xiàn)實(shí)中的應(yīng)用案例事實(shí)上會(huì)更復(fù)雜。像風(fēng)力發(fā)電機(jī)這樣的案例,它的設(shè)備和傳感器的數(shù)量,我們可以認(rèn)為是穩(wěn)中有增的,不會(huì)發(fā)生特別劇烈的改變。它的數(shù)據(jù)采樣的周期也是嚴(yán)格的定期采樣。下圖是一個(gè)工業(yè)案例,以滴滴這樣的運(yùn)營商為例。由于其業(yè)務(wù)特性,其車輛數(shù)量的增長和下降會(huì)出現(xiàn)暴漲暴跌。

總體而言,現(xiàn)實(shí)世界的復(fù)雜之處在于:

未必是總是定時(shí)采樣。

時(shí)間線可能是高度發(fā)散。以互聯(lián)網(wǎng)廣告為例,在對(duì)廣告進(jìn)行采樣時(shí),新廣告的增長和老廣告的下線速度很快,時(shí)間線就很有可能時(shí)高度發(fā)散的。

主鍵和schema修改。前面例子中提到的Tag,可以對(duì)應(yīng)數(shù)據(jù)庫的schema,在實(shí)際業(yè)務(wù)中可能會(huì)頻繁改動(dòng)。現(xiàn)在一般的時(shí)序數(shù)據(jù)庫中,主鍵是會(huì)默認(rèn)生成的,即所有tag的組合。因此,在新增tag時(shí),主鍵就會(huì)改變,則變?yōu)榱肆硪粋€(gè)對(duì)象。

分布式系統(tǒng)和片鍵。由于數(shù)據(jù)量很大,因此需要對(duì)數(shù)據(jù)進(jìn)行分片,片鍵的選擇也是一個(gè)難以抉擇的問題。

數(shù)據(jù)類型。以剛才提到的單值模型為例。假設(shè)有一個(gè)三維的加速度傳感器,同一時(shí)間點(diǎn)上會(huì)產(chǎn)生三個(gè)關(guān)聯(lián)的數(shù)據(jù),這時(shí)的數(shù)據(jù)類型就應(yīng)該是一個(gè)維度為3的矢量,即一個(gè)新的數(shù)據(jù)類型。

需要對(duì)每個(gè)數(shù)據(jù)點(diǎn)的值做過濾。假設(shè)每輛車上都裝有GPS傳感器,假設(shè)要統(tǒng)計(jì)某一時(shí)間段內(nèi),一公里內(nèi),出現(xiàn)了哪些車輛,分別由哪些廠商生產(chǎn)。此時(shí)需要對(duì)地理位置進(jìn)行過濾。

下圖是過去提出利用HiTSDB對(duì)時(shí)序問題的解決方案。在這種方案中,未解決發(fā)散問題,較高維數(shù)據(jù)和值過濾問題。用倒排索引來存儲(chǔ)設(shè)備信息,并把時(shí)間點(diǎn)上的數(shù)據(jù)存在高壓縮比緩存中。這兩者結(jié)合,實(shí)際上將邏輯上的一個(gè)表分成了兩個(gè)表,用以解決多維度查詢和聚合的問題。但使用這種方案依然有很多問題無法解決。

下面是HiTSDB的一些優(yōu)勢和不足:

優(yōu)勢:

·倒排索引可以很方便的篩選設(shè)備;

·高壓縮比緩存具有很高的寫入和讀取能力

·方便的時(shí)間切片

·無schema,靈活方便支持各種數(shù)據(jù)模型

不足:

·在非定時(shí)采樣場景下可能導(dǎo)致數(shù)據(jù)稀疏

·值沒有索引,因此值過濾只能線性過濾

· Schema改動(dòng)導(dǎo)致時(shí)間線變動(dòng)

·廣播查限制了QPS

在此基礎(chǔ)上,進(jìn)行了演進(jìn),如下圖。

引入了Adaptive schema,即如果未指定一個(gè)數(shù)據(jù)表的schema,則認(rèn)為寫入的第一條數(shù)據(jù)中包含的TagKV即是片鍵也是主鍵,用以確定唯一性以及數(shù)據(jù)會(huì)被分片到哪一個(gè)節(jié)點(diǎn)上。

壓縮塊也不再是按固定的時(shí)間切片了,引入了meta index,用以查詢每個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí)間。在一個(gè)時(shí)間段內(nèi)攢夠了足夠的數(shù)據(jù)后,把整個(gè)數(shù)據(jù)塊進(jìn)行壓縮。

參考列存的思路,值索引到壓縮塊。值索引不再像傳統(tǒng)數(shù)據(jù)庫那樣索引到行。

多值索引和空間切分。

三,時(shí)序數(shù)據(jù)庫的時(shí)序算法

上面所述的存儲(chǔ)結(jié)構(gòu)主要是為了方便進(jìn)行時(shí)序數(shù)據(jù)的加工和分析。時(shí)序有一些特殊算法。

降采樣和插值:傳感器采樣出的點(diǎn)可能特別密集,在分析趨勢時(shí),會(huì)希望進(jìn)行過濾。通過降采樣可以利用一段時(shí)間內(nèi)的最小值/最大值/平均值來替代。

·降采樣算法:min/max/avg。

·插值算法:補(bǔ)零/線性/貝塞爾曲線

聚合計(jì)算:由于采樣是精確到每個(gè)傳感器的,但有時(shí)需要的數(shù)據(jù)并不僅是精確到某個(gè)傳感器的。比如,希望比較兩個(gè)不同廠商的發(fā)電機(jī),哪個(gè)在風(fēng)場中產(chǎn)生了更多的電。那么就需要對(duì)傳感器數(shù)據(jù)進(jìn)行聚合。

·邏輯聚合:min/max

·算術(shù)聚合:sum/count/avg

·統(tǒng)計(jì):histogram/percentile/Standard Deviation

時(shí)間軸計(jì)算

·變化率:rate

對(duì)時(shí)序數(shù)據(jù)進(jìn)行加工的分析的重要目的是發(fā)現(xiàn)異常。下面介紹在異常檢測中如何定義問題。從異常檢測的角度來看時(shí)間序列數(shù)據(jù),分為三個(gè)維度:time, object, metric。

固定兩個(gè)維度,只考慮一個(gè)維度的數(shù)據(jù)。

·T: only consider time dim,單一對(duì)象單一metric即單個(gè)時(shí)間序列):spikes & dips、趨勢變化、范圍變化。

·M: only consider metric,找出不符合metric之間相互關(guān)系的數(shù)據(jù)。

·O: only consider object,找出與眾不同的對(duì)象。

固定一個(gè)維度,只考慮兩個(gè)維度的數(shù)據(jù)。

·MT:固定對(duì)象,考慮多個(gè)時(shí)間序列(每個(gè)對(duì)應(yīng)一個(gè)metric),并找出其相互變化方式不同的作為異常。

·MO:不考慮時(shí)間特性,考慮多個(gè)對(duì)象且每個(gè)對(duì)象都可以用多個(gè)metric表示,如何從中找出不同的對(duì)象。

·TO:多個(gè)對(duì)象單一metric,找出變化趨勢不同的對(duì)象。

在異常檢測中,面向問題有如下計(jì)算方法:

內(nèi)置函數(shù)

·高壓縮比緩存直接作為窗口緩存

·對(duì)于滿足數(shù)據(jù)局部性的問題,直接在高壓縮比緩存上運(yùn)行

·結(jié)果直接寫回

·定時(shí)調(diào)度 vs 數(shù)據(jù)觸發(fā)

外置計(jì)算

·定時(shí)查詢 vs 流式讀取

·使用同樣的查詢語言執(zhí)行查詢或定義數(shù)據(jù)源

·數(shù)據(jù)庫內(nèi)置時(shí)間窗口

·數(shù)據(jù)流的觸發(fā)機(jī)制

針對(duì)時(shí)序數(shù)據(jù),又可以將計(jì)算分為預(yù)計(jì)算和后計(jì)算。

預(yù)計(jì)算:事先將結(jié)果計(jì)算完并存儲(chǔ)。這是流計(jì)算中常用的方式。其特點(diǎn)如下:

·數(shù)據(jù)存儲(chǔ)量低

·查詢性能高

·需要手工編寫計(jì)算過程

·新的計(jì)算無法立即查看結(jié)果

·靈活性差

·不保存原始數(shù)據(jù)

后計(jì)算:先存數(shù)據(jù),需要時(shí)進(jìn)行計(jì)算。這是數(shù)據(jù)庫中常用的方式。其特點(diǎn)如下:

·數(shù)據(jù)存儲(chǔ)量大

·查詢/聚合性能瓶頸

·任何查詢都可以隨時(shí)獲得結(jié)果

·使用DSL進(jìn)行查詢

·靈活性好

·保存原始數(shù)據(jù)

四,時(shí)序數(shù)據(jù)庫的計(jì)算引擎

基于兩種計(jì)算的特點(diǎn),在時(shí)序數(shù)據(jù)處理中,我們使用的是一種混合架構(gòu)。有數(shù)據(jù)進(jìn)來時(shí),有預(yù)聚合規(guī)則,如果符合規(guī)則就進(jìn)行預(yù)聚合,把數(shù)據(jù)寫入數(shù)據(jù)庫中。在查詢時(shí),如果符合預(yù)聚合規(guī)則,就可以很快得到結(jié)果。對(duì)于不滿足預(yù)聚合規(guī)則的數(shù)據(jù),會(huì)將其從數(shù)據(jù)庫中讀出,進(jìn)行后聚合。中間的聚合引擎是一種類似流式計(jì)算的架構(gòu),數(shù)據(jù)庫或者數(shù)據(jù)源都可以作為數(shù)據(jù)源。數(shù)據(jù)源的來源對(duì)于引擎是不可見的,它的功能是接收數(shù)據(jù),計(jì)算并產(chǎn)生結(jié)果。因此,預(yù)計(jì)算和后計(jì)算都可以利用這一種邏輯進(jìn)行,并放在同一個(gè)運(yùn)行環(huán)境中。

在邏輯上,上圖是可行的。但實(shí)際上,如果要用這種方式進(jìn)行流計(jì)算,由于數(shù)據(jù)源可能出現(xiàn)亂序等問題,就必須要利用窗口函數(shù),將數(shù)據(jù)放入時(shí)間窗口中整理好,但這種緩存的效率其實(shí)并不高,實(shí)際情況下,是按照下圖這種邏輯進(jìn)行的。數(shù)據(jù)會(huì)被寫進(jìn)數(shù)據(jù)庫,由于數(shù)據(jù)庫有高壓縮比緩存,是專門針對(duì)時(shí)序數(shù)據(jù)的。當(dāng)一個(gè)時(shí)間窗口結(jié)束時(shí),利用持續(xù)查詢來進(jìn)行預(yù)計(jì)算。它會(huì)將高壓縮比緩存中的數(shù)據(jù)拿一部分出來做預(yù)聚合再寫回?cái)?shù)據(jù)庫中。這樣,這個(gè)緩存機(jī)制就替代了原來的時(shí)間窗口,節(jié)省了很多內(nèi)存,降低了很多計(jì)算開銷。

使用類似于流的架構(gòu)的好處是可以將其很快的接入異構(gòu)計(jì)算的環(huán)境中。正如大家熟知的,流計(jì)算可以轉(zhuǎn)化為一個(gè)DAG。結(jié)合前面提到的降采樣和聚合的例子。以一個(gè)加法為例,可以把數(shù)據(jù)切成三片放入不同的工作節(jié)點(diǎn)上計(jì)算,計(jì)算完后再進(jìn)行一次聚合輸出數(shù)據(jù)。工作節(jié)點(diǎn)既可能是CPU也可能是GPU。接入異構(gòu)計(jì)算的環(huán)境中,可以加速數(shù)據(jù)的計(jì)算。

五,時(shí)序數(shù)據(jù)庫展望

下圖是對(duì)未來架構(gòu)的展望。

存儲(chǔ)層

·類似lambda架構(gòu),基于一系列不可修改的文件

·針對(duì)不同的場景提供不同的存儲(chǔ)格式

計(jì)算層

·流式架構(gòu),基于內(nèi)存的異構(gòu)計(jì)算,自動(dòng)填充熱數(shù)據(jù)

·數(shù)據(jù)分片,支持高QPS讀取

索引

·全局的索引 vs 文件局部索引

大數(shù)據(jù)

·可以直接在大量的文件上跑MR,也可以通過高壓縮比緩存以流的方式訂閱數(shù)據(jù)

未來,這個(gè)數(shù)據(jù)庫將會(huì)演化成時(shí)序數(shù)據(jù)平臺(tái)。它可以兼容SQL生態(tài),一系列大數(shù)據(jù)平臺(tái),以及融合邊緣計(jì)算。在部署時(shí)可以在云和邊緣部署一整套的管理架構(gòu),同時(shí)把用SQL描述的規(guī)則下放到云板和邊緣板上,形成一整套數(shù)據(jù)處理方案。

POLARDB :https://www.aliyun.com/produc...
HBASE: https://www.aliyun.com/produc...

云數(shù)據(jù)庫RDS PPAS 版: https://www.aliyun.com/produc...

原文鏈接

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/25225.html

相關(guān)文章

  • Flink實(shí)戰(zhàn)(七) - Time & Windows編程

    摘要:在這種情況下,清除僅指窗口中的數(shù)據(jù)元,而不是窗口元數(shù)據(jù)。紫色圓圈表示流的數(shù)據(jù)元,這些數(shù)據(jù)元由某個(gè)鍵在這種情況下是用戶,用戶和用戶劃分。 0 相關(guān)源碼 掌握Flink中三種常用的Time處理方式,掌握Flink中滾動(dòng)窗口以及滑動(dòng)窗口的使用,了解Flink中的watermark。 Flink 在流處理工程中支持不同的時(shí)間概念。 1 處理時(shí)間(Processing time) 執(zhí)行相應(yīng)算子...

    Meils 評(píng)論0 收藏0
  • Apache Beam分窗與觸發(fā)器

    摘要:需要注意的是和方法生成的觸發(fā)器是連續(xù)的而不是一次性的。其他的還有一次性觸發(fā)器將一次性觸發(fā)器變?yōu)檫B續(xù)型觸發(fā)器,觸發(fā)后再次等待觸發(fā)。例如與一起用可以實(shí)現(xiàn)每個(gè)數(shù)據(jù)到達(dá)后的分鐘進(jìn)行處理,經(jīng)常用于全局窗口,可以用觸發(fā)器來設(shè)置停止條件。 本文參考Apache Beam官方編程手冊(cè) 可以結(jié)合官方的Mobile Game 代碼閱讀本文。 在默認(rèn)情況下,Apache Beam是不分窗的,也就是采用Gl...

    NickZhou 評(píng)論0 收藏0
  • [譯] 存儲(chǔ)和處理時(shí)間序列數(shù)據(jù)(“Time Series Databases”第三章)

    摘要:并且這種格式?jīng)]有事先對(duì)時(shí)間序列的數(shù)量做任何限制。使用格式來存儲(chǔ)時(shí)間序列數(shù)據(jù)的兩種可能的。其中存放了時(shí)間列序列列和數(shù)值列三列。隨著數(shù)據(jù)規(guī)模的繼續(xù)增長,基于的應(yīng)用程序越來越不適合處理這樣規(guī)模的時(shí)間序列數(shù)據(jù)了。 就像我們?cè)谇耙徽绿岬降模粋€(gè)時(shí)間序列是一系列數(shù)值,每個(gè)數(shù)值都伴隨著一個(gè)時(shí)間值,代表數(shù)據(jù)被記錄時(shí)的時(shí)間。時(shí)間序列數(shù)據(jù)存入后就很少再需要修改了,查詢時(shí)經(jīng)常是查詢一個(gè)連續(xù)時(shí)間段的數(shù)據(jù),也可...

    EastWoodYang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<