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

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

圖2:TSDB微觀架構(gòu)圖03時(shí)序時(shí)空數(shù)據(jù)庫(kù)核心技術(shù)優(yōu)勢(shì)
? ? ? 從宏觀和微觀兩個(gè)角度介紹完時(shí)序數(shù)據(jù)庫(kù),接下來(lái)從技術(shù)角度來(lái)回顧時(shí)序數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。如下圖顯示了兩種典型的時(shí)序數(shù)據(jù),一種是單個(gè)數(shù)據(jù)的緯度,如溫度數(shù)據(jù),包含存儲(chǔ)時(shí)間戳和對(duì)應(yīng)的溫度,通過(guò)給數(shù)據(jù)貼標(biāo)簽tag來(lái)標(biāo)記數(shù)據(jù)來(lái)源;另一種是多維度時(shí)序數(shù)據(jù),如風(fēng)機(jī)數(shù)據(jù),包含風(fēng)向、速度兩組數(shù)據(jù)點(diǎn),同樣會(huì)用到tag進(jìn)行標(biāo)記。TSDB在進(jìn)行大規(guī)模存儲(chǔ)和查詢時(shí)會(huì)引用到分布式存儲(chǔ)、分級(jí)存儲(chǔ)、數(shù)據(jù)查詢優(yōu)化的核心技術(shù),實(shí)現(xiàn)提高讀寫效率、降低成本、高效查詢等目標(biāo)。

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

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

圖5:邊云融合的數(shù)據(jù)解決方案05時(shí)序時(shí)空數(shù)據(jù)庫(kù)各領(lǐng)域落地實(shí)踐
? ? ? 基于TSDB,百度智能云提供完整成套的解決方案,在工業(yè)、電力、自動(dòng)駕駛等領(lǐng)域都有廣泛應(yīng)用。在工業(yè)環(huán)境檢測(cè)案例中,基于百度智能云天工時(shí)序時(shí)空數(shù)據(jù)庫(kù),借助展示系統(tǒng)和大數(shù)據(jù)分析工具為客戶檢測(cè)。相較于客戶自檢而言,實(shí)現(xiàn)成本有效控制,助力企業(yè)數(shù)字化轉(zhuǎn)型。
? ? ? 此外,在節(jié)能減排和碳中和等重要任務(wù)的大背景下,百度智能云基于TSDB為核心的電力服務(wù)管理系統(tǒng),助力電力系統(tǒng)智慧化轉(zhuǎn)型,該方案可將電網(wǎng)的發(fā)電和供電數(shù)據(jù)匯總至天工時(shí)序時(shí)空數(shù)據(jù)庫(kù),保證半年內(nèi)的電力數(shù)據(jù)能在兩秒內(nèi)查詢,配合基于這些數(shù)據(jù)建立起電力分析預(yù)測(cè)的AI模型,有效提升電力服務(wù)水平。
? ? ? 最后,在百度自動(dòng)駕駛的應(yīng)用案例中,為保證自動(dòng)駕駛的安全,以及迭代自動(dòng)駕駛模型,也適用了天工時(shí)序時(shí)空數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)實(shí)時(shí)采集的每輛車自動(dòng)駕駛時(shí)的運(yùn)行狀態(tài)。早期落地的無(wú)人公交系統(tǒng),已實(shí)現(xiàn)公交數(shù)據(jù)實(shí)時(shí)上報(bào),并借由百度智能云天工物聯(lián)網(wǎng)平臺(tái)進(jìn)入時(shí)序時(shí)空數(shù)據(jù)庫(kù)。基于此,后臺(tái)運(yùn)行系統(tǒng)可對(duì)自動(dòng)駕駛交通車輛進(jìn)行異常分析、故障統(tǒng)計(jì)、實(shí)時(shí)監(jiān)控,來(lái)確保自動(dòng)駕駛的安全可控,并積累更多的數(shù)據(jù)迭代模型,不斷助力全自動(dòng)駕駛技術(shù)的升級(jí)。

圖6:TSDB在百度自動(dòng)駕駛上的應(yīng)用
? ? ? 時(shí)序時(shí)空數(shù)據(jù)庫(kù)基于其核心技術(shù)優(yōu)勢(shì),提供高性能的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、數(shù)據(jù)分析挖掘等能力,在時(shí)空大數(shù)據(jù)、物聯(lián)網(wǎng)+、工業(yè)互聯(lián)網(wǎng)等領(lǐng)域廣泛應(yīng)用。未來(lái),百度智能云天工也將持續(xù)探索時(shí)序時(shí)空數(shù)據(jù)庫(kù)的多樣的應(yīng)用場(chǎng)景,持續(xù)助力企業(yè)數(shù)字化轉(zhuǎn)型,加速AI時(shí)代的產(chǎn)業(yè)升級(jí)!
? ? ? 今天的分享就到這里,謝謝大家。
(部分內(nèi)容來(lái)源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除)