裴威
[摘 要]近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,時(shí)空數(shù)據(jù)成為大數(shù)據(jù)分析的一個(gè)重要研究領(lǐng)域。OmniSci作為時(shí)空大數(shù)據(jù)分析平臺(tái),主要借助GPU大規(guī)模線程和高速計(jì)算力,承載億萬(wàn)級(jí)時(shí)空數(shù)據(jù)分析和數(shù)據(jù)可視化的任務(wù),并結(jié)合了地理信息系統(tǒng)GIS、商業(yè)數(shù)據(jù)分析BI系統(tǒng)和基于位置服務(wù)LBS三者的優(yōu)點(diǎn),為共享出行、O2O上門(mén)服務(wù)、快遞物流、智慧交通、商業(yè)地理等互聯(lián)網(wǎng)LBS應(yīng)用提供強(qiáng)有力的基礎(chǔ)設(shè)施服務(wù)。基于此,本文主要介紹了時(shí)空大數(shù)據(jù)分析平臺(tái)OmniSci(MapD)的核心技術(shù)和系統(tǒng)架構(gòu)。
[關(guān)鍵詞]GPU;時(shí)空數(shù)據(jù);數(shù)據(jù)庫(kù)
doi:10.3969/j.issn.1673 - 0194.2019.08.075
[中圖分類號(hào)]TP311.13 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673-0194(2019)08-0-02
1 研究背景
移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展和智能手機(jī)GPS模塊的廣泛應(yīng)用,使基于位置的服務(wù)(LBS)呈爆炸式增長(zhǎng)。共享出行、O2O上門(mén)服務(wù)、快遞物流、智慧交通乃至商業(yè)地理等新一代LBS應(yīng)用,對(duì)空間數(shù)據(jù)的存儲(chǔ)、計(jì)算、管理和分析都提出了更高的要求??臻g數(shù)據(jù)具有數(shù)據(jù)規(guī)模龐大(Volume)、數(shù)據(jù)查詢頻繁(Velocity)、數(shù)據(jù)類型多樣(Variety)和數(shù)據(jù)價(jià)值巨大(Value)的特點(diǎn),因此,有必要結(jié)合地理空間信息系統(tǒng)(GIS)、LBS兼具商業(yè)智能分析(BI)系統(tǒng)的優(yōu)點(diǎn),著手構(gòu)建新一代時(shí)空數(shù)據(jù)分析平臺(tái)。
傳統(tǒng)的GIS平臺(tái)在國(guó)土、水利、地質(zhì)、氣象、水文、交通和市政等領(lǐng)域應(yīng)用廣泛,但受限于傳統(tǒng)的C/S模式,在B/S模式的WebGIS應(yīng)用上與主流互聯(lián)網(wǎng)技術(shù)發(fā)展脫節(jié),服務(wù)范圍受限于局域網(wǎng)之內(nèi)。以Esri公司的ArcGIS系統(tǒng)為例,該系統(tǒng)將空間數(shù)據(jù)以矢量的形式存儲(chǔ)在文件中,并附帶時(shí)間信息,可以精確表述空間數(shù)據(jù)的變化,也可以使用空間數(shù)據(jù)轉(zhuǎn)換中間件,將空間數(shù)據(jù)存儲(chǔ)在DBMS中進(jìn)行管理。ArcGIS面臨數(shù)據(jù)擴(kuò)展性問(wèn)題,在數(shù)據(jù)操作和服務(wù)性能上都面臨很大的局限性,同時(shí),處理空間數(shù)據(jù)量只有百萬(wàn)級(jí),在性能上無(wú)法滿足互聯(lián)網(wǎng)LBS的應(yīng)用需求。
同時(shí),傳統(tǒng)的BI軟件對(duì)空間數(shù)據(jù)的支持度不夠,缺乏空間聚類、空間運(yùn)籌、路徑規(guī)劃、地理熱圖、時(shí)空數(shù)據(jù)挖掘等方面的功能?;诖?,LBS互聯(lián)網(wǎng)公司往往要根據(jù)自身業(yè)務(wù)需要構(gòu)建空間數(shù)據(jù)處理系統(tǒng),比如百度地圖、滴滴打車、美團(tuán)外賣等。商家基于商業(yè)競(jìng)爭(zhēng)方面的考慮,在對(duì)外接口上限制了操作類型和數(shù)據(jù)速率。此外,信息壁壘造成了空間數(shù)據(jù)信息孤島效應(yīng),大量的空間數(shù)據(jù)由于沒(méi)有充分利用相關(guān)信息,導(dǎo)致其無(wú)法催生出新的商業(yè)機(jī)會(huì),是一種極大的資源浪費(fèi)。近年來(lái),以O(shè)mniSci(前MapD)、H2O.ai為代表的GPU加速數(shù)據(jù)分析平臺(tái)發(fā)展迅速,在結(jié)合GIS、BI和LBS優(yōu)點(diǎn)的基礎(chǔ)上,可能成為新型時(shí)空數(shù)據(jù)分析平臺(tái)的首選。
2 核心技術(shù)
2.1 GPU時(shí)空數(shù)據(jù)庫(kù)
OmniSci時(shí)空數(shù)據(jù)庫(kù)采用GPU數(shù)據(jù)庫(kù)技術(shù)進(jìn)行查詢,通過(guò)即時(shí)編譯技術(shù)將用戶的查詢語(yǔ)句編譯為可執(zhí)行代碼,并駐留在GPU中。由于GPU長(zhǎng)于計(jì)算而弱于邏輯控制,基于迭代的Volcano查詢執(zhí)行模式不適應(yīng)GPU運(yùn)行,因此,OmniSci采用向量化查詢執(zhí)行引擎,在利用GPU大規(guī)模并發(fā)線程能力的基礎(chǔ)上,采用多級(jí)緩存,進(jìn)一步提升查詢性能。OmniSci將點(diǎn)、線、面等空間數(shù)據(jù)類型作為數(shù)據(jù)庫(kù)的原生類型,省去了傳統(tǒng)數(shù)據(jù)庫(kù)解決方案中的GIS中間件,讓?xiě)?yīng)用層可以直接獲取時(shí)空數(shù)據(jù)庫(kù)的高速處理能力。此外,OmniSci集成了高速數(shù)據(jù)可視化模塊,采用數(shù)據(jù)驅(qū)動(dòng)協(xié)同過(guò)濾的方式,讓用戶可以毫不費(fèi)力地進(jìn)行數(shù)據(jù)分析和可視化。
2.2 時(shí)空云計(jì)算平臺(tái)
以O(shè)mniSci云平臺(tái)為基礎(chǔ),可以充分利用云計(jì)算的分布式、數(shù)據(jù)持久化、異步操作、無(wú)狀態(tài)微服務(wù)(RESTful)的優(yōu)點(diǎn),構(gòu)建穩(wěn)定可靠、彈性伸縮、易于管理的新一代WEB GIS及商業(yè)智能數(shù)據(jù)分析平臺(tái),為智能交通、智能物流等智慧城市應(yīng)用提供強(qiáng)大的存儲(chǔ)和計(jì)算能力。用戶不再考慮購(gòu)置昂貴的服務(wù)器、顯卡等基礎(chǔ)設(shè)施,也無(wú)須聘請(qǐng)專業(yè)運(yùn)維團(tuán)隊(duì),就可以在OmniSci云平臺(tái)上按計(jì)算量購(gòu)買云服務(wù)。
2.3 數(shù)據(jù)驅(qū)動(dòng)可視化技術(shù)
OmniSci時(shí)空計(jì)算平臺(tái)采用先進(jìn)的數(shù)據(jù)驅(qū)動(dòng)圖表的前端庫(kù),依托于Vega和D3.js開(kāi)源框架,極大地簡(jiǎn)化了數(shù)據(jù)可視化流程,非專業(yè)人士也可以定制出生動(dòng)的數(shù)據(jù)可視化面板。傳統(tǒng)的數(shù)據(jù)可視化方案需要專業(yè)人士使用Javascript語(yǔ)言操作網(wǎng)頁(yè)中的繪圖元素,但由于工作量巨大、可重用性差,割裂了數(shù)據(jù)分析和可視化處理流程。OmniSci Immerse可視化模塊使數(shù)據(jù)展示與后端數(shù)據(jù)查詢緊密結(jié)合,用戶只需在網(wǎng)頁(yè)中點(diǎn)擊拖動(dòng)相應(yīng)功能按鈕就可以驅(qū)動(dòng)上億行空間數(shù)據(jù)的查詢、分析。
3 系統(tǒng)架構(gòu)
3.1 核心層
OmniSci核心層(OmniSciCoreDatabase)是GPU加速的時(shí)空數(shù)據(jù)庫(kù),由數(shù)據(jù)連接模塊、查詢編譯器、查詢執(zhí)行引擎3大模塊組成。在數(shù)據(jù)連接模塊中,OmniSci提供多種語(yǔ)言及標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)接口(JDBC\ODBC),也可以導(dǎo)入Hadoop/Spark分布式大數(shù)據(jù),或Kafka導(dǎo)入流式數(shù)據(jù)。傳統(tǒng)數(shù)據(jù)庫(kù)的性能瓶頸是磁盤(pán)訪問(wèn)IO,這是以磁盤(pán)為中心的DBMS系統(tǒng)所不可避免的問(wèn)題。OmniSci時(shí)空數(shù)據(jù)庫(kù)大量使用內(nèi)存計(jì)算技術(shù),將數(shù)據(jù)盡可能地存儲(chǔ)在多塊顯卡組成的共享顯存陣列中,并利用數(shù)據(jù)劃分和替換技術(shù)提供超過(guò)顯存容量的數(shù)據(jù)處理能力,這種采用顯存-內(nèi)存-硬盤(pán)3級(jí)緩存的技術(shù),可以在根本上避免磁盤(pán)IO對(duì)性能的制約,從而取得幾千倍的速度提升。同時(shí),查詢編譯器采用LLVM即時(shí)編譯技術(shù),并在查詢執(zhí)行引擎中采用適合GPU大規(guī)模并發(fā)線程的向量化查詢處理模式,使單塊顯卡獲得匹敵多個(gè)CPU服務(wù)器的計(jì)算能力,避免了分布式計(jì)算的不穩(wěn)定性。以統(tǒng)一GPU數(shù)據(jù)幀(GDF)為中介,OmniSci提供與Numpy、H2O.ai的python接口,方便進(jìn)行機(jī)器學(xué)習(xí)和人工智能建模,為進(jìn)一步分析數(shù)據(jù)提供了可能。
3.2 渲染層
OmniSci渲染引擎(Renderingengine)是連接用戶復(fù)雜查詢和高速GPU時(shí)空數(shù)據(jù)庫(kù)的橋梁,將時(shí)空數(shù)據(jù)庫(kù)查詢結(jié)果直接在GPU上進(jìn)行渲染,生成各類商業(yè)智能BI交互式圖表和空間數(shù)據(jù)可視化圖表。渲染引擎可以直接利用核心時(shí)空數(shù)據(jù)庫(kù),通過(guò)在GPU上緩存進(jìn)行空間查詢,避免了大量不必要的數(shù)據(jù)傳輸,并通過(guò)使用GPU圖形處理指令渲染動(dòng)態(tài)圖片,解放了CPU計(jì)算力。渲染引擎使用Vega可視化語(yǔ)言來(lái)控制渲染效果,并通過(guò)數(shù)據(jù)驅(qū)動(dòng)圖表的可視化。渲染引擎允許多用戶同時(shí)以數(shù)據(jù)可視化的方式操作數(shù)據(jù),極大簡(jiǎn)化了數(shù)據(jù)查詢分析的復(fù)雜度。
3.3 表示層
在表現(xiàn)層,OmniSci采用與D3.js兼容的輕量級(jí)Immerse前端框架,通過(guò)在瀏覽器中嵌入Javascript代碼的方式形成交互式協(xié)同過(guò)濾數(shù)據(jù)面板。用戶根據(jù)需要,添加不同類型的交互式商業(yè)分析圖表,同時(shí)支持將空間數(shù)據(jù)映射到地圖底圖上,生成地理熱圖、等高線圖、地理散點(diǎn)圖等。在大數(shù)據(jù)應(yīng)用場(chǎng)景下,數(shù)據(jù)科學(xué)家和分析人員的工作效率直接取決于數(shù)據(jù)可視化的速度。Immerse允許用戶在地圖上圈出感興趣的位置區(qū)域,設(shè)置交互式圖表的過(guò)濾條件以及輸入SQL查詢語(yǔ)句的方式,以“所見(jiàn)即所得”的方式操作分析億萬(wàn)行空間數(shù)據(jù),同時(shí),數(shù)據(jù)面板上的圖表可以綁定成組,通過(guò)協(xié)同過(guò)濾(Cross-filter)的方式統(tǒng)一更新結(jié)果,快速流暢地更新過(guò)程。比如,用戶可以在地理熱圖上圈出興趣區(qū)域,一旦圈定,相關(guān)圖表立即根據(jù)興趣區(qū)域內(nèi)的統(tǒng)計(jì)結(jié)果更新相關(guān)圖表,實(shí)時(shí)展示數(shù)據(jù)分析結(jié)果。OmniSci同時(shí)支持上百個(gè)并發(fā)查詢鏈接,支持多用戶協(xié)同工作,團(tuán)隊(duì)成員只需在瀏覽器上登錄,就可以根據(jù)自己的理解從不同角度探索大規(guī)??臻g數(shù)據(jù),進(jìn)行數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)乃至人工智能建模,挖掘數(shù)據(jù)背后的價(jià)值。
4 應(yīng)用案例
4.1 智慧交通
目前,百度地圖、高德地圖已經(jīng)提供API接口,提供定位、地圖、導(dǎo)航、實(shí)時(shí)路況、搜索等功能,通過(guò)數(shù)據(jù)爬蟲(chóng)和數(shù)據(jù)抓取技術(shù),實(shí)時(shí)將數(shù)據(jù)導(dǎo)入OmniSci時(shí)空數(shù)據(jù)庫(kù)中,建立交通大數(shù)據(jù)平臺(tái),對(duì)交通數(shù)據(jù)進(jìn)行時(shí)空維度建模和持久化存儲(chǔ)。在時(shí)空數(shù)據(jù)庫(kù)和交通數(shù)據(jù)可視化的幫助下,用戶可以查詢特定路線、特定區(qū)域的擁堵程度,可以發(fā)現(xiàn)交通流量的時(shí)間模式,從而制訂出行計(jì)劃,估計(jì)預(yù)計(jì)時(shí)間。
4.2 智能物流
近年來(lái),隨著淘寶、天貓、京東等電子商務(wù)公司的快速發(fā)展,網(wǎng)上購(gòu)物已經(jīng)成為人們生活中不可分割的部分。同時(shí),快遞、送餐以及各種便民服務(wù)也對(duì)物流行業(yè)提出了新要求。在物流智能化過(guò)程中,供應(yīng)鏈跟蹤、路徑選擇、配送的“最后一公里”等問(wèn)題都取決于對(duì)位置數(shù)據(jù)的分析和實(shí)時(shí)決策上。使用OmniSci作為數(shù)據(jù)分析平臺(tái),實(shí)時(shí)為決策者提供車輛位置更新信息、指定范圍內(nèi)信息匯總、供應(yīng)鏈線圖、系統(tǒng)監(jiān)控和管理等服務(wù),用數(shù)據(jù)驅(qū)動(dòng)決策,以達(dá)到數(shù)字化、智能化的要求。
5 結(jié) 語(yǔ)
OmniSci時(shí)空大數(shù)據(jù)分析及可視化平臺(tái)作為信息基礎(chǔ)設(shè)施,必將成為云計(jì)算及人工智能信息化體系的重要組成部分,因此,研究人員必須高度重視其基礎(chǔ)性建設(shè)工作,并不斷融入智慧中國(guó)時(shí)空數(shù)據(jù)基礎(chǔ)設(shè)施框架建設(shè)的主流中,充分發(fā)揮強(qiáng)大的計(jì)算能力,簡(jiǎn)化空間數(shù)據(jù)分析,推動(dòng)信息化事業(yè)實(shí)現(xiàn)可持續(xù)發(fā)展。
主要參考文獻(xiàn)
[1]韓劍.時(shí)空數(shù)據(jù)模型概述及研究[J].科技傳播,2012(12).
[2]劉鋒.Webgis架構(gòu)下的地理信息系統(tǒng)構(gòu)建研究[J].計(jì)算機(jī)測(cè)量與控制,2017(6).
[3]趙光輝.互聯(lián)網(wǎng)+背景下我國(guó)智能物流研究[J].物流工程與管理,2016(5).