新聞中心
時(shí)序數(shù)據(jù)庫(kù)(TSDB)是一種特定類型的數(shù)據(jù)庫(kù),主要用來(lái)存儲(chǔ)時(shí)序數(shù)據(jù)。隨著5G技術(shù)的不斷成熟(十九大上工信部部長(zhǎng)透露在2020年?duì)幦?shí)現(xiàn)5G的全球首發(fā)),物聯(lián)網(wǎng)技術(shù)將會(huì)使得萬(wàn)物互聯(lián)。物聯(lián)網(wǎng)時(shí)代之前只有手機(jī)、電腦可以聯(lián)網(wǎng),以后所有設(shè)備都會(huì)聯(lián)網(wǎng),這些設(shè)備每時(shí)每刻都會(huì)吐出大量的按照時(shí)間組織的數(shù)據(jù),需要存儲(chǔ)下來(lái)進(jìn)行查詢、統(tǒng)計(jì)和分析。時(shí)序數(shù)據(jù)和普通的業(yè)務(wù)數(shù)據(jù)在各個(gè)方面都有很大的不同,本文將會(huì)試圖帶大家進(jìn)入TSDB的世界。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供忻城企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為忻城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
TSDB應(yīng)用場(chǎng)景:哪些場(chǎng)景會(huì)用到TSDB?
TSDB目前***的應(yīng)用場(chǎng)景是監(jiān)控業(yè)務(wù)(哨兵),以哨兵為例,哨兵會(huì)在業(yè)務(wù)服務(wù)器上部署各種腳本客戶端用來(lái)采集服務(wù)器指標(biāo)數(shù)據(jù)(IO指標(biāo)、CPU指標(biāo)、帶寬內(nèi)存指標(biāo)等等),業(yè)務(wù)相關(guān)數(shù)據(jù)(方法調(diào)用異常次數(shù)、響應(yīng)延遲、JVM GC相關(guān)數(shù)據(jù)等等)、數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)(讀取延遲、寫(xiě)入延遲等等),很顯然,這些數(shù)據(jù)都是時(shí)間序列相關(guān)的,客戶端采集之后會(huì)發(fā)送給哨兵服務(wù)器,哨兵服務(wù)器會(huì)將這些數(shù)據(jù)進(jìn)行存儲(chǔ),并提供頁(yè)面給用戶進(jìn)行查詢。如下圖所示,用戶可以登錄哨兵系統(tǒng)查看某臺(tái)服務(wù)器的負(fù)載,負(fù)載曲線就是按照時(shí)間進(jìn)行繪制的,帶有明顯的時(shí)序特征:
實(shí)際上,TSDB的潛力還沒(méi)有爆發(fā),至少在現(xiàn)在還沒(méi)有。在可預(yù)知的未來(lái)3~5年,隨著物聯(lián)網(wǎng)以及工業(yè)4.0的到來(lái),所有設(shè)備都會(huì)攜帶傳感器并聯(lián)網(wǎng),傳感器收集的時(shí)序數(shù)據(jù)將嚴(yán)重依賴TSDB的實(shí)時(shí)分析能力、存儲(chǔ)能力以及查詢統(tǒng)計(jì)能力。
上圖是一個(gè)智慧工廠示意圖,工廠中所有設(shè)備都會(huì)攜帶傳感設(shè)備,這些傳感設(shè)備會(huì)實(shí)時(shí)采集設(shè)備溫度、壓力等基本信息,并發(fā)送給服務(wù)器端進(jìn)行實(shí)時(shí)分析、存儲(chǔ)以及后期的查詢統(tǒng)計(jì)。除此之外,比如現(xiàn)在比較流行的各種穿戴設(shè)備,以后都可以聯(lián)網(wǎng),穿戴設(shè)備上采集的心跳信息、血流信息、體感信息等等也都會(huì)實(shí)時(shí)傳輸給服務(wù)器進(jìn)行實(shí)時(shí)分析、存儲(chǔ)以及查詢統(tǒng)計(jì)。
TSDB數(shù)據(jù)示例:什么是時(shí)序數(shù)據(jù)?
介紹了TSDB的主要應(yīng)用場(chǎng)景,再來(lái)看看時(shí)序數(shù)據(jù)到底是什么樣的數(shù)據(jù)。下圖是一份典型的時(shí)序數(shù)據(jù):
整個(gè)圖表征廣告業(yè)務(wù)實(shí)時(shí)行為數(shù)據(jù),包括廣告實(shí)時(shí)瀏覽量、實(shí)時(shí)點(diǎn)擊量以及實(shí)時(shí)利潤(rùn)收入等。圖中分了三個(gè)區(qū)域,表示時(shí)序數(shù)據(jù)由3個(gè)部分構(gòu)成,分別為維度列、數(shù)值列以及時(shí)間列。維度列是最左邊的部分,表征廣告的基本信息,類似于物體標(biāo)簽,比如廣告平臺(tái)、廣告主、廣告面向?qū)ο笠约皬V告面向國(guó)家等。數(shù)值列是中間的部分,表示采集的數(shù)值有廣告瀏覽量(impressions)、點(diǎn)擊量(clicks)以及利潤(rùn)(revenue)。時(shí)間列就是一系列的時(shí)間點(diǎn)信息。將上圖翻譯成表結(jié)構(gòu)等價(jià)于:
TSDB基本特點(diǎn):時(shí)序業(yè)務(wù)有哪些特點(diǎn)?
時(shí)序業(yè)務(wù)和普通業(yè)務(wù)在很多方面都有巨大的區(qū)別,歸納起來(lái)主要有如下幾個(gè)方面:
- 持續(xù)產(chǎn)生海量數(shù)據(jù),沒(méi)有波峰波谷。 舉幾個(gè)簡(jiǎn)單的例子,比如類似哨兵的監(jiān)控系統(tǒng),假如現(xiàn)在系統(tǒng)監(jiān)控1w臺(tái)服務(wù)器的各類指標(biāo),每臺(tái)服務(wù)器每秒采集100種metrics,這樣每秒鐘將會(huì)有100w的TPS。再比如說(shuō),現(xiàn)在比較流行的運(yùn)動(dòng)手環(huán),假如當(dāng)前有100w人佩戴,每個(gè)手環(huán)一秒只采集3種metrcis(心跳、脈搏、步數(shù)),這樣每秒鐘也會(huì)產(chǎn)生300w的TPS。
- 數(shù)據(jù)都是插入操作,基本沒(méi)有更新刪除操作。 時(shí)序業(yè)務(wù)產(chǎn)生的數(shù)據(jù)很少有更新刪除的操作,基于這樣的事實(shí),在時(shí)序數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)上會(huì)有很大的簡(jiǎn)化。
- 近期數(shù)據(jù)關(guān)注度更高,未來(lái)會(huì)更關(guān)注流式處理這個(gè)環(huán)節(jié),時(shí)間久遠(yuǎn)的數(shù)據(jù)極少被訪問(wèn),甚至可以丟棄。 這個(gè)很容易理解,哨兵系統(tǒng)我們通常最關(guān)心最近一小時(shí)的數(shù)據(jù),最多看看最近3天的數(shù)據(jù),很少去看3天以前的數(shù)據(jù)。隨著流式計(jì)算的到來(lái),時(shí)序數(shù)據(jù)在以后的發(fā)展中必然會(huì)更關(guān)注即時(shí)數(shù)據(jù)的價(jià)值,這部分?jǐn)?shù)據(jù)的價(jià)值毫無(wú)疑問(wèn)也是***的。數(shù)據(jù)產(chǎn)生之后就可以根據(jù)某些規(guī)則進(jìn)行報(bào)警是一個(gè)非常常見(jiàn)并重要的場(chǎng)景,報(bào)警時(shí)效性越高,對(duì)業(yè)務(wù)越有利。
- 數(shù)據(jù)存在多個(gè)維度的標(biāo)簽,往往需要多維度聯(lián)合查詢以及統(tǒng)計(jì)查詢。 時(shí)序數(shù)據(jù)另一個(gè)非常重要的功能是多維度聚合統(tǒng)計(jì)查詢,比如業(yè)務(wù)需要統(tǒng)計(jì)最近一小時(shí)廣告主google發(fā)布在USA地區(qū)的廣告點(diǎn)擊率和總收入分別是多少,這是一個(gè)典型的多維度聚合統(tǒng)計(jì)查詢需求。這個(gè)需求通常對(duì)實(shí)效性要求不高,但對(duì)查詢聚合性能有比較高的要求。
TSDB市場(chǎng)發(fā)展:現(xiàn)在都有哪些TSDB產(chǎn)品?
在最近的一年時(shí)間里,隨著物聯(lián)網(wǎng)技術(shù)的不斷成熟,很多創(chuàng)業(yè)者都希望能借助這個(gè)風(fēng)口得到更多創(chuàng)業(yè)機(jī)會(huì)。試想當(dāng)年移動(dòng)互聯(lián)網(wǎng)剛興起的時(shí)候,也是誕生了一批規(guī)模龐大的創(chuàng)業(yè)者,而現(xiàn)在,要想在移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè),難度已經(jīng)非常之大,基本可以認(rèn)為現(xiàn)在移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè)都是在玩資本,玩干爹。而物聯(lián)網(wǎng)這個(gè)市場(chǎng)的競(jìng)爭(zhēng)力還是非常之小,非常純潔,創(chuàng)業(yè)的機(jī)會(huì)也非常之多??辞宄@樣的事實(shí),很多廠商尤其是公有云提供商都不約而同的將目光投到這個(gè)領(lǐng)域,他們的目標(biāo)就是籠絡(luò)這些小的創(chuàng)業(yè)公司,包括百度云、Facebook、阿里云以及華為云都開(kāi)發(fā)提供了TSDB服務(wù),希望能夠借著后面這么一股創(chuàng)業(yè)熱將云計(jì)算普及到這些小公司(云計(jì)算的***客戶就是小的創(chuàng)業(yè)公司,因此對(duì)于云計(jì)算來(lái)講,得小公司多者得天下)。下圖是最近一年各個(gè)廠商在TSDB的動(dòng)作,可見(jiàn)搞個(gè)大動(dòng)作是可以預(yù)見(jiàn)的了:
TSDB核心特性:TSDB關(guān)注的核心技術(shù)點(diǎn)在哪里?
說(shuō)了這么多,是應(yīng)該看看TSDB到底在技術(shù)層面關(guān)注哪些核心點(diǎn)了,基于時(shí)序業(yè)務(wù)的基本特點(diǎn),總結(jié)起來(lái)TSDB需要關(guān)注的技術(shù)點(diǎn)主要有這么幾個(gè):
1. 高吞吐量寫(xiě)入能力。這是針對(duì)時(shí)序業(yè)務(wù)持續(xù)產(chǎn)生海量數(shù)據(jù)這么一個(gè)特點(diǎn)量身定做的,當(dāng)前要實(shí)現(xiàn)系統(tǒng)高吞吐量寫(xiě)入,必須要滿足兩個(gè)基本技術(shù)點(diǎn)要求: 系統(tǒng)具有水平擴(kuò)展性和單機(jī)LSM體系結(jié)構(gòu) 。系統(tǒng)具有水平擴(kuò)展性很容易理解,單機(jī)肯定是扛不住的,系統(tǒng)必須是集群式的,而且要容易加節(jié)點(diǎn)擴(kuò)展,說(shuō)到底,就是擴(kuò)容的時(shí)候?qū)I(yè)務(wù)無(wú)感知,目前Hadoop生態(tài)系統(tǒng)基本上都可以做到這一點(diǎn);而LSM體系結(jié)構(gòu)是用來(lái)保證單臺(tái)機(jī)器的高吞吐量寫(xiě)入,LSM結(jié)構(gòu)下數(shù)據(jù)寫(xiě)入只需要寫(xiě)入內(nèi)存以及追加寫(xiě)入日志,這樣就不再需要隨機(jī)將數(shù)據(jù)寫(xiě)入磁盤(pán),HBase、Kudu以及Druid等對(duì)寫(xiě)入性能有要求的系統(tǒng)目前都采用的這種結(jié)構(gòu)。
2. 數(shù)據(jù)分級(jí)存儲(chǔ)/TTL 。這是針對(duì)時(shí)序數(shù)據(jù)冷熱性質(zhì)定制的技術(shù)特性。數(shù)據(jù)分級(jí)存儲(chǔ)要求能夠?qū)⒆罱r(shí)級(jí)別的數(shù)據(jù)放到內(nèi)存中,將最近天級(jí)別的數(shù)據(jù)放到SSD,更久遠(yuǎn)的數(shù)據(jù)放到更加廉價(jià)的HDD或者直接使用TTL過(guò)期淘汰掉。
3. 高壓縮率 。提供高壓縮率有兩個(gè)方面的考慮,一方面是節(jié)省成本,這很容易理解,將1T數(shù)據(jù)壓縮到100G就可以減少900G的硬盤(pán)開(kāi)銷,這對(duì)業(yè)務(wù)來(lái)說(shuō)是有很大的誘惑的。另一個(gè)方面是壓縮后的數(shù)據(jù)可以更容易保證存儲(chǔ)到內(nèi)存中,比如最近3小時(shí)的數(shù)據(jù)是1T,我現(xiàn)在只有100G的內(nèi)存,如果不壓縮,就會(huì)有900G的數(shù)據(jù)被迫放到硬盤(pán)上,這樣的話查詢開(kāi)銷會(huì)非常之大,而使用壓縮會(huì)將這1T數(shù)據(jù)都放入內(nèi)存,查詢性能會(huì)非常之好。
4. 多維度查詢能力 。時(shí)序數(shù)據(jù)通常會(huì)有多個(gè)維度的標(biāo)簽來(lái)刻畫(huà)一條數(shù)據(jù),就是上文中提到的維度列。如何根據(jù)隨機(jī)幾個(gè)維度進(jìn)行高效查詢就是必須要解決的一個(gè)問(wèn)題,這個(gè)問(wèn)題通常需要考慮位圖索引或者倒排索引技術(shù)。
5. 高效聚合能力 。時(shí)序業(yè)務(wù)一個(gè)通用的需求是聚合統(tǒng)計(jì)報(bào)表查詢,比如哨兵系統(tǒng)中需要查看最近一天某個(gè)接口出現(xiàn)異常的總次數(shù),或者某個(gè)接口執(zhí)行的***耗時(shí)時(shí)間。這樣的聚合實(shí)際上就是簡(jiǎn)單的count以及max,問(wèn)題是如何能高效的在那么大的數(shù)據(jù)量的基礎(chǔ)上將滿足條件的原始數(shù)據(jù)查詢出來(lái)并聚合,要知道統(tǒng)計(jì)的原始值可能因?yàn)闀r(shí)間比較久遠(yuǎn)而不在內(nèi)存中哈,因此這可能是一個(gè)非常耗時(shí)的操作。目前業(yè)界比較成熟的方案是使用預(yù)聚合,就是在數(shù)據(jù)寫(xiě)進(jìn)來(lái)的時(shí)候就完成基本的聚合操作。
6. 未來(lái)技術(shù)點(diǎn) :異常實(shí)時(shí)檢測(cè)、未來(lái)預(yù)測(cè)等等
TSDB總結(jié)
TSDB將是未來(lái)一個(gè)非常具有市場(chǎng)性、挑戰(zhàn)性的數(shù)據(jù)庫(kù),現(xiàn)在雖然已經(jīng)有這樣那樣的服務(wù),但大多都有這樣那樣的問(wèn)題,現(xiàn)在很難談得上成熟。為了在物聯(lián)網(wǎng)時(shí)代、工業(yè)4.0時(shí)代中占有一定地位,TSDB是必須要拓展的技術(shù)。本文從時(shí)序場(chǎng)景、時(shí)序業(yè)務(wù)特點(diǎn)、TSDB市場(chǎng)以及TSDB核心技術(shù)點(diǎn)這幾個(gè)方面對(duì)TSDB進(jìn)行了介紹,希望看官能基本了解TSDB。后續(xù)筆者將會(huì)推出針對(duì)TSDB的系列專題文章,深入分析TSDB本身所要面對(duì)的各種技術(shù)問(wèn)題以及解決方案。
本文標(biāo)題:時(shí)序數(shù)據(jù)庫(kù)-為萬(wàn)物互聯(lián)插上一雙翅膀
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/djoehhe.html


咨詢
建站咨詢
