空間數(shù)據(jù)庫引擎的關鍵技術及發(fā)展

周芹,李紹俊,李云錦,馬柳青

(1 中國科學院地理科學與資源研究所,北京 100101;2 中國科學院研究生院,北京 100039; 3 北京超圖地理信息技術公司,北京 100101 )

論文來源:中國地理信息系統(tǒng)協(xié)會第四次會員代表大會暨第十一屆年會論文集

摘要:空間數(shù)據(jù)庫引擎是一種介于應用程序和數(shù)據(jù)庫管理系統(tǒng)之間的中間件技術,是 GIS軟件平臺的核心,主要解決文件管理系統(tǒng)在 GIS 應用中存在的問題和局限性。本文介紹了三種常見的空間數(shù)據(jù)庫引擎體系結(jié)構(gòu),并以 Arc SDE、Oracle Spatial 和 SuperMap SDX+為例對比三種體系結(jié)構(gòu)的特點…

關鍵詞: GIS,空間數(shù)據(jù)庫,空間數(shù)據(jù)庫引擎

1、引言

空間數(shù)據(jù)是 GIS 的基本構(gòu)成之一,GIS 應用領域的推廣、應用系統(tǒng)中數(shù)據(jù)量的急速增長及數(shù)據(jù)來源的多樣性,使得依賴于具體 GIS軟件平臺的文件型數(shù)據(jù)庫不能滿足實際需要,越來越多的 GIS 應用系統(tǒng)采用成熟的商業(yè)數(shù)據(jù)庫來存儲空間數(shù)據(jù)。

空間數(shù)據(jù)庫引擎是一種處于應用程序和數(shù)據(jù)庫管理系統(tǒng)之間的中間件技術,在用戶和異構(gòu)空間數(shù)據(jù)庫之間提供開放接口。用戶通過空間數(shù)據(jù)庫引擎將不同形式的空間數(shù)據(jù)提交給數(shù)據(jù)庫管理系統(tǒng)(DBMS),由 RDBMS 統(tǒng)一管理;也可以通過空間數(shù)據(jù)庫引擎從 DBMS 中獲取空間類型的數(shù)據(jù),并轉(zhuǎn)化為客戶可以使用的格式。因此,DBMS 實質(zhì)上是形式各異的空間數(shù)據(jù)的容器,而空間數(shù)據(jù)庫引擎就是空間數(shù)據(jù)出入該容器的通道。

自 1995 年 ESRI 發(fā)布 ArcSDE1.0 以來,各 GIS 平臺紛紛推出自己的空間數(shù)據(jù)引擎,各大數(shù)據(jù)庫廠商也意識到支持空間數(shù)據(jù)的重要性,在原有關系數(shù)據(jù)庫的基礎上開發(fā)了空間擴展模塊以支持空間數(shù)據(jù)的存儲和操作??臻g數(shù)據(jù)庫引擎是與 GIS 平臺或者數(shù)據(jù)庫緊密結(jié)合的,在體系結(jié)構(gòu)上必然存在差異,本文提取三種典型結(jié)構(gòu)并以 Oralce Spatial、ArcSDE 和SuperMap SDX+為代表進行對比分析,并提出空間數(shù)據(jù)庫引擎實現(xiàn)的關鍵技術和發(fā)展方向。

2、空間數(shù)據(jù)庫引擎研究現(xiàn)狀

各種空間數(shù)據(jù)庫引擎在本質(zhì)上都是通過利用和擴展符合工業(yè)技術標準的 RDBMS 的數(shù)據(jù)類型和功能,來實現(xiàn)空間數(shù)據(jù)在數(shù)據(jù)庫中的物理存儲。為了支持異構(gòu)平臺的訪問和互操作,各種幾何類型都遵循 OGC 等國際標準。借助 RDBMS 的強大功能,空間數(shù)據(jù)引擎實現(xiàn)了“矢量-柵格”一體化存儲,數(shù)據(jù)完整性和一致性的維護,提供嚴格的規(guī)則/有效性檢查,支持長事務處理和版本管理,用戶權(quán)限管理和數(shù)據(jù)安全機制,并可實現(xiàn)分布式存儲和用戶透明的分布式數(shù)據(jù)庫操作。

2.1 空間數(shù)據(jù)庫模型

理論上空間數(shù)據(jù)庫模型有:混合數(shù)據(jù)庫模型(Hybrid Model)、統(tǒng)一數(shù)據(jù)模型(Integrated Model)、擴展結(jié)構(gòu)模型(Extended Model)、面向?qū)ο竽P?Object-Oriented Model)和時空數(shù)據(jù)模型(Spatial-Temporal Model)。隨著各種商業(yè)數(shù)據(jù)庫的發(fā)展,目前在 GIS 領域中應用比較成熟的是統(tǒng)一數(shù)據(jù)模型、混合數(shù)據(jù)模型和擴展結(jié)構(gòu)模型。

混合數(shù)據(jù)庫模型把空間數(shù)據(jù)和屬性數(shù)據(jù)分開存儲:空間數(shù)據(jù)及其拓撲關系存放在文件

中,屬性數(shù)據(jù)存放在關系數(shù)據(jù)庫中,二者通過唯一的標識符建立聯(lián)系。SuperMap 的 SDB 和MapInfo 的Table 格式采用的都是混合模型。混合模型適用于小型 GIS應用系統(tǒng),無法應對海量空間數(shù)據(jù)的處理,同時,數(shù)據(jù)的安全性、一致性難以保證,基于文件的存儲系統(tǒng)也難以實現(xiàn)多用戶并發(fā)操作。

統(tǒng)一數(shù)據(jù)模型是一種純關系數(shù)據(jù)模型,空間數(shù)據(jù)和屬性數(shù)據(jù)都用關系數(shù)據(jù)庫的二維關系表來存儲,使用標準關系連接機制建立空間數(shù)據(jù)與屬性數(shù)據(jù)的關聯(lián)。國內(nèi) SuperMap SDX+和國外 ESRI 的Arc SDE、MapInfo的 SpatialWare 均采用了統(tǒng)一數(shù)據(jù)模型。統(tǒng)一數(shù)據(jù)模型易于與數(shù)據(jù)庫現(xiàn)有的功能相結(jié)合,保證數(shù)據(jù)的安全性;由于空間數(shù)據(jù)和屬性數(shù)據(jù)都用關系表存儲,數(shù)據(jù)的一致性容易維護,“空間數(shù)據(jù)-屬性數(shù)據(jù)”一體化存儲和“矢量-柵格”一體化都較容易實現(xiàn);數(shù)據(jù)庫提供的并發(fā)控制機制也可以用于空間數(shù)據(jù)的多用戶并發(fā)操作。

更多內(nèi)容請查看pdf