工業(yè)大數(shù)據(jù)中的實時數(shù)據(jù)庫與時序數(shù)據(jù)庫是什么
在工業(yè)大數(shù)據(jù)數(shù)據(jù)庫存儲領(lǐng)域,除了傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和分布式數(shù)據(jù)庫以外,還有一種類型的數(shù)據(jù)庫是非常常用,而且是非常有必要的,就是實時數(shù)據(jù)庫和時序數(shù)據(jù)庫。
實時數(shù)據(jù)庫誕生于美國,主要是因為現(xiàn)代工業(yè)制造流程及大規(guī)模工業(yè)自動化的發(fā)展,導(dǎo)致大量的測量數(shù)據(jù)需要集成和存儲,而采用關(guān)系數(shù)據(jù)庫難以滿足速度和容量的要求,因此在80年代中期,開始誕生了適用于工業(yè)監(jiān)控領(lǐng)域的實時數(shù)據(jù)庫。
實時數(shù)據(jù)庫其實并不單單只是一個數(shù)據(jù)庫,而是一個系統(tǒng),包括對各類工業(yè)接口的數(shù)據(jù)采集,海量監(jiān)測數(shù)據(jù)的壓縮、存儲及檢索,基于監(jiān)測數(shù)據(jù)的反饋及控制功能等。
實時數(shù)據(jù)庫的出現(xiàn),主要是為了解決當(dāng)時關(guān)系型數(shù)據(jù)庫不太擅長的領(lǐng)域,包括:
1、海量數(shù)據(jù)的實時讀寫操作
工業(yè)監(jiān)控數(shù)據(jù)要求采集速度和響應(yīng)速度均是毫秒級的,一個大型企業(yè)幾萬甚至幾十萬監(jiān)測點都是常有的事情,這么大容量的高頻數(shù)據(jù),如果用關(guān)系數(shù)據(jù)庫進行存儲,由于關(guān)系庫本身設(shè)計的理念,導(dǎo)致它很難進行每秒幾十萬的數(shù)據(jù)的讀寫操作,而實時數(shù)據(jù)庫通過轉(zhuǎn)為快速讀寫設(shè)計的時標型數(shù)據(jù)結(jié)構(gòu)、高頻緩存等技術(shù),可以實現(xiàn)海量數(shù)據(jù)的實時讀寫操作。
2、大容量數(shù)據(jù)的存儲
由于數(shù)據(jù)采集是海量的監(jiān)控數(shù)據(jù),那么如果用傳統(tǒng)數(shù)據(jù)庫進行存儲,將會占用大量的存儲空間,如果我們用關(guān)系數(shù)據(jù)庫保存10000個監(jiān)測點,每個監(jiān)測點每秒鐘采集一次雙精度數(shù)的數(shù)據(jù),即使不考慮索引等因素,也需要5-6T的存儲空間,這里還不包括存儲跟監(jiān)測點相關(guān)的時間等因素,如果都包括,再建立索引,則需要15T-20T的存儲空間。實時數(shù)據(jù)庫采用了專門的壓縮算法,包括哈佛曼算法、旋轉(zhuǎn)門算法以及一些二次壓縮算法,壓縮比普遍能夠達到30:1左右,再加上對于時間及索引的特殊處理,存儲量能夠縮小到關(guān)系庫的1/40,因此,上面的例子只需要500G的空間就能夠進行有效存儲了。
3、集成了工業(yè)接口的數(shù)據(jù)采集
由于歷史和壟斷的原因,目前工業(yè)通訊、傳輸?shù)膮f(xié)議種類繁多,實時庫一般都集成了大量的工業(yè)協(xié)議接口,可以對各種類型的工業(yè)協(xié)議進行解析和傳輸。同時,隨著實時數(shù)據(jù)庫的發(fā)展,接口軟件部分也慢慢被獨立出來,即可以與實時數(shù)據(jù)庫核心集中部署在1臺計算機上,也可以單獨部署在接口機上,從而提供了更好的可擴展性和穩(wěn)定性。
4、集成控制功能,可實現(xiàn)實時控制
實時數(shù)據(jù)庫一般都提供下行控制接口,并且是高速寫出。寫的效率嚴重依賴于接口通訊效率和執(zhí)行機構(gòu)。因此,實時數(shù)據(jù)庫大都是從工控軟件廠商發(fā)展而來的,他們就有豐富的工業(yè)控制寫入的經(jīng)驗。即便如此,畢竟工業(yè)系統(tǒng)對時序有嚴格的要求,而數(shù)據(jù)庫從讀到寫,會出現(xiàn)時滯,因此,實時數(shù)據(jù)庫一般不適宜對快速開關(guān)量的控制。
在云計算的時代,實時數(shù)據(jù)庫的一些缺點就慢慢的顯露出來了。
首先,由于實時數(shù)據(jù)庫是基于時標進行處理的,就導(dǎo)致它只能簡單的使用時間段進行查詢和檢索,當(dāng)然,各大廠商也開發(fā)了許多工具,但無論如何檢索的豐富性不能和關(guān)系庫比擬。
其次,由于實時庫都是出售給大型工業(yè)企業(yè)的,因此價格昂貴,在物聯(lián)網(wǎng)時代,對于中小工業(yè)企業(yè)來說,是個不小的成本。
再次,傳統(tǒng)實時庫在部署時不夠方便靈活,傳輸也更多的考慮工業(yè)網(wǎng)絡(luò),甚少考慮互聯(lián)網(wǎng)的情況,不太適應(yīng)當(dāng)下云計算環(huán)境的部署。
這個時候,新興的時序數(shù)據(jù)庫就出現(xiàn)了。時序數(shù)據(jù)庫在2017年火了起來,出現(xiàn)了大量的開源和商業(yè)產(chǎn)品,時序數(shù)據(jù)庫就是存放時序數(shù)據(jù)的數(shù)據(jù)庫,并且需要支持時序數(shù)據(jù)的快速寫入、持久化、多緯度的聚合查詢等基本功能。時序數(shù)據(jù)庫其實主要是實時數(shù)據(jù)庫的數(shù)據(jù)存儲部分,但是,由于它采用了新的技術(shù),極大地擴展了數(shù)據(jù)的容量,除了數(shù)據(jù)點和時間戳之外,還提供標簽和內(nèi)容等對數(shù)據(jù)的描述,并且提供各種聚合查詢,彌補了實時庫的缺陷。
但是,時序數(shù)據(jù)庫不提供工業(yè)接口、下行控制等功能,這些都需要開發(fā)人員自行開發(fā),或者將原有的接口與時序庫對接。
當(dāng)然,不管是實時數(shù)據(jù)庫還是時序數(shù)據(jù)庫,都在飛速發(fā)展中,雙方一定會互相借鑒,互相學(xué)習(xí),會提供更好、更多的產(chǎn)品供工業(yè)大數(shù)據(jù)使用。