導(dǎo)讀:當(dāng)互聯(lián)網(wǎng)進(jìn)入下半場:工業(yè)互聯(lián)網(wǎng)or產(chǎn)業(yè)互聯(lián)網(wǎng)時代后,聯(lián)所能連,萬物互聯(lián),同一時間,諸多因素爭相進(jìn)入指數(shù)級發(fā)展軌道,形成了互聯(lián)網(wǎng)不能承受又不能不承受之重。
時間是公平的,時間也是不公平的。
公平在于時間對于所有人都是一樣,不偏不倚;不公平在于隨著時間的推移,事物發(fā)展的結(jié)果有可能大不相同。摩爾定律告訴我們,當(dāng)事物進(jìn)入正常軌道后,其發(fā)展的速度將呈現(xiàn)出指數(shù)級的增長。芯片如此,網(wǎng)絡(luò)如此,數(shù)據(jù)亦如此。
于是,當(dāng)互聯(lián)網(wǎng)進(jìn)入下半場:工業(yè)互聯(lián)網(wǎng)or產(chǎn)業(yè)互聯(lián)網(wǎng)時代后,聯(lián)所能連,萬物互聯(lián),同一時間,諸多因素爭相進(jìn)入指數(shù)級發(fā)展軌道,形成了互聯(lián)網(wǎng)不能承受又不能不承受之重。
人生若只如初見,何事秋風(fēng)悲畫扇。
對于格創(chuàng)東智所處的工業(yè)互聯(lián)網(wǎng)領(lǐng)域來說,一個非常明顯的特點(diǎn)就是匯聚大量工業(yè)數(shù)據(jù),而工業(yè)數(shù)據(jù)的一個非常明顯的特點(diǎn)就是和時間有關(guān)。
一般而言,工業(yè)數(shù)據(jù)的典型特點(diǎn)包括:
產(chǎn)生頻率快
工業(yè)數(shù)據(jù)采集基本為秒級,部分高頻數(shù)據(jù)采集為毫秒or微秒級,每一個采集點(diǎn)一秒鐘內(nèi)可產(chǎn)生多條數(shù)據(jù)
嚴(yán)重依賴于采集時間
每一條數(shù)據(jù)均要求對應(yīng)唯一的時間
測點(diǎn)多、信息量大、數(shù)據(jù)結(jié)構(gòu)相對簡單
常規(guī)的實(shí)時監(jiān)測系統(tǒng)均有成千上萬的監(jiān)測點(diǎn),監(jiān)測點(diǎn)每秒鐘都產(chǎn)生數(shù)據(jù),每天產(chǎn)生幾十GB的數(shù)據(jù)量
工業(yè)數(shù)據(jù)是IT界“只如初見”的新問題,但是,在工業(yè)界,這早就不是問題。
在傳統(tǒng)的工業(yè)數(shù)據(jù)采集和工業(yè)監(jiān)控領(lǐng)域(SCADA),都需要對聯(lián)網(wǎng)的設(shè)備進(jìn)行監(jiān)控,并對監(jiān)控采樣到的數(shù)據(jù)進(jìn)行持久化。在工業(yè)領(lǐng)域早就有專門的數(shù)據(jù)庫來完成這個任務(wù)了。
這個專門的數(shù)據(jù)庫就叫做:實(shí)時數(shù)據(jù)庫(此處應(yīng)有掌聲)。工業(yè)領(lǐng)域的實(shí)時數(shù)據(jù)庫具有數(shù)據(jù)采集、實(shí)時數(shù)據(jù)緩存、數(shù)據(jù)回寫(向設(shè)備發(fā)送指令)、采樣數(shù)據(jù)歸檔存盤等主要功能。目前工業(yè)領(lǐng)域?qū)崟r數(shù)據(jù)庫基本上被國外廠家所壟斷,價格昂貴。以著名的PI數(shù)據(jù)庫為例,基礎(chǔ)版本(只有5000個測點(diǎn))就需要大約10萬美元,每個數(shù)據(jù)采集接口需要6000美元。于是,不知道有多少工業(yè)版的IoT項目都被扼殺在“搖籃中”,被“秋風(fēng)悲畫扇”了……
上帝關(guān)門,必然開窗。
所幸,接物聯(lián)網(wǎng)的東風(fēng),時序數(shù)據(jù)庫(Time Series Database,TSDB)應(yīng)運(yùn)而“升”。
先看看維基百科上的解釋:
勉強(qiáng)翻譯一下:“時序列數(shù)據(jù)庫就是用來存儲時序列(time-series)數(shù)據(jù)并以時間(時間點(diǎn)或時間區(qū)間)建立索引的軟件。”
簡而言之,時序數(shù)據(jù)庫全稱為時間序列數(shù)據(jù)庫。時間序列數(shù)據(jù)庫主要用于指處理帶時間標(biāo)簽(按照時間的順序變化,即時間序列化)的數(shù)據(jù),帶時間標(biāo)簽的數(shù)據(jù)也稱為時間序列數(shù)據(jù)。
規(guī)范言之,時間序列數(shù)據(jù)(Time Series Data,TSD)可以用一個二元函數(shù)來表示:
TSD =Metric(Timestamp,Measurement),其中:
Metric代表可以唯一標(biāo)識的數(shù)據(jù)序列;
Timestamp代表時間戳;
Measurement代表被測量;
簡單的說,就是這類數(shù)據(jù)描述了某個被測量的主體在一個時間范圍內(nèi)的每個時間點(diǎn)上的測量值。它普遍存在于電力、化工行業(yè)等行業(yè)以及IT基礎(chǔ)設(shè)施、運(yùn)維監(jiān)控系統(tǒng)和物聯(lián)網(wǎng)等各類型實(shí)時監(jiān)測中。
用來存儲、管理、查詢、處理上述二元函數(shù)數(shù)據(jù)的數(shù)據(jù)庫,則可以稱之為時序數(shù)據(jù)庫。
時序數(shù)據(jù)庫主要以解決下面幾個問題:
時序數(shù)據(jù)的寫入:如何支持每秒鐘上千萬上億數(shù)據(jù)點(diǎn)的寫入。
時序數(shù)據(jù)的查詢:又如何支持在秒級對上億數(shù)據(jù)的分組聚合運(yùn)算。
時序數(shù)據(jù)的存儲:解決由海量數(shù)據(jù)存儲帶來的成本敏感問題。
時序數(shù)據(jù)的生命周期管理:工業(yè)數(shù)據(jù)的價值主要體現(xiàn)在及時性,因此,工業(yè)數(shù)據(jù)的生命周期管理是時序數(shù)據(jù)庫的核心使命。
各位看官,麻煩度娘一下,關(guān)鍵字:互聯(lián)網(wǎng)監(jiān)控系統(tǒng),大家就會發(fā)現(xiàn)小米、餓了嗎等互聯(lián)網(wǎng)巨頭也都在用時序數(shù)據(jù)庫實(shí)現(xiàn)企業(yè)級的互聯(lián)網(wǎng)監(jiān)控系統(tǒng)。更別提目前所有國內(nèi)外主流工業(yè)互聯(lián)網(wǎng)平臺了,幾乎都是采用時序數(shù)據(jù)庫來承接海量涌入的工業(yè)數(shù)據(jù)。
看到這里,估計已經(jīng)有很多“杠精”躍躍欲試了:憑什么強(qiáng)大的Oracle、PostgreSQL 等傳統(tǒng)關(guān)系型數(shù)據(jù)庫搞不定時序數(shù)據(jù)?憑什么不用HBase、MongoDB、Cassandra等先進(jìn)的分布式數(shù)據(jù)庫來解決工業(yè)數(shù)據(jù)問題?有什么深刻技術(shù)理由非要用這個2017年才火爆起來的時序數(shù)據(jù)庫呢?請繼續(xù)關(guān)注格物匯的后續(xù)精彩文章!