( 1 中國(guó)科學(xué)院地理科學(xué)與資源研究所, 北京 100101; 2 北京超圖地理信息技術(shù)公司, 北京 100101 )
論文來(lái)源:地球信息科學(xué)
摘要:Oracle Spatial 是目前發(fā)展得比較成熟的對(duì)象關(guān)系型空間數(shù)據(jù)庫(kù)存儲(chǔ)模型, 它實(shí)現(xiàn)了空間數(shù)據(jù)與屬性數(shù)據(jù)的一體化存儲(chǔ), 可以定義特定的數(shù)據(jù)類型, 具有開放的存儲(chǔ)格式, 為 GIS 數(shù)據(jù)共享提供新的解決方案; 但由于其采用擴(kuò)展結(jié)構(gòu)的空間數(shù)據(jù)庫(kù)模型, 對(duì)空間數(shù)據(jù)進(jìn)行間接存取, 數(shù)據(jù)存儲(chǔ)和…
關(guān)鍵詞: 緩存; oracle Spatial; 空間數(shù)據(jù)庫(kù)
1 引言
空間數(shù)據(jù)是 GIS 的重要組成部分。Oracle Spa-tial 是目前發(fā)展得比較成熟的對(duì)象關(guān)系型數(shù)據(jù)存儲(chǔ)模型, 很多 GIS 應(yīng)用系統(tǒng)都將其作為后臺(tái)數(shù)據(jù)存儲(chǔ)系統(tǒng)存放 GIS 數(shù)據(jù)。Oracle Spatial 與傳統(tǒng)的數(shù)據(jù)庫(kù)存儲(chǔ)模型相比優(yōu)勢(shì)主要表現(xiàn)在 : ( 1) Oracle Spatial的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)是開放的, 它明確定義并公開了空間數(shù)據(jù)的邏輯結(jié)構(gòu), 使得基于 Oracle Spatial 的 GIS空間數(shù)據(jù)共享成為可能, 為 GIS 空間數(shù)據(jù)共享提供了新的解決方案; ( 2) 空間數(shù)據(jù)與屬性數(shù)據(jù)的一體化存儲(chǔ), 空間數(shù)據(jù)和屬性數(shù)據(jù)的操作在 SQL 一級(jí)可以任意地有機(jī)結(jié)合。
但是這種擴(kuò)展結(jié)構(gòu)模型的空間數(shù)據(jù)庫(kù)對(duì)空間數(shù)據(jù)訪問(wèn)是間接的, 效率比較低; 作為客戶端應(yīng)用程序, 從數(shù)據(jù)庫(kù)獲取的 MDSYS.SDO_GEOMETRY對(duì)象一般需要解析成特定的數(shù)據(jù)格式; 而且 Oracle Spatial 的數(shù)據(jù)訪問(wèn)接口( 如 OCI, Oracle Connection Interface) 不具備一次性獲取多條記錄的能力, 只能逐條獲取記錄, 加重了服務(wù)器負(fù)擔(dān)和網(wǎng)絡(luò)負(fù)載, 延長(zhǎng)了客戶端等待時(shí)間。在 GIS 中數(shù)據(jù)的獲取是后期查詢、顯示、分析和處理的基礎(chǔ) , 面對(duì) GIS 海量數(shù)據(jù), 數(shù)據(jù)訪問(wèn)效率的問(wèn)題必須解決。本文旨在研究空間數(shù)據(jù)庫(kù)緩存的關(guān)鍵技術(shù)及應(yīng)用。
2 擴(kuò)展結(jié)構(gòu)空間數(shù)據(jù)庫(kù)模型的應(yīng)用分析
實(shí)際應(yīng)用中, 數(shù)據(jù)量的急劇增長(zhǎng)、對(duì)數(shù)據(jù)安全性、一致性等的要求, 基于傳統(tǒng)文件(Flat File)方式管理空間數(shù)據(jù)越來(lái)越不能滿足 GIS 應(yīng)用的需求。利用數(shù)據(jù)庫(kù)系統(tǒng)( DBMS) 來(lái)存儲(chǔ) GIS 數(shù)據(jù), 建立空間數(shù)據(jù)庫(kù)系統(tǒng)成為必然趨勢(shì)。
2.1 空間數(shù)據(jù)庫(kù)模型
理論上空間數(shù)據(jù)庫(kù)模型有: 混合數(shù)據(jù)庫(kù)模型( Hybrid Model) 、統(tǒng)一數(shù)據(jù)模型( Integrated Model) 、擴(kuò)展結(jié)構(gòu)模型 ( Extended Model) 、面向?qū)ο竽P? Object- Oriented Model) 和時(shí)空數(shù)據(jù)模型( Spatial-Temporal Model) 。隨著各種商業(yè)數(shù)據(jù)庫(kù)的發(fā)展, 目前在 GIS 領(lǐng)域中應(yīng)用比較成熟的是統(tǒng)一數(shù)據(jù)模型、混合數(shù)據(jù)模型和擴(kuò)展結(jié)構(gòu)模型。
混合數(shù)據(jù)庫(kù)模型把空間數(shù)據(jù)和屬性數(shù)據(jù)分開存儲(chǔ): 空間數(shù)據(jù)及其拓?fù)潢P(guān)系存放在文件中, 屬性數(shù)據(jù)存放在關(guān)系數(shù)據(jù)庫(kù)中, 二者通過(guò)唯一的標(biāo)識(shí)符建立聯(lián)系。SuperMap 的 SDB 和 MapInfo 的 Table 格式采用的都是混合模型。
統(tǒng)一數(shù)據(jù)模型是一種純關(guān)系數(shù)據(jù)模型, 其空間數(shù)據(jù)和屬性數(shù)據(jù)都用關(guān)系數(shù)據(jù)庫(kù)的二維關(guān)系表來(lái)存儲(chǔ), 使用標(biāo)準(zhǔn)關(guān)系連接機(jī)制建立空間數(shù)據(jù)與屬性數(shù)據(jù)的關(guān)聯(lián)。SuperMap SDX+和 ESRI 的 Arc SDE均采用了統(tǒng)一數(shù)據(jù)模型。
擴(kuò)展結(jié)構(gòu)模型采用統(tǒng)一的 DBMS 存儲(chǔ)幾何數(shù)據(jù)和屬性數(shù)據(jù), 與統(tǒng)一數(shù)據(jù)模型不同的是, 它在標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)上增加幾何管理層, 也可稱為對(duì)象- 關(guān)系模型。
Oralce Spatial 采用擴(kuò)展結(jié)構(gòu)模型, 作為 Oracle管理空間數(shù)據(jù)的插件, 是 Oracle 在原有純關(guān)系數(shù)據(jù)庫(kù)基礎(chǔ)上增加的空間數(shù)據(jù)管理層。
2.2 擴(kuò)展結(jié)構(gòu)模型的應(yīng)用問(wèn)題
擴(kuò)展結(jié)構(gòu)模型雖然省去了混合數(shù)據(jù)模型中空間數(shù)據(jù)和屬性數(shù)據(jù)繁瑣的連接, 也避免了統(tǒng)一數(shù)據(jù)模型中數(shù)據(jù)類型定義的局限性, 可以定義特定的空間數(shù)據(jù)類型, 但是由于通過(guò)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)之上的空間數(shù)據(jù)管理層對(duì)空間數(shù)據(jù)進(jìn)行間接操作, 其數(shù)據(jù)存儲(chǔ)和訪問(wèn)的效率比較低, 在訪問(wèn)大數(shù)據(jù)量空間數(shù)據(jù)時(shí)表現(xiàn)得尤為明顯。
( 1) Oracle Spatial 的數(shù)據(jù)存儲(chǔ)機(jī)制。Oracle Spatial 實(shí)現(xiàn)了空間數(shù)據(jù)和屬性數(shù)據(jù)的一體化存儲(chǔ),使兩者數(shù)據(jù)存放在一張二維數(shù)據(jù)表中。幾何對(duì)象存儲(chǔ) 為 MDSYS.SDO_GEOMETRY 類 型 。 SDO_GE-OMETRY 通過(guò)存儲(chǔ)實(shí)體的類型、參數(shù)化對(duì)象的控制點(diǎn)或者非參數(shù)化對(duì)象的坐標(biāo)點(diǎn)來(lái)描述一個(gè)幾何對(duì)象, 可以表現(xiàn)為點(diǎn)、線、多邊形、復(fù)合對(duì)象等 GIS 中常用的空間數(shù)據(jù)類型, 也可描述多維信息; 幾何對(duì)象對(duì)應(yīng)的屬性數(shù)據(jù)存放在同一條記錄的其他列。
( 2) Oracle Spatial 中用 SDO_GEOMETRY 對(duì)象存儲(chǔ)空間數(shù)據(jù), 而不是直接把空間數(shù)據(jù)以二進(jìn)制塊的形式存放在關(guān)系數(shù)據(jù)庫(kù)中, 雖然實(shí)現(xiàn)了數(shù)據(jù)存儲(chǔ)格式的透明化, 任何客戶端應(yīng)用程序都可以從數(shù)據(jù)庫(kù)中讀取空間數(shù)據(jù), 但是服務(wù)器和客戶端存取數(shù)據(jù)時(shí)都存在對(duì)空間數(shù)據(jù)的構(gòu)造和解析的過(guò)程, 這種間接操作有損效率。且由于 Oracle Spatial 的客戶端數(shù)據(jù)訪問(wèn)接口不具備從服務(wù)器端批量地獲取記錄的能力, 只能逐條取出, 對(duì)服務(wù)器的訪問(wèn)頻繁, 且增加了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)和客戶端的等待時(shí)間。因此Or-acle Spatial 的數(shù)據(jù)訪問(wèn)能力成為影響其在 GIS 領(lǐng)域廣泛應(yīng)用的重要因素。
更多內(nèi)容請(qǐng)查看pdf