2021-02-10 分類: 網(wǎng)站建設(shè)
在2018年接觸到工業(yè)互聯(lián)網(wǎng)之前,我完全沒了解過時(shí)序數(shù)據(jù)庫(下面簡稱為TSDB),因?yàn)樽鰳?biāo)準(zhǔn)的原因開始慢慢接觸起國內(nèi)一些做TSDB的廠家,其中不乏充滿干勁的創(chuàng)業(yè)公司和經(jīng)驗(yàn)豐厚的老牌信息化廠商,實(shí)力雄厚的BATH天團(tuán)在TSDB上也都有布局,突然間各種TSDB產(chǎn)品就像雨后春筍一般涌現(xiàn)了。
它是什么時(shí)候開始火的?
其實(shí)從2016年開始就有了這個(gè)趨勢,引用一下DB-Engines上發(fā)布的一張圖,在2016年12個(gè)月里,TSDB的人氣上漲了26%,是排名第二的圖數(shù)據(jù)庫的兩倍還多。
DB-Engines:https://db-engines.com/en/blog_post/62
2016年度各類數(shù)據(jù)庫人氣漲勢
再挑其中排名第一的InfluxDB在Google Trends里查一下熱度,這個(gè)數(shù)據(jù)庫是2013年7月左右發(fā)布的第一個(gè)版本,自此以后人氣漲勢是一發(fā)不可收拾。
2013-2019年InfluxDB的搜索熱度變化
所以我們加緊了學(xué)習(xí)步伐,希望能盡快的把標(biāo)準(zhǔn)梳理出來,好讓企業(yè)伙伴在做技術(shù)選型的時(shí)候能有些參考。
“這個(gè)數(shù)據(jù)庫我們十幾年前就開始做了,但是叫另一個(gè)名字——實(shí)時(shí)數(shù)據(jù)庫”。
很多做工業(yè)信息化起家的兄弟和我們提到了“實(shí)時(shí)數(shù)據(jù)庫”這個(gè)概念,并表示“我們功能其實(shí)是一樣的”。這讓我有些困惑,很是想搞明白這兩個(gè)數(shù)據(jù)庫之間的關(guān)系,能算成一類嗎?但當(dāng)時(shí)網(wǎng)上對(duì)于這兩種數(shù)據(jù)庫的對(duì)比,大概只能找到CSDN的一篇《工業(yè)大數(shù)據(jù)漫談12:實(shí)時(shí)數(shù)據(jù)庫與時(shí)序數(shù)據(jù)庫》(https://blog.csdn.net/guanhui1997/article/details/72840769),講的很清晰,如果你也有同樣的困惑可以點(diǎn)進(jìn)去看一看~但也可以看我接下去要寫的,因?yàn)槲覀兝鰧?shí)時(shí)/時(shí)序數(shù)據(jù)庫的伙伴們針對(duì)這個(gè)問題討論了好幾回。
所以這一篇文章是一些學(xué)習(xí)心得,會(huì)盡量包括:這兩個(gè)數(shù)據(jù)庫的產(chǎn)生背景、具體區(qū)別和一些小趨勢。
先來點(diǎn)概念做鋪墊~
時(shí)序數(shù)據(jù) time series data
基于穩(wěn)定頻率或非固定周期頻率持續(xù)產(chǎn)生的一系列基于時(shí)間維度的指標(biāo)監(jiān)測數(shù)據(jù)。由時(shí)間戳、標(biāo)簽和指標(biāo)三要素組成。
時(shí)序數(shù)據(jù)庫 time series database
用于保存海量時(shí)序數(shù)據(jù)的數(shù)據(jù)庫。
我們可能是異父異母的親兄妹?
實(shí)時(shí)數(shù)據(jù)庫誕生于傳統(tǒng)工業(yè),早在幾十年前就已經(jīng)開始發(fā)展,技術(shù)已經(jīng)很成熟,主要為了支持工業(yè)場景中大量測量數(shù)據(jù)的快速寫入、存儲(chǔ)和查詢,有時(shí)會(huì)涉及到實(shí)時(shí)的反饋控制。
而時(shí)序數(shù)據(jù)庫誕生于互聯(lián)網(wǎng),興起于物聯(lián)網(wǎng),主要為了支持海量網(wǎng)絡(luò)監(jiān)控及傳感器數(shù)據(jù)的快速寫入和分析需求。
我們來看下為什么工業(yè)場景中要專門設(shè)計(jì)實(shí)時(shí)數(shù)據(jù)庫,工業(yè)場景中超過80%的數(shù)據(jù)都有這樣的一些特征:都帶有時(shí)間戳,且是按時(shí)間順序生成的;大多為結(jié)構(gòu)化數(shù)據(jù);采集頻率高,數(shù)據(jù)量大。以一個(gè)中等規(guī)模的工業(yè)企業(yè)為例,在流程監(jiān)控的環(huán)節(jié)中,可能會(huì)涉及到5-10萬個(gè)傳感器測點(diǎn),每天產(chǎn)出的數(shù)據(jù)量能達(dá)到上百GB,通常情況下,工業(yè)企業(yè)都會(huì)要求數(shù)據(jù)能夠長時(shí)間被存儲(chǔ),這樣可以隨時(shí)查詢到歷史趨勢。這個(gè)簡單的需求已經(jīng)顯示出了傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫需要具備的一些能力,可以總結(jié)為以下幾點(diǎn):
高速寫入的能力:工業(yè)實(shí)時(shí)數(shù)據(jù)庫通常會(huì)對(duì)寫入的速度有很高的要求。以流程工業(yè)的場景為例,每個(gè)環(huán)節(jié)都會(huì)設(shè)置傳感器,每個(gè)傳感器的采集頻率都很高,所以寫入的并發(fā)量會(huì)特別大,有時(shí)甚至?xí)竺棵肷习偃f的測點(diǎn)。所以除了對(duì)軟件的要求之外,也會(huì)選用一些高性能的服務(wù)器。
快速查詢的能力:查詢的需求分為兩塊,一是要響應(yīng)實(shí)時(shí)的查詢請求,用于及時(shí)反映系統(tǒng)的狀態(tài);二是歷史數(shù)據(jù)也要能快速被查詢,由于歷史數(shù)據(jù)的量非常大,在查詢時(shí)需要對(duì)特定時(shí)間段的數(shù)據(jù)做聚合,需要做到即使是查一整年的數(shù)據(jù)情況,也能很快的反應(yīng)出來。
超強(qiáng)數(shù)據(jù)壓縮能力:上面提到監(jiān)控?cái)?shù)據(jù)會(huì)被存儲(chǔ)很長時(shí)間,5年甚至是10年都是常有的事,在存儲(chǔ)容量有限的情況下,就需要對(duì)數(shù)據(jù)做一定的壓縮,通常壓縮方式會(huì)分成無損壓縮和有損壓縮,相比而言,有損壓縮的壓縮比會(huì)更大一些,有時(shí)甚至?xí)_(dá)到1:30-40,這就需要設(shè)計(jì)合理的算法來保留數(shù)據(jù)中的細(xì)節(jié),使數(shù)據(jù)在還原后仍能保留重要的特征。
積累豐富的工具:傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫的解決方案一般是從采集開始到直可視化的一整套系統(tǒng),有多年積累形成的豐富的工具包,比如會(huì)積攢上百種的協(xié)議,或者各種場景的數(shù)據(jù)模型,這些都是工業(yè)軟件的重要競爭力。
追求極致穩(wěn)定:工業(yè)上對(duì)軟件的穩(wěn)定性要求特別高,除了用主備來保證高可用外,完全由軟件的質(zhì)量來保證程序的持續(xù)運(yùn)行,工程師會(huì)自豪地拍胸脯保證軟件跑十年也不會(huì)出錯(cuò)。
我們再來看一下時(shí)序數(shù)據(jù)庫的誕生環(huán)境,在進(jìn)入互聯(lián)網(wǎng)飛速發(fā)展的時(shí)期之后,隨著通信技術(shù)的革新,數(shù)據(jù)通信成本的下降,掀起了一波又一波萬物互聯(lián)的熱潮。不僅是互聯(lián)網(wǎng)監(jiān)控需要采集數(shù)據(jù),人們每天接觸的手機(jī)、智能手環(huán)、共享自行車、汽車,都在源源不斷地產(chǎn)生數(shù)據(jù)。人們實(shí)時(shí)地收集這些數(shù)據(jù)并發(fā)送到云端,用大數(shù)據(jù)技術(shù)進(jìn)行分析,對(duì)業(yè)務(wù)進(jìn)行監(jiān)控和預(yù)測,以數(shù)據(jù)驅(qū)動(dòng)企業(yè)降本增效,提高服務(wù)質(zhì)量。
仔細(xì)觀察一下互聯(lián)網(wǎng)場景中的數(shù)據(jù)特征,其實(shí)和工業(yè)領(lǐng)域大部分的實(shí)時(shí)數(shù)據(jù)類似:
1. 單條數(shù)據(jù)不會(huì)很長,但是數(shù)據(jù)量很大
2. 它們都帶有時(shí)間戳,且按順序生成
3. 數(shù)據(jù)大部分都是結(jié)構(gòu)化的,用于描述某個(gè)參數(shù)在某個(gè)時(shí)間點(diǎn)的特征
4. 寫入的頻率會(huì)比查詢的頻率高很多
5. 已存儲(chǔ)的數(shù)據(jù)很少有更新的需求
6. 用戶會(huì)更關(guān)心一段時(shí)間的數(shù)據(jù)特征,而不是某一個(gè)時(shí)間點(diǎn)
7. 數(shù)據(jù)的查詢分析大多基于某一個(gè)時(shí)間段或者某個(gè)數(shù)值范圍
8. 需要進(jìn)行統(tǒng)計(jì)和可視化的展示
從上面這些數(shù)據(jù)特征,可以很明顯的看出來,雖然兩種數(shù)據(jù)庫產(chǎn)生的環(huán)境不同,但是面對(duì)的問題是相同的,解決的需求是類似的,所以兩種數(shù)據(jù)庫設(shè)計(jì)出的功能有很多重合的部分。
功能要求可參考CCSA大數(shù)據(jù)技術(shù)標(biāo)準(zhǔn)推進(jìn)委員會(huì)(TC601)關(guān)于時(shí)序數(shù)據(jù)庫的評(píng)估體系(http://databench.cn/evaluate?standard_id=5c07aec44b079)
這就好像兩個(gè)從未謀過面的兄妹,確認(rèn)過眼神就知道是一家人。
你想替代我嗎?沒那么容易
隨著IoT和工業(yè)互聯(lián)網(wǎng)帶來的新一波風(fēng)口,一系列新的生產(chǎn)方式、組織方式和商業(yè)模式開始涌現(xiàn)。物聯(lián)網(wǎng)技術(shù)逐步滲透工業(yè),不斷增長的傳感器、飆升的數(shù)據(jù)量,以及更高的大數(shù)據(jù)分析需求對(duì)實(shí)時(shí)數(shù)據(jù)庫傳統(tǒng)的技術(shù)架構(gòu)提出了挑戰(zhàn)。有些問題是需要直面的:
擴(kuò)展性遇到瓶頸。傳統(tǒng)的技術(shù)架構(gòu)雖然能保證單機(jī)具備極高的性能,也可以通過增加機(jī)器使性能線性擴(kuò)展,但是不能像分布式系統(tǒng)那樣實(shí)現(xiàn)動(dòng)態(tài)靈活的擴(kuò)容和縮容,需要提前進(jìn)行規(guī)劃。當(dāng)業(yè)務(wù)升級(jí)需要系統(tǒng)擴(kuò)容時(shí),老架構(gòu)的擴(kuò)展性就很難滿足需求了。
無法和大數(shù)據(jù)生態(tài)對(duì)接。數(shù)據(jù)采集的最終目的是被理解和使用,大數(shù)據(jù)產(chǎn)業(yè)中對(duì)于海量數(shù)據(jù)的存儲(chǔ)分析已經(jīng)有很成熟的方案,不論是hadoop還是spark的生態(tài)圈,都面臨著新老技術(shù)的對(duì)接。很多工業(yè)企業(yè)因?yàn)橄胧褂眯碌拇髷?shù)據(jù)分析技術(shù),不得不對(duì)現(xiàn)有的系統(tǒng)進(jìn)行升級(jí)或是替換。
價(jià)格高昂。傳統(tǒng)的工業(yè)實(shí)時(shí)數(shù)據(jù)庫解決方案價(jià)格都十分昂貴,一般只有大型企業(yè)能忍痛接受。但是隨著新技術(shù)新理念的普及,更多的中小企業(yè)也意識(shí)到數(shù)據(jù)的重要性,但考慮到資金投入,會(huì)傾向于尋找價(jià)格更低廉的方案。
這時(shí)候來自互聯(lián)網(wǎng)大家庭的時(shí)序數(shù)據(jù)庫方案就展現(xiàn)出了一些先天優(yōu)勢,比如:
分布式架構(gòu)的天然優(yōu)勢:傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫多是主備的部署架構(gòu),通常要求有較高配置的機(jī)器,來追求單機(jī)極致的性能;同時(shí),在穩(wěn)定性方面,會(huì)對(duì)運(yùn)行軟件的穩(wěn)定性做極高的要求,完全由高質(zhì)量的代碼來保證運(yùn)行的穩(wěn)定;由于存儲(chǔ)容量有限,也會(huì)要求超高的數(shù)據(jù)壓縮比。但是時(shí)序數(shù)據(jù)庫的分布式架構(gòu),使得系統(tǒng)能夠輕松的進(jìn)行水平擴(kuò)展,讓數(shù)據(jù)庫不再依賴昂貴的硬件和存儲(chǔ)設(shè)備,以集群天然的優(yōu)勢來實(shí)現(xiàn)高可用,不會(huì)出現(xiàn)單點(diǎn)的瓶頸或故障,在普通的x86服務(wù)器甚至是虛擬機(jī)上都可以運(yùn)行,大大降低了使用成本。
更靈活的數(shù)據(jù)模型:傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫由于工業(yè)場景的特殊性,常使用的是單值模型,一個(gè)被監(jiān)控的參數(shù)稱為一個(gè)測點(diǎn),在寫入時(shí)會(huì)對(duì)每一個(gè)測點(diǎn)建一個(gè)模型,比如一個(gè)風(fēng)機(jī)的溫度指標(biāo)算一個(gè)測點(diǎn),十個(gè)風(fēng)機(jī)的十個(gè)指標(biāo)就是100個(gè)測點(diǎn),每個(gè)測點(diǎn)會(huì)附帶描述信息(名稱、精度、數(shù)據(jù)類型、開關(guān)量/模擬量等)查詢的時(shí)候就會(huì)針對(duì)每個(gè)測點(diǎn)去查詢數(shù)值。單值模型的寫入效率會(huì)很高。
單值模型示例
而時(shí)序數(shù)據(jù)庫,開始采用多值模型,類似面向?qū)ο蟮奶幚矸绞?,例如風(fēng)機(jī)是一種數(shù)據(jù)模型,可以包括溫度、壓力等多個(gè)測量維度,還包括經(jīng)緯度、編號(hào)等tag信息,這樣對(duì)外提供服務(wù)時(shí)會(huì)更適合分析的場景。當(dāng)然單值模型和多值模型是可以互相轉(zhuǎn)換的。很多數(shù)據(jù)庫對(duì)外提供的服務(wù)為多值模型,但是底層存儲(chǔ)還是單值模型。
多值模型示例
現(xiàn)在大部分的時(shí)序數(shù)據(jù)庫都選擇了擴(kuò)展性較好的NoSQL數(shù)據(jù)庫,相比于關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)模型更靈活,非常適合時(shí)序數(shù)據(jù)的多值模型;更易擴(kuò)展,在資源受限或者需要提升性能的時(shí)候,可以輕易的增加機(jī)器;查詢效率高;開源軟件成本低;可以與大數(shù)據(jù)生態(tài)無縫對(duì)接??聪率褂肗oSQL數(shù)據(jù)庫作為底層存儲(chǔ)的TSDB:
開源TSDB的底層存儲(chǔ)模型
但是使用NoSQL數(shù)據(jù)庫也會(huì)丟失一些特性,比如不支持事務(wù),需要通過其他手段來保證數(shù)據(jù)一致性;比如不支持SQL,SQL作為一種標(biāo)準(zhǔn)查詢語句,已經(jīng)被人們所習(xí)慣,是一種學(xué)習(xí)成本極低的操作,所以現(xiàn)在做時(shí)序數(shù)據(jù)庫的廠家也在嘗試去集成SQL引擎,降低使用的門檻。
時(shí)序數(shù)據(jù)庫被描述得這么優(yōu)秀,那它會(huì)接班傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)庫嗎?不是這么容易的事。
首先,工業(yè)中的實(shí)時(shí)數(shù)據(jù)庫經(jīng)受過多年客戶需求的打磨,性能上絕對(duì)一流,甚至可以進(jìn)行一定的反饋控制。產(chǎn)品的配套也非常齊全,通常自帶采集工具、適配各種接口協(xié)議、具備計(jì)算能力及定制化的可視化能力(實(shí)時(shí)數(shù)據(jù)庫在這一塊的設(shè)計(jì)投入了很大精力,以使圖表能展示出監(jiān)控?cái)?shù)據(jù)的一些特征和細(xì)節(jié)),是一套完整的解決方案。而時(shí)序數(shù)據(jù)庫的設(shè)計(jì)在這些領(lǐng)域知識(shí)的積累方面是很欠缺的,而且大多數(shù)只用于監(jiān)控分析的場景;部署依賴過多,配套工具不完善也是一方面的問題;性能和可靠性離實(shí)時(shí)的反饋控制也還有一定距離。
再者,近幾年做實(shí)時(shí)數(shù)據(jù)庫的廠家也在積極行動(dòng)中,陸續(xù)都為產(chǎn)品增加了分布式版本甚至是云服務(wù)版本,通常會(huì)以實(shí)時(shí)數(shù)據(jù)庫為核心反向建立起一套數(shù)據(jù)管理和分析的生態(tài)體系,勢頭一點(diǎn)都不輸互聯(lián)網(wǎng)玩家。
跑道上槍聲響起,這場比賽沒有人棄權(quán)。
那我們共同進(jìn)步吧
不管技術(shù)架構(gòu)如何變化,解決用戶的需求才是最終目的,以需求為導(dǎo)向的設(shè)計(jì),永遠(yuǎn)不會(huì)過時(shí)。那接下來我們來看看還出現(xiàn)了哪些新需求:
對(duì)查詢的要求逐漸超過了寫入要求:在互聯(lián)網(wǎng)時(shí)代,查詢的要求已經(jīng)不僅僅是滿足于一些基礎(chǔ)的條件查詢或是插值查詢,隨著物聯(lián)網(wǎng)場景的豐富以及人們對(duì)信息全面掌控的需求,基于地圖的應(yīng)用越來越多,查詢會(huì)由時(shí)間的維度逐步擴(kuò)展到空間的維度,除了保證實(shí)時(shí)性之外,更豐富的可視化的展現(xiàn)也是一大趨勢。
逐步轉(zhuǎn)向云服務(wù):傳統(tǒng)的工業(yè)場景處理實(shí)時(shí)數(shù)據(jù)出于安全和性能等原因都會(huì)使用私有化部署。機(jī)器、軟件以及后續(xù)的服務(wù)是一筆十分高昂的開銷,還需要配備專業(yè)的技術(shù)人員進(jìn)行系統(tǒng)的維護(hù)。當(dāng)服務(wù)逐步上云后,一方面省去了購置機(jī)器的成本,也不需要特別安排維護(hù)機(jī)器和軟件系統(tǒng)的工程師,只需要懂得如何開發(fā)和維護(hù)業(yè)務(wù)就可以。另外服務(wù)使用多少就購買多少,避免一次性購買服務(wù)造成的資源浪費(fèi)或者資源不足再進(jìn)行二次建設(shè),可以為企業(yè)減少很大一筆開銷。隨著網(wǎng)絡(luò)和云計(jì)算技術(shù)的成熟,相關(guān)的性能和安全性也會(huì)不斷的升級(jí),最終趨近于私有化部署的效果,服務(wù)上云已經(jīng)成為了一個(gè)不可阻擋的趨勢。
計(jì)算分?jǐn)偟竭吘墸汗I(yè)領(lǐng)域其實(shí)是IoT的重要實(shí)驗(yàn)田,工業(yè)互聯(lián)網(wǎng)的發(fā)展勢必會(huì)帶來更多傳感器的使用以及更多數(shù)據(jù)的采集,當(dāng)數(shù)據(jù)過于龐大,集中化的處理方式就很難響應(yīng)實(shí)時(shí)的數(shù)據(jù)分析需求,這就帶來了數(shù)據(jù)計(jì)算向邊緣的發(fā)展,需要實(shí)時(shí)響應(yīng)的監(jiān)控就通過邊緣設(shè)備及時(shí)的處理并反饋,需要用于大規(guī)模分析的數(shù)據(jù)再進(jìn)行集中存儲(chǔ),這種分級(jí)的處理方式能夠有效的提升時(shí)效性數(shù)據(jù)的價(jià)值,同時(shí)減輕存儲(chǔ)系統(tǒng)的負(fù)擔(dān),所以許多時(shí)序數(shù)據(jù)庫正在研發(fā)邊緣計(jì)算版本,并會(huì)配合流計(jì)算的能力使功能更加豐富。融合了邊緣計(jì)算的時(shí)序數(shù)據(jù)解決方案會(huì)更適合工業(yè)互聯(lián)網(wǎng)的處理場景。
總結(jié)一下上文,其實(shí)在技術(shù)發(fā)展的過程中,兩種數(shù)據(jù)庫都在為發(fā)展變化的業(yè)務(wù)需求不斷打磨自己的功能,各取所長、互為補(bǔ)充、甚至做出一些妥協(xié),這是保持長久活力的必經(jīng)之路——停滯造成焦慮,變化帶來生機(jī)。
在新的風(fēng)口誰都想搶得先機(jī)。
而踏實(shí)做事的人能走到最后。
王妙瓊,中國信息通信研究院云大所工程師,CCSA TC601 大數(shù)據(jù)行業(yè)應(yīng)用工作組組長。主要研究方向?yàn)榇髷?shù)據(jù)基礎(chǔ)平臺(tái)架構(gòu)、工業(yè)大數(shù)據(jù)應(yīng)用等。牽頭流計(jì)算、時(shí)序數(shù)據(jù)庫等多項(xiàng)行業(yè)標(biāo)準(zhǔn)及研究報(bào)告的編寫工作。
本文標(biāo)題:實(shí)時(shí)數(shù)據(jù)庫一下受到了時(shí)序數(shù)據(jù)庫的威脅
瀏覽地址:http://www.rwnh.cn/news/100221.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、動(dòng)態(tài)網(wǎng)站、網(wǎng)站排名、虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容