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