- 產品
- 產品解決方案
- 行業解決方案
- 案例
- 數據資產入表
- 賦能中心
- 伙伴
- 關于
時間:2022-01-16來源:摳腳女漢子瀏覽數:950次

? ? ? 分享嘉賓:李樂丁?百度智能云?物聯網主任架構師
? ? ? 編輯整理:肖禹?武漢理工大學
? ? ? 出品平臺:DataFunTalk
? ? ? 導讀:隨著物聯網、車聯網、工業互聯網和智慧城市快速發展,時序數據庫成為數據架構技術棧的標配,面對海量時空數據,隨之而來是數據存儲、處理問題,也對時序數據庫高效讀寫、快速查詢能力提出了更高要求。本文將和大家分享物聯網商業應用場景下時序數據庫 ( Time Series Database ) 的能力要求和技術核心點,以及時序數據庫賦能各領域應用場景落地實踐。主要內容包括以下幾大方面:
? ? ? 時間序列數據是指某一指標在不同時間上的不同數值,按照時間先后順序排列而成的數列,這類數據庫在日常生活中十分常見,像環境溫度的監控數據,直播房間的監控數據,無人車的運行數據等都是時序數據,它們通常都有以下的特點:
? ? ? 結構特性:時序數據一般都具有單向遞增的時間戳,并且對于數據批量或特定刪除的場景較少,數據清理一般基于時間窗口。
? ? ? 場景特性:由于在時間維度上的累計,時序數據的數據量通常較大且往往寫多讀少、讀寫正交。時序數據通常按照固定頻率不斷寫入,寫入數據流量具有平穩可預測的特點,且讀和寫一般發生在不同時刻。和關系型數據庫相比,因為應用場景的不同,通常不會涉及太多的事務性原則。
? ? ? 應用特性:時序數據在應用上大多進行聚合趨勢分析,較少單獨查看某個數據。
? ? ? 以百度智能云天工時序時空數據庫(TSDB)為代表,典型的商業時序數據庫需具備高性能讀寫、低成本存儲、強計算能力、高可靠服務、多生態支持的能力。如下圖為典型TSDB所處上下游宏觀架構圖,左側為數據接入端,通常數據有兩種來源,一種來自于物聯網設備,這些設備借由IoT Edge SDK使用物聯網典型的MQTT協議接入物聯網平臺,數據經快速預處理后被送入時序時空數據庫;另一種是通過其他數據中心使用HTTP等協議直接寫入TSDB。右側為數據查詢端,可同時支持物聯網設備可視化展示和大數據分析。設備可視即通過物聯網平臺建設的屏幕,實時觀看數據狀況;大數據分析是基于SQL/API的語義對接到大數據平臺中,經大數據工具得到更高層次的數據認知或AI模型。

圖1:TSDB宏觀架構圖
? ? ? 從微觀角度來說,一個典型的時序時空數據庫由存儲和計算兩部分組成。
? ? ? 存儲方面,實時數據沿時間維度壓縮后進入歷史數據層,而百度還引入了分級存儲技術,進一步提升數據存儲性價比。
? ? ? 計算方面,包括索引和SQL計算,沿著存儲系統分布在實時數據兩側,便于數據快速被查詢。索引部分,百度使用在搜索引擎積累的倒排索引技術,快速建立數據索引,而要理解用戶的查詢目的,這就需要倚靠成熟解決方案的SQL計算層。索引、數據和SQL構成了TSDB的基本內核,向外拓展有面向用戶的數據面交互和面向管理者的控制面系統兩部分。數據面交互部分,數據通過JDBC接口與Hadopp/Spark等大數據應用相連接,構成SQL接入層;HTTP接入層負責物聯網平臺和數據中心的數據寫入,也負責各類具體業務類應用程序的查詢服務。

? ? ? 從宏觀和微觀兩個角度介紹完時序數據庫,接下來從技術角度來回顧時序數據結構的特點。如下圖顯示了兩種典型的時序數據,一種是單個數據的緯度,如溫度數據,包含存儲時間戳和對應的溫度,通過給數據貼標簽tag來標記數據來源;另一種是多維度時序數據,如風機數據,包含風向、速度兩組數據點,同樣會用到tag進行標記。TSDB在進行大規模存儲和查詢時會引用到分布式存儲、分級存儲、數據查詢優化的核心技術,實現提高讀寫效率、降低成本、高效查詢等目標。

? ? ? 以下將針對上述核心技術優勢進行深度解析:
? ? ? 分布式存儲優化
? ? ? 當數據較多,為提高數據寫入速度,就需要對大規模時序數據進行存儲優化,最直觀的方式是對數據分布式分片存儲。例如,根據數據Field的不同進行分片,將同方向的數據列存儲于同一存儲點,便于存儲和查詢。在復雜的情況下,需進一步對數據進行列與行的數據平衡操作。
? ? ? 多級存儲優化
? ? ??在TSDB產品中,通過多級存儲技術,根據數據的訪問頻率選擇不同成本的存儲方式,進一步降低數據存儲成本。具體來說,訪問最頻繁、實時產生的數據存儲在內存中,一天內產生的數據會存儲在本機的Cache中。最近一年的數據會轉移到SSD中,SSD較高的隨機讀寫能力能保證數據的快速訪問,同時數據存儲與計算相分離,滿足降低存儲成本的需求。對于一年以上的時序數據,訪問頻率較低,其被轉移至更低存儲成本的HDD中,并使用EC編碼將三副本數據降低為一點五副本,進一步降低存儲成本。通過使用多級存儲技術能夠很好的平衡訪問速度和存儲成本。?
? ? ? 數據查詢優化
? ? ?TSDB傳統單機使用聚合查詢,可借助索引搜索全表,但也面臨單機的計算能力、性能不足的局限,當面對幾千億甚至上萬億的數據節點時,如何優化數據的查詢成為時序數據庫需要解決的問題。優化后的數據查詢借助存儲分片的方式,數據存入不同的Shard節點,每個Shard中的數據由獨立計算節點訪問計算,最后將各計算節點的數據匯聚后得到最終的查詢計算結果。這種將存儲與計算相分離的技術,能夠實現計算的并發,得到更強的查詢能力,是數據庫性能優化的重要方法。?
? ? ? 在時序時空數據庫的實際應用中,通常會遇到兩種應用場景,一種是與空間相結合,另一種是與邊緣相結合。
? ? ? 從空間角度來說,時空數據發展早期,時間和空間都為靜態分別計算。隨著車聯網等移動互聯網的出現,時間和空間都在發生改變,這時我們需要將時間數據和空間數據共同存儲,就得到時空數據。
? ? ? 一個典型的時空數據會沿著TSDB向外延展,基于地理數據存儲,再結合專題數據作為基本數據層,通過更多支持時空的聚合函數根據不同場景、不同業務情況,最終將這些基礎服務對接到應用層,得到具體時空大數據分析應用。

? ? ? 基于時空數據的基礎,百度為企業提供解決方案解決數據孤島、實現數據治理及數據共享、提高運營效率。在解決方案中,我們會提供數據服務(Daas)、基礎服務(Paas),以及與合作伙伴面向行業提供應用服務(Saas)。
? ? ? 另一個與TSDB有關聯的就是邊緣計算,現今大量數據需要在短時間內被處理,對于數據不同的處理需求,百度以TSDB產品為基礎提供了四級計算平臺,處于中間的是中央數據中心,可提供無盡算力;向外拓展第一輪是可復用CDN網絡,向全國各個省會城市提供計算節點;繼續向外拓展,借助運營商的5G網絡,將計算下沉到市縣級,提供數十毫秒的處理延遲;最外圍是物聯網邊緣,是用戶自行部署的硬件,可提供幾毫秒甚至亞毫秒的數據響應。
? ? ? 為配合實現邊緣計算系統,百度智能云也提供了很多開源基礎平臺,幫助用戶以更中立開放的方式引入邊緣計算。如百度與開源社區合作,捐贈的智能邊緣開源框架Baetyl,全面支持云原生架構,促進邊云融合,幫助用戶將數據在云和邊緣上進行無縫切換。
? ? ? 在實際應用場景中,通過邊云融合的數據解決方案,來處理用戶不同的數據處理需求。下圖即為典型的邊云融合數據解決方案,左側為邊緣的推斷執行,來自用戶各類數據源的數據匯聚到用戶自己可控的邊緣硬件上,在該硬件上運行百度智能邊緣服務程序。一旦在邊緣進行了數據整理,對數據處理的精度和效能也同樣有要求,因此,百度智能云天工智能邊緣BIE也可提供經用戶許可后,并脫敏處理的安全數據抽樣上傳到云端來進行分析整理。在云端,用戶可選擇將數據暫存于天工時序時空數據庫,與用戶的其他先驗知識傳入大數據平臺或者AI平臺進行深度分析。得到新模型后,可借助邊云融合系統將模型加密后推送至邊緣設備。基于知識下行通道,可以分鐘級的速度升級邊緣系統,相比傳統的升級效率得到了質的提升。

? ? ? 基于TSDB,百度智能云提供完整成套的解決方案,在工業、電力、自動駕駛等領域都有廣泛應用。在工業環境檢測案例中,基于百度智能云天工時序時空數據庫,借助展示系統和大數據分析工具為客戶檢測。相較于客戶自檢而言,實現成本有效控制,助力企業數字化轉型。
? ? ? 此外,在節能減排和碳中和等重要任務的大背景下,百度智能云基于TSDB為核心的電力服務管理系統,助力電力系統智慧化轉型,該方案可將電網的發電和供電數據匯總至天工時序時空數據庫,保證半年內的電力數據能在兩秒內查詢,配合基于這些數據建立起電力分析預測的AI模型,有效提升電力服務水平。
? ? ? 最后,在百度自動駕駛的應用案例中,為保證自動駕駛的安全,以及迭代自動駕駛模型,也適用了天工時序時空數據庫來存儲實時采集的每輛車自動駕駛時的運行狀態。早期落地的無人公交系統,已實現公交數據實時上報,并借由百度智能云天工物聯網平臺進入時序時空數據庫?;诖?,后臺運行系統可對自動駕駛交通車輛進行異常分析、故障統計、實時監控,來確保自動駕駛的安全可控,并積累更多的數據迭代模型,不斷助力全自動駕駛技術的升級。

? ? ? 時序時空數據庫基于其核心技術優勢,提供高性能的數據存儲、數據查詢、數據分析挖掘等能力,在時空大數據、物聯網+、工業互聯網等領域廣泛應用。未來,百度智能云天工也將持續探索時序時空數據庫的多樣的應用場景,持續助力企業數字化轉型,加速AI時代的產業升級!
? ? ? 今天的分享就到這里,謝謝大家。