宋富玲
(山東建材勘察測繪研究院有限公司,山東 濟南 250000)
新時代背景下,大數據的衍生有效突破了傳統數據存儲與處理技術的局限性。而地理信息系統受海量空間數據屬性和數據處理快速響應需求的限制,對大數據的應用有著迫切需求。但傳統專家學者對大數據在地理信息系統中的應用進行研究時更傾向于整體方向,忽視了將大數據應用到地理信息系統時的技術研究。對于此,圍繞著數據存儲和數據處理2 個方面對地理信息系統中大數據的應用進行探究時,還需要根據大數據的MongoDB 和Dremel 2個功能提出具有針對性的解決策略,以此有效推動地理信息系統應用的創新與改革,真正為大數據時代下地理經濟系統的應用提供技術層面的支持。
受傳統數據存儲技術不發達的影響,地理信息系統在初期階段主要是依靠RDBMS 進行數據處理,或者將文件和RDBMS 進行有機結合實現綜合管理,如GIS 軟件GeoStar 就是通過這種方式進行管理,其屬性數據仍以RDBMS 管理模式進行處理,而圖形、音像、DEM 則是利用文件系統進行管理[1]。但GIS 軟件原本就涵蓋了空間數據和海量數據的特征,在數據處理方面也有著快速響應的迫切需求。這意味著基于RDBMS 的傳統數據存儲和以統計學、數據挖掘為主的傳統數據處理技術已無法滿足新時代發展需要,也無法適應GIS 數據存儲和處理需求。而大數據時代的到來為地理信息系統提供了全新的改革思路,并且大數據處理方式與傳統數據處理方式還存在以下幾點差別。首先,大數據面向的是所有數據,也就是全樣本數據,而非通過抽樣的方式進行數據處理。但傳統數據處理方式無論是站在統計學的角度還是數據挖掘的角度,都需要抽取一定的樣本進行數據研究與分析。其次,傳統數據處理方式更依賴于統計學中的數據因果關系,而大數據可以完全忽視數據的因果關系,只需要參考數據信息的關聯性。與此同時,傳統RDBMS 處理技術對精確度和一致性提出了較高的要求,但在可擴展性上卻具有一定的弊端,而大數據包含了形式多樣的數據類型,因此其必須具備良好的可擴展性,在計算結果的精確性上并未提出較高的要求。此外,盡管RDBMS 的數據處理方式也有著并行計算的功能,但其過度追求一致性和容錯性的特點決定了這種數據處理方式注定無法如同MapRduce 這類大數據并行處理技術一樣,具備秒級計算的可用性和可拓展性功能。最后,相比于以結構化數據為主的傳統數據處理方式,大數據處理方式下的數據類型綜合涵蓋了數字、字符等結構化數據、員工簡歷信息這類半結構化數據以及音頻、視頻等非結構化數據,在數據實際處理過程中不但面臨著較高的難度和龐大的任務量,還極大地提高了數據處理能力和效率。
從以上4 個角度著手將大數據和傳統數據處理方式進行對比分析可知,大數據更能滿足地理信息系統在空間數據、海量數據和數據處理快速響應等方面提出的要求,因此在新時代背景下將大數據靈活運用到地理信息系統已成為緊跟時代發展潮流的必然選擇。
由于地理信息系統原本就具有良好的空間數據存儲特點,因此在數據存儲過程中既體現出了非結構化特征,又使其數據呈現出明顯的大數據優勢,也就是所謂的海量數據規模、數據快速流轉以及動態數據體系、多元化數據類型、高速變化的數據模型、高價值低密度和高復雜度的大數據特性。現階段我國市場對地理信息系統提出了迫切需求,尤其體現在空間數據存儲爆炸性增長、數據處理響應速度愈發快捷、數據描述需求逐漸趨于多元化等方面,而這些需求均對地理信息系統的大數據應用提出了嚴格要求。最后,在大數據應用過程中還面臨著地理信息系統在數據傳輸與保護方面的問題,并且大量重復數據的處理也給大數據的應用帶來了一定的挑戰。
盡管地理信息系統在實際應用過程中已可以通過多種渠道對海量空間數據進行集中處理,但在海量空間數據的組織、加工、存儲等技術的應用上仍存在明顯弊端。特別是應用數據處理技術時,非結構化的海量空間數據還與傳統SQL 數據處理技術之間存在一定的矛盾和沖突,在某種程度上弱化了海量空間數據的加工和處理效果,阻礙了數據增值產品的生產進度,這也是限制我國地理信息系統朝著市場化發展的主要原因。在激烈的市場競爭下,由于用戶的現實需求愈發迫切,在地理信息系統空間數據采集過程中必須達到實時更新的目的,還需要在客觀層面上提高數據的計算能力和效率。因此,在地理信息系統中應用大數據既是順應新時代發展趨勢的必然結果,又是推動海量空間數據優化與改革的客觀需要。
盡管GIS 軟件在實際應用過程中可以借由對象關系模型拓展RDBMS 的性能,使其實現對圖形、屬性數據、DEM 數據的并行管理,還能達到多比例尺空間數據存儲的目的。但這種數據存儲方式無法通過當時現有的技術實現,并且這種方式在某種程度上還限制了地理信息系統空間數據的自動綜合能力。與此同時,基于C/S 架構的GIS 系統還會受到自身封閉性的影響,使其數據共享能力過于薄弱,無法保證批量數據處理后的存儲和同步更新能力,這也是借由大數據存儲方式革新傳統地理信息系統數據存儲方式的主要原因。
在數據信息存儲過程中,傳統數據處理方式主要是通過RDBMS 進行存儲,而大數據處理方式是以NoSQL為主,這也是2 種數據處理方式存在差別的根本原因。傳統數據處理方式中的RDBMS 在結構化數據存儲方面具有明顯優勢,但大數據處理方式可以有效應對非結構化數據與半結構數據化的存儲問題,并且利用大數據進行數據存儲時還可以實現分布式計算集群或分布式數據庫等多種方式,而這種數據庫存儲形式就是所謂的NoSQL云存儲技術。實際上,盡管傳統RDBMS 也包含了分布式數據庫,但其仍以結構化數據為主,并且還有著較高的精確度和一致性要求,在一定程度上弱化了其拓展功能。而NoSQL 存儲技術則并不過多地要求精確度和一致性,在功能拓展方面也有著明顯優勢[2]。
相比于RDBMS,NoSQL 的連接特性并不強,因此在NoSQL 數據存儲過程中其有著良好的可延展性,極大地提高了數據存儲模型的靈活多樣性,還節約了數據存儲和更新過程中可能產生的開銷。例如,MongoDB 存儲方式就是將RDBMS 中“行”的概念用“文檔”模型進行替換,以此為文檔數據庫管理奠定了良好基礎,使其存儲形式達到了多元化和可兼容的目的,還形成了良好的拓展性功能。實際上這種文檔形式的替換為數據存儲過程中數組或文檔的嵌套創造了良好的先決條件,真正意義上實現了復雜層次關系單一存儲記錄的目的。與此同時,這種存儲方式下的數據還具有結構松散的特點,有效提高了該數據存儲模型的靈活性和多樣性,還極大地簡化了其數據模型的復雜層次關系,使得復雜屬性下的數據查詢和索引功能有著良好的簡便性,真正為RDBMS 查詢功能的實現提供了大力支持。
基于此,文檔型NoSQL 存儲技術才能真正滿足地理信息系統對空間數據的存儲需求,還能有效避免地理信息系統應用傳統數據存儲方式時面臨的各種問題,如海量空間數據存儲過程中產生的數據壓縮與轉換系統開銷。因此,依托于全新的數據存儲方式可以有效提高地理信息系統在數據讀取和同步更新方面的效率。
傳統空間數據庫利用地理信息系統提高數據處理的響應速度時,通常需要構建多種比例尺的空間數據庫,并結合實際應用需求調整比例尺數據庫中的數據,但這種數據處理方法在實際應用過程中,無法滿足地理信息系統對數據處理的要求,并且其矢量數據的綜合能力也有所欠缺[3]。但在大數據時代背景下,利用大數據交互式數據處理方式就能有效解決地理信息系統在空間數據處理方面的問題。
3.2.1 大數據交互處理方式
大數據交互處理方式指依托于人機交換及時處理和調整相關數據信息,并將處理結果實時共享給用戶。目前現有的大數據交互處理系統主要由Dremel 和Spark 組成。其中Spark 系統指高效分布式計算系統,這種系統的性能遠高于Hadoop 系統的數據處理效率,還有著性能優良的API。最重要的是,Spark 的代碼也較為簡潔,但Hadoop 若想表達出相同的功能代碼,還需要付出超十倍甚至百倍的代碼長度。與此同時,Dremel 還能以秒為單位快速處理PB 級別的海量數據,利用上千個規模的集群共同組建完成。實際上Dremel 的設計原本就是基于MapReduce 衍生而來的,因此其有著優越的規模和交互查詢能力。此外,Dremel 同步處理半結構化與非結構化數據時,通常需要以嵌套式數據模型為基礎進行處理。
3.2.2 大數據列式存儲
Dremel 系統主要是通過列式存儲的方式保護相關數據信息,其在數據分析和處理過程中,只需要針對某些數據進行集中處理,這種方式極大地減少了磁盤及CPU 的訪問量。與此同時,在實際應用過程中還可以將Dremel與Web 搜索、DBMS 技術進行有機融合,依托于Web 搜索中的“查詢樹”這一功能,就能有效分割查詢搜索中的龐大數據庫,并將其科學分布到各個批量節點上,以此提高數據查詢處理的簡便性。例如,以HBase 為基礎的嵌套式數據存儲系統,就是基于HBase 原有的分布式存儲構架,充分發揮其可用性強、延展性良好的優點。利用HMaste 對數據存儲系統進行管理時,還可以將HRegion-Server 作為載體對每個子節點進行數據存儲管理,同時優化原有的列式存儲格式,以此構建成全新的嵌套式數據存儲格式。而基于Dremel 的嵌套式數據存儲文件格式還能達到數據持久化的目的。另一方面,以HBase 為基礎的嵌套式數據存儲系統中的存儲和讀取模塊還有著良好的讀寫功能,使讀寫模塊中的查詢功能發揮出明顯優勢。實際上這種交互式數據處理方法還優化了查詢功能和分片存儲數據功能,從整體上提高了海量數據的處理效率。
綜上所述,傳統地理信息系統主要是通過列式存儲Dremel 嵌套式模型來存儲多比例尺數據庫,利用類似于Web 搜索的數據處理方法查詢與整合分片數據,以此充分滿足數據的實際處理需求,進而有效優化與處理空間數據,節約數據搜索的系統開銷,最大限度地提高了地理信息系統的響應速度。
隨著現代科技手段的日益完善,大數據技術逐漸在各行業領域中得到了廣泛應用,因而在地理信息系統中科學運用大數據已成為迎合新時代發展需要的必然選擇。在地理信息系統中正式應用大數據前,還需要從數據存儲和數據處理兩方面著手,研究地理信息系統應用過程中存在的實際問題,并在此基礎上依托于大數據存儲方式革新地理信息系統的數據存儲方式。與此同時,在大數據交互式處理方式的支持下,還可以從地理信息系統的處理和更新兩方面著手對其應用進行創新。