時序時空數據庫TSDB技術要點整理

一、基本概念


時序時空數據庫 TSDB :英文全稱爲 Time Series & Spatial Temporal Database,簡稱 TSDB提供高效存取時序數據和統計分析功能的數據管理系統。是一種高性能、低成本、穩定可靠的在線時序時空數據庫服務,提供高效讀寫、高壓縮比存儲、時序數據插值及聚合計算等服務,廣泛應用於物聯網(IoT)設備監控系統、企業能源管理系統(EMS)、生產安全監控系統和電力檢測系統等行業場景;除此以外,還提供時空場景的查詢和分析的能力除此以外,還提供時空場景的查詢和分析的能力。


TSDB 具備秒級寫入百萬級時序數據的性能,提供高壓縮比低成本存儲、預降採樣、插值、多維聚合計算、可視化查詢結果等功能,解決由設備採集點數量巨大、數據採集頻率高造成的存儲成本高、寫入和查詢分析效率低的問題。


二、時序時空數據庫常用名詞


時序數據(Time Series Data):基於穩定頻率持續產生的一系列指標監測數據。例如,監測某城市的空氣質量時,每秒採集一個二氧化硫濃度的值而產生的一系列數據。


度量(Metric):監測數據的指標,例如風力和溫度。


標籤(Tag):一個標籤(Tag)由一個標籤鍵(TagKey)和一個對應的標籤值(TagValue)組成,例如“城市(TagKey)= 杭州(TagValue)”就是一個標籤(Tag)。注意:當標籤鍵和標籤值都相同纔算同一個標籤;標籤鍵相同,標籤值不同,則不是同一個標籤


值(Value):度量對應的值,例如 15 級(風力)和 20 ℃(溫度)。


時間戳(Timestamp):數據(度量值)產生的時間點。


數據點 (Data Point):針對監測對象的某項指標(由度量和標籤定義)按特定時間間隔(連續的時間戳)採集的每個度量值就是一個數據點


時間序列(Time Series):針對某個監測對象的某項指標(由度量和標籤定義)的描述。“一個度量 + N 個標籤KV組合(N >= 1)”定義爲一個時間序列,某個時間序列上產生的數據值的增加,不會導致時間序列的增加。 


時間線(Timeline):等同於時間序列的概念。


時間精度:時間線數據的寫入時間精度——毫秒、秒、分鐘、小時或者其他穩定時間頻度。


數據組(Data Group):如果需要對比不同監測對象(由標籤定義)的同一指標(由度量定義)的數據,可以按標籤這些數據分成不同的數據組。例如,將溫度指標數據按照不同城市進行分組查詢。


聚合( Aggregation):當同一個度量(Metric)的查詢有多條時間線產生(多個指標採集設備),那麼爲了將空間的多維數據展現爲成同一條時間線,需要進行合併計算,例如,當選定了某個城市某個城區的污染指數時,通常將各個環境監測點的指標數據平均值作爲最終區域的指標數據,這個計算過程就是空間聚合。


降採樣(Downsampling):當查詢的時間區間跨度較長而原始數據時間精度較細時,爲了滿足業務需求的場景、提升查詢效率,就會降低數據的查詢展現精度,這就叫做降採樣,比如按秒採集一年的數據,按照天級別查詢展現。


數據時效(Data’s Validity Period):數據時效是設置的數據的實際有效期,超過有效期的數據會被自動釋放。


時空數據庫:由於IoT領域的特性,其中採集到的很多數據不僅有時間信息,還有空間信息,因此時序數據庫也需要能夠識別和處理空間信息,以便更好地服務IoT場景。因此在時序數據庫的基礎上,添加了對空間信息的存儲和處理能力。地理空間信息(主要是經緯度)。


三、數據庫特點


TSDB 提供時序數據的高效讀寫。對於百萬數據點的讀取,響應時間小於 5 秒,且最高可以支撐每秒千萬數據點的寫入


支持通過 HTTP 協議 和 TSDB Java Client 兩種方式進行數據寫入。


TSDB 支持通過 HTTP 協議、TSDB Java Client 以及 TSDB 控制檯三種方式進行數據的查詢操作。也可以通過 TSDB 控制檯的數據查詢功能進行數據分組、降採樣、空間聚合的可視化數據查詢展現。


可以通過控制檯或者 API 設置數據的有效期。數據時效開啓並設置完成後,系統對於定義的過期數據將立即標記失效,並在特定時間進行自動化清理


可以在控制檯上根據度量(Metric)進行數據清理,或者通過 API 進行更靈活的數據清理。


使用高效的數據壓縮技術,將單個數據點的平均使用存儲空間降爲1~2個字節,可以降低90%存儲使用空間,同時加快數據寫入的速度。


提供專業全面的時序數據計算函數,支持降採樣、數據插值和空間聚合計算,能滿足各種複雜的業務數據查詢場景


提供實例運維繫統,可以實時的掌握實例的運行情況、性能指標和存儲空間使用情況,並通過設置報警通道,實時發現資源瓶頸


提供 VPC 的實例訪問方式,充分保證實例訪問的安全性。


提供網絡白名單功能:您可以通過設置允許訪問實例的機器名單,進一步保證實例和數據的訪問安全。


數據存儲默認採取三副本策略,充分保證數據的可用性。


四、典型應用場景


1、物聯網

設備將原始數據通過 MQTT 協議發送到物聯網套件,經由物聯網套件將數據轉發到消息服務系統,繼而通過流計算系統對這些數據進行實時計算處理後寫入到 TSDB 中存儲,或者經由物聯網套件直接將原始數據寫入 TSDB 中存儲。前端的監控系統和大數據處理系統會利用 TSDB 的數據查詢和計算分析能力進行業務監控和分析結果的實時展現。


歸納:物聯網的數據傳輸協議爲MQTT,對於時序時空數據庫有兩種使用方式,物聯網套件直接將數據寫入數據庫中,或者用來存儲經過流計算系統處理後的數據。數據在接入流計算系統進行處理前需要經過消息服務系統。


2、系統運維和業務實時監控


對大規模應用集羣和機房設備的監控,實時關注設備運行狀態、資源利用率和業務趨勢,實現數據化運營和自動化開發運維。通過日誌或者其他方式對原始指標數據進行採集和實時計算,最後將實時計算的結果數據存儲到 TSDB,實現監控和分析的展現。


歸納:數據來源爲日誌等手段,數據庫用來存儲經過流計算系統處理後的數據。數據在接入流計算系統進行處理前同樣需要經過消息服務系統。


歸納:數據來源爲日誌等手段,同物聯網套件所起的功能相同,在數據進入流計算系統之前同樣需要經過消息服務系統,數據庫記錄的是流計算系統處理過的數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章