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

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


咨詢
建站咨詢
