隨著數(shù)據(jù)通訊成本的急劇下降,以及各種傳感技術(shù)和智能設(shè)備的出現(xiàn),從手環(huán)、共享出行、智能電表、環(huán)境監(jiān)測設(shè)備到電梯、數(shù)控機(jī)床、挖掘機(jī)、工業(yè)生產(chǎn)線等都在源源不斷的產(chǎn)生海量的時間序列數(shù)據(jù)(或簡稱時序數(shù)據(jù))并發(fā)往云端。這些海量數(shù)據(jù)是社會和企業(yè)寶貴的財富,能夠幫助企業(yè)實時監(jiān)控業(yè)務(wù)或設(shè)備的運(yùn)行情況,生成各種維度的報表,而且通過大數(shù)據(jù)分析和機(jī)器學(xué)習(xí),對業(yè)務(wù)進(jìn)行預(yù)測和預(yù)警,幫助社會或企業(yè)進(jìn)行科學(xué)決策、節(jié)約成本并創(chuàng)造新的價值。 但與現(xiàn)在大家所熟悉的數(shù)據(jù)相比,時間序列數(shù)據(jù)有其顯著不同特點,本文對其特點做一分析。
- 數(shù)據(jù)是時序的,一定帶有時間戳:聯(lián)網(wǎng)的設(shè)備按照設(shè)定的周期,或受外部的事件觸發(fā),源源不斷的產(chǎn)生數(shù)據(jù),每一個數(shù)據(jù)點是在一時間點產(chǎn)生的,這個時間對于數(shù)據(jù)的計算和分析十分重要,必須要記錄。
- 數(shù)據(jù)是結(jié)構(gòu)化的:網(wǎng)絡(luò)爬蟲的數(shù)據(jù)、微博、微信的海量數(shù)據(jù)都是非結(jié)構(gòu)化的,可以是文字、圖片、視頻等。但時間序列數(shù)據(jù)往往是結(jié)構(gòu)化的,而且是數(shù)值型的,比如智能電表采集的電流、電壓就可以用 4 字節(jié)的標(biāo)準(zhǔn)的浮點數(shù)來表示。
- 數(shù)據(jù)極少有更新操作:時間序列數(shù)據(jù)是機(jī)器日志數(shù)據(jù),一般不容許而且也沒有修改的必要。很少有場景,需要對采集的原始數(shù)據(jù)進(jìn)行修改。
- 數(shù)據(jù)源是唯一的:一個設(shè)備采集的數(shù)據(jù)與另外一個設(shè)備采集的數(shù)據(jù)是完全獨立的。一臺設(shè)備的數(shù)據(jù)一定是這臺設(shè)備產(chǎn)生的,不可能是人工或其他設(shè)備產(chǎn)生的,也就是說一臺設(shè)備的數(shù)據(jù)只有一個生產(chǎn)者,時間序列數(shù)據(jù)的數(shù)據(jù)源是唯一的。
- 相對互聯(lián)網(wǎng)應(yīng)用,寫多讀少:對于互聯(lián)網(wǎng)應(yīng)用,一條數(shù)據(jù)記錄,往往是一次寫,很多次讀。比如一條微博或一篇微信公共號文章,一次寫,但有可能上百萬人讀。但時間序列數(shù)據(jù)不一樣,對于產(chǎn)生的數(shù)據(jù),一般是計算、分析程序自動的讀,而且計算、分析次數(shù)不多,只有分析事故等場景,人才會主動看原始數(shù)據(jù)。
- 用戶關(guān)注的是一段時間的趨勢:對于一條銀行記錄,或者一條微博、微信,對于它的用戶而言,每一條都很重要。但對于時間序列數(shù)據(jù),每個數(shù)據(jù)點與數(shù)據(jù)點的變化并不大,一般是漸變的,大家關(guān)心的更多是一段時間,比如過去的五分鐘,過去的一個小時數(shù)據(jù)變化的趨勢,一般對某一特定時間點的數(shù)據(jù)值并不關(guān)注。
- 數(shù)據(jù)是有保留期限的:采集的數(shù)據(jù)一般都有基于時長的保留策略,比如僅僅保留一天、一周、一個月、一年甚至更長時間,為節(jié)省存儲空間,系統(tǒng)最好能自動刪除。
- 數(shù)據(jù)的查詢分析往往是基于時間段和某一組設(shè)備的:對于時間序列數(shù)據(jù),做計算和分析的時候,一定是指定時間范圍的,不會只針對一個時間點或者整個歷史進(jìn)行。而且往往需要根據(jù)分析的維度,對設(shè)備的一個子集采集的數(shù)據(jù)進(jìn)行分析,比如某個地理區(qū)域的設(shè)備,某個型號、某個批次的設(shè)備,某個廠商的設(shè)備等。
- 除存儲查詢外,往往需要實時分析計算操作:對于大部分互聯(lián)網(wǎng)大數(shù)據(jù)應(yīng)用,更多的是離線分析,即使有實時分析,但實時分析的要求并不高。比如用戶畫像、可以積累一定的用戶行為數(shù)據(jù)后進(jìn)行,早一天晚一天畫不會怎么影響結(jié)果。但是對于物聯(lián)網(wǎng)應(yīng)用,對時間序列數(shù)據(jù)的實時計算要求往往很高,因為需要根據(jù)計算結(jié)果進(jìn)行實時報警,以避免事故的發(fā)生。
- 流量平穩(wěn)、可預(yù)測:給定物聯(lián)網(wǎng)數(shù)量、數(shù)據(jù)采集頻次,就可以較為準(zhǔn)確地估算出所需要的帶寬和流量,每天新生成的數(shù)據(jù)大小。而不是像電商,在“雙 11”期間,淘寶、天貓、京東等流量是幾十倍的漲幅。不像 12306 網(wǎng)站,春節(jié)期間,網(wǎng)站流量是幾十倍的增長。
- 數(shù)據(jù)處理的特殊性:與典型的互聯(lián)網(wǎng)相比,還有不一樣的數(shù)據(jù)處理需求。比如要檢查某個具體時間的設(shè)備采集的某個量,但傳感器實際采集的時間不是這個時間點,這時候往往需要做插值處理。還有很多場景,需要基于采集量,做復(fù)雜的數(shù)學(xué)函數(shù)計算。
- 數(shù)據(jù)量巨大:以智能電表為例,一臺智能電表每隔 15 分鐘采集一次數(shù)據(jù),每天自動生成 96 條記錄,全國就有接近 5 億臺智能電表,每天光智能電表就生成近 500 億條記錄。一臺聯(lián)網(wǎng)的汽車每隔 10 到 15 秒就采集一次數(shù)據(jù)發(fā)到云端,一臺車一天就很容易產(chǎn)生 1000 條記錄。如果中國 2 億輛車全部聯(lián)網(wǎng),每天將產(chǎn)生 2000 億條記錄。五年之內(nèi),物聯(lián)網(wǎng)設(shè)備產(chǎn)生的數(shù)據(jù)將占世界數(shù)據(jù)總量的 90% 以上。
物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)的數(shù)據(jù)是流式數(shù)據(jù),像視頻流,而且單個數(shù)據(jù)點的價值很低,甚至丟失一小段時間的數(shù)據(jù)也不影響分析的結(jié)論,也不影響系統(tǒng)的正常運(yùn)行。但看似簡單的事情,由于數(shù)據(jù)記錄條數(shù)巨大,導(dǎo)致數(shù)據(jù)的實時寫入成為瓶頸,查詢分析極為 緩慢,成為新的技術(shù)挑戰(zhàn)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫、NoSQL 數(shù)據(jù)庫以及流式計算引擎由于沒有充分利用時間序列數(shù)據(jù)的特點,性能提升極為有限,只能依靠集群技術(shù),投入更多的計算資源和存儲資源來處理,系統(tǒng)的運(yùn)營維護(hù)成本急劇上升。
面對這一高速增長的物聯(lián)網(wǎng)數(shù)據(jù)市場,近幾年出現(xiàn)一批專注時間序列數(shù)據(jù)處理的公司,比如美國的InfluxData,其產(chǎn)品InfluxDB在IT運(yùn)維監(jiān)測方面有相當(dāng)?shù)氖袌稣加新?。在工業(yè)控制領(lǐng)域老牌實時數(shù)據(jù)庫公司OSIsoft在2017年5月獲得軟銀12億美元的投資,期望成為新興的物聯(lián)網(wǎng)領(lǐng)域的數(shù)據(jù)庫的領(lǐng)頭羊。開源社區(qū)也十分活躍,比如基于HBase開發(fā)的OpenTSDB。中國國內(nèi),阿里、百度、華為都有基于OpenTSDB的產(chǎn)品。
TDengine 是一款高性能、分布式、支持 SQL 的時序數(shù)據(jù)庫(Time Series Database,TSDB),其時序數(shù)據(jù)庫核心代碼包括集群功能全部開源,同時 TDengine 還帶有內(nèi)建的緩存、流式計算、數(shù)據(jù)訂閱等系統(tǒng)功能,能大幅減少研發(fā)和運(yùn)維的復(fù)雜度,可廣泛應(yīng)用于物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT 運(yùn)維、金融等領(lǐng)域。



互聯(lián)網(wǎng).png)



-1.png)







證.png)


伙伴.png)
伙伴.png)
伙伴.png)



