【廣告】
時(shí)序數(shù)據(jù)庫特性
時(shí)序數(shù)據(jù)庫即存儲(chǔ)時(shí)序數(shù)據(jù)的數(shù)據(jù)庫。它允許快速寫入、持久化、多維度地聚合查詢時(shí)序數(shù)
據(jù)等操作。該類數(shù)據(jù)庫不但存儲(chǔ)了此刻的數(shù)據(jù)值,而且保存了全部歷史數(shù)據(jù),在查詢時(shí)也總會(huì)將時(shí)間作為過濾條件。
時(shí)序數(shù)據(jù)庫適用于一切有時(shí)序數(shù)據(jù)形成,對(duì)數(shù)據(jù)的歷史規(guī)律、異常變化等有分析需求,或者需判斷時(shí)序數(shù)據(jù)后續(xù)發(fā)展趨勢(shì)的場(chǎng)景。
時(shí)序數(shù)據(jù)庫
基于快速增長的時(shí)序數(shù)據(jù)應(yīng)用需求以及區(qū)別于傳統(tǒng)關(guān)系型數(shù)據(jù)的特征,時(shí)序數(shù)據(jù)庫應(yīng)運(yùn)而生,時(shí)序數(shù)據(jù)庫一般具有以下特點(diǎn):
高吞吐量數(shù)據(jù)高速寫入能力。由于時(shí)序業(yè)務(wù)會(huì)持續(xù)產(chǎn)生海量數(shù)據(jù),并且對(duì)寫入的速度有很高的要求,寫入的并發(fā)量大,這就要求時(shí)序數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)高吞吐量的數(shù)據(jù)高速寫入功能。
高壓縮率。時(shí)序數(shù)據(jù)庫需要存儲(chǔ)大量的數(shù)據(jù),并且有的監(jiān)控?cái)?shù)據(jù)可能需要存儲(chǔ)很長時(shí)間,5 年到 10 年都有需求,因此需要根據(jù)時(shí)序數(shù)據(jù)的特征對(duì)數(shù)據(jù)進(jìn)行壓縮。
時(shí)序數(shù)據(jù)特點(diǎn)
數(shù)據(jù)模式:時(shí)序數(shù)據(jù)隨時(shí)間增長,相同維度重復(fù)取值,指標(biāo)平滑變化:這點(diǎn)從上面的Network表的數(shù)據(jù)變化可以看出。寫入:持續(xù)高并發(fā)寫入,無更新操作:時(shí)序數(shù)據(jù)庫面對(duì)的往往是百萬甚至千萬數(shù)量級(jí)終端設(shè)備的實(shí)時(shí)數(shù)據(jù)寫入,但數(shù)據(jù)大多表征設(shè)備狀態(tài),寫入后不會(huì)更新。查詢:按不同維度對(duì)指標(biāo)進(jìn)行統(tǒng)計(jì)分析,且存在明顯的冷熱數(shù)據(jù),一般只會(huì)頻繁查詢近期數(shù)據(jù)。
為什么要建立一個(gè)時(shí)間序列數(shù)據(jù)平臺(tái)?
減輕開發(fā)人員的工作
我們經(jīng)常會(huì)看到開發(fā)人員不斷編寫代碼來解決相同的問題,如果我們將其引入到平臺(tái)或者是數(shù)據(jù)庫中,開發(fā)人員的代碼量就會(huì)減少,解決問題的時(shí)間就會(huì)被優(yōu)化。
時(shí)間是特殊的
除了可用性目標(biāo)之外,我們還可以圍繞時(shí)間序列的特性進(jìn)行一些數(shù)據(jù)庫的優(yōu)化,例如,在插入時(shí)聚合和縮小樣本,在用戶想要釋放空間時(shí)自動(dòng)排除高精度數(shù)據(jù)。甚至還可以構(gòu)建針對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行優(yōu)化的壓縮。
超越數(shù)據(jù)庫,使開發(fā)更容易
專為時(shí)序數(shù)據(jù)構(gòu)建數(shù)據(jù)庫的一個(gè)優(yōu)點(diǎn)就是它可以超越數(shù)據(jù)庫。我們發(fā)現(xiàn)大多數(shù)用戶遇到了一系列需要解決的問題,如何收集數(shù)據(jù),如何存儲(chǔ)數(shù)據(jù),如何處理和監(jiān)視數(shù)據(jù),以及如何可視化。
使用通用API可以使社區(qū)更容易的構(gòu)建解決方案。用 line protocol來表示時(shí)間序列數(shù)據(jù),用于寫入和查詢的HTTP API,以及用于處理的Kapacitor……隨著時(shí)間的推移,我們可以對(duì)常見的用例來預(yù)先構(gòu)建組件。