車聯網多種應用場景
現代(dai)新能(neng)源汽(qi)車,作為一種(zhong)內部(bu)系統極為復(fu)雜的(de)交通工具,配備了大量傳感器、導航設備、應用軟件,這些(xie)傳感器產生的(de)數(shu)據(ju)都(dou)需要上報(bao)到(dao)車聯網平臺當中(zhong)。對(dui)于這些(xie)車輛的(de)狀(zhuang)態數(shu)據(ju)(如車速(su)、發動機轉速(su)等)、位置數(shu)據(ju)(經緯度(du)等)以及用戶行(xing)為數(shu)據(ju),車聯網平臺需要對(dui)它們進行(xing)實時(shi)/離(li)線計算分析,從而(er)為用戶提(ti)(ti)(ti)升駕駛體驗,提(ti)(ti)(ti)供安全保障,為廠商(shang)提(ti)(ti)(ti)供質量檢測、功能(neng)優化,為交通管理部(bu)門提(ti)(ti)(ti)供流量、違章監測、甚至為城市規劃(hua)提(ti)(ti)(ti)供幫助。
因此,同(tong)樣是車聯網平臺,對于(yu)車隊管(guan)理,政(zheng)府監督,主機(ji)廠商等不同(tong)場景,由于(yu)應用側(ce)重點的不同(tong),它們所需要接入(ru)的數據(ju)的類型,量級,頻率也各不相同(tong)。
對(dui)于(yu)主(zhu)機廠(chang)商(shang)來(lai)說,它的(de)車聯(lian)網平臺服務(wu)的(de)對(dui)象更為廣(guang)泛,包括車主(zhu)、經銷商(shang)、售后服務(wu)部門(men)以及主(zhu)機廠(chang)自(zi)身的(de)研(yan)發、生產等部門(men)。由于(yu)目標是提升車輛的(de)用戶體驗、增強品(pin)牌(pai)競爭(zheng)力(li),因(yin)此主(zhu)機廠(chang)商(shang)需要采(cai)集(ji)(ji)(ji)的(de)數(shu)據(ju)(ju)量是最大也是最完(wan)整的(de)。一(yi)輛汽(qi)車可能有數(shu)千個數(shu)據(ju)(ju)采(cai)集(ji)(ji)(ji)點甚至近(jin)萬個采(cai)集(ji)(ji)(ji)點要隨時上報數(shu)據(ju)(ju),采(cai)集(ji)(ji)(ji)頻率(lv)也各不(bu)相同。
性能和易用性難以兼得
以上(shang)(shang)原因,就導(dao)致了在(zai)(zai)同一(yi)時(shi)刻一(yi)定不會是(shi)所有(you)(you)的(de)數據(ju)采集點都(dou)有(you)(you)數據(ju)上(shang)(shang)報。在(zai)(zai)數據(ju)庫的(de)建模環節中,如果采用(yong)最簡單(dan)清晰的(de)“一(yi)車對一(yi)表”數據(ju)建模方式,那(nei)么在(zai)(zai)一(yi)行高達幾千列(lie)(lie)的(de)數據(ju)中,會有(you)(you)相當多列(lie)(lie)的(de)值為 NULL 。更(geng)主(zhu)要(yao)的(de)是(shi),即(ji)使業務查詢只涉及其中少數幾列(lie)(lie),在(zai)(zai)實際執行的(de)時(shi)候也要(yao)整(zheng)行整(zheng)塊(kuai)地讀取(qu)很(hen)多無(wu)效(xiao)數據(ju)再做(zuo)篩選,從而(er)大大拖累查詢性能(neng)。
但如果(guo)按照設備種類對這個表進行縱向的(de)(de)拆(chai)分(fen),當涉及到統(tong)計分(fen)析的(de)(de)時候,必將(jiang)又會(hui)(hui)導致原(yuan)來的(de)(de) SQL 語句引入大(da)量的(de)(de)插值、連接(jie)等功(gong)能,這會(hui)(hui)使(shi) SQL 的(de)(de)編寫十分(fen)復雜,容易出錯,難以(yi)維護,且難以(yi)適應(ying)業(ye)務(wu)的(de)(de)頻繁變(bian)化。
一車一表模型,助力數據管理
為了解決這一難題,TDengine 結合自身底層的存儲/查詢模型,以創新的設計,將復雜 SQL 封裝起來,這樣一來,用戶側可以在沒有任何感知的情況下編寫 SQL 語句訪問數據,既防止了大量無效數據導致的查詢性能下降,又確保了 SQL 語句的簡潔易懂、易維護、可擴展,從而在用戶側實現了:“一車一表的簡潔建模設計”。 在(zai)性(xing)能方面(mian),TDengine 利用(yong)每(mei)個(ge)數(shu)據流都(dou)是天然有時序的(de)(de)這(zhe)一特點(dian),把數(shu)據的(de)(de)寫(xie)入(ru)變(bian)成最簡(jian)單的(de)(de)追加(jia)操作(zuo)。做到了在(zai)相同(tong)(tong)硬件資源(yuan)下(xia),單個(ge)數(shu)據流上最好的(de)(de)寫(xie)入(ru)效率。在(zai)此基(ji)礎上,TDengine 又使(shi)用(yong)分布式架(jia)構,讓所有的(de)(de) cpu 并行工作(zuo),甚至(zhi)可以同(tong)(tong)時寫(xie)入(ru)十億(yi)百億(yi)級別點(dian)位(wei)的(de)(de)數(shu)據流。
讀(du)取(qu)方面同理:由于車輛各(ge)個(ge)設備產生的(de)時(shi)(shi)序數(shu)(shu)(shu)據(ju)在硬盤上都(dou)是連(lian)續(xu)存(cun)儲(chu)。因(yin)此(ci),批量拉取(qu)時(shi)(shi)便(bian)也均為連(lian)續(xu)讀(du),有(you)充分的(de)性能(neng)保障,再輔以流計算、訂閱、自定(ding)義函數(shu)(shu)(shu)(UDF)、各(ge)種時(shi)(shi)序數(shu)(shu)(shu)據(ju)場景的(de)專(zhuan)用函數(shu)(shu)(shu),共同為車聯網(wang)平臺(tai)各(ge)種實時(shi)(shi)/離線(xian)分析提(ti)供堅(jian)實的(de)底座(zuo)。
在此基礎上,為(wei)(wei)了防(fang)止硬盤(pan)成(cheng)為(wei)(wei)性能瓶(ping)頸,TDengine 可以為(wei)(wei)不同(tong)的存儲路徑,同(tong)時(shi)掛載不同(tong)的硬盤(pan)并發讀寫。
綜上可見,TDengine 充分利用(yong)了計算機的(de)(de)最(zui)大(da)能力(li),也充分適(shi)配(pei)了車聯網行業數據(ju)上報量大(da),數據(ju)采集點多(duo)的(de)(de)特點。
支持 Geometry 類型,賦能空間分析
自(zi) 3.1.0.0 版本開始,TDengine 提供(gong)(gong)了(le)全(quan)新的(de)數(shu)(shu)據(ju)(ju)類型(xing) Geometry 用(yong)于(yu)點線面等(deng)幾(ji)何類型(xing)的(de)存儲,并(bing)且正在逐步(bu)提供(gong)(gong)一套符(fu)合 OGC(Open Geospatial Consortium) 標(biao)準的(de) SQL 函數(shu)(shu),包括幾(ji)何輸入(ru)輸出(chu)、空間關系(xi)、幾(ji)何測(ce)量、集(ji)合操作(zuo)(zuo)和幾(ji)何處(chu)理(li)等(deng)等(deng)。 這(zhe)樣一來(lai),各類車聯網平臺就可以更輕松地進行(xing)車輛軌跡數(shu)(shu)據(ju)(ju)的(de)分析,比如(ru):熱點路線,軌跡段數(shu)(shu)據(ju)(ju),停留點,行(xing)駛事(shi)件等(deng)等(deng),從而進一步(bu)簡(jian)化軟件系(xi)統(tong)架構,真正做到針對車輛時(shi)間空間一體化的(de)數(shu)(shu)據(ju)(ju)分析、預(yu)警等(deng)工(gong)作(zuo)(zuo)。
多級存儲,降低數據成本
在(zai)存(cun)儲方(fang)面,由于(yu)車聯網(wang)行業(ye)監管(guan)法規(gui)、客戶服務(wu)需求、自身產研(yan)基(ji)于(yu)數(shu)(shu)據(ju)(ju)的(de)(de)需求等(deng)原因(yin),每(mei)輛車的(de)(de)數(shu)(shu)據(ju)(ju)保(bao)留(liu)(liu)數(shu)(shu)據(ju)(ju)經常要保(bao)留(liu)(liu)數(shu)(shu)年之久(jiu),因(yin)此存(cun)儲成(cheng)本(ben)(ben)十分之高。但(dan)得益于(yu) TDengine 多級存(cun)儲功能,可以(yi)使(shi)得最熱(re)的(de)(de)數(shu)(shu)據(ju)(ju)保(bao)留(liu)(liu)在(zai)內存(cun),次(ci)熱(re)的(de)(de)數(shu)(shu)據(ju)(ju)保(bao)留(liu)(liu)在(zai)SSD,冷(leng)數(shu)(shu)據(ju)(ju)保(bao)留(liu)(liu)在(zai)機械(xie)盤,極冷(leng)數(shu)(shu)據(ju)(ju)保(bao)留(liu)(liu)在(zai)成(cheng)本(ben)(ben)最低廉的(de)(de) S3 存(cun)儲上,再輔以(yi)列式存(cun)儲+定制化壓縮(suo)算法帶來的(de)(de)高壓縮(suo)比,用戶的(de)(de)存(cun)儲成(cheng)本(ben)(ben)可以(yi)大幅下降。
由(you)上(shang)可見,在(zai)對(dui)海量(liang)車聯網數(shu)(shu)據的(de)(de)采集、存儲、處理(li)分發的(de)(de)整個數(shu)(shu)據管理(li)過程中,TDengine 可以確保車輛上(shang)傳的(de)(de)各(ge)種數(shu)(shu)據都能作(zuo)為有效的(de)(de)資源(yuan)而被高效地運用。作(zuo)為一(yi)(yi)臺巨大(da)復雜的(de)(de)設(she)備(bei),新能源(yuan)汽車徹底放大(da)了 TDengine 的(de)(de)核(he)心(xin)設(she)計“一(yi)(yi)個設(she)備(bei)一(yi)(yi)張表,一(yi)(yi)類設(she)備(bei)一(yi)(yi)張超級(ji)表”的(de)(de)核(he)心(xin)理(li)念,因此可以說(shuo)它們是天作(zuo)之合(he)。


























