程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> ArcSDE中間件技術的生命力

ArcSDE中間件技術的生命力

編輯:關於SqlServer

把ArcSDE的技術看成是一種對於空間數據管理而言可有可無的“雞肋”,實際上是一種簡單化的、“形而上學”的觀點。持該觀點的思維邏輯是:既然ArcSDE和Oracle Spatial都是用於存儲空間數據,那有了Oracle還要ArcSDE何用?顯然,該邏輯的前提是將ArcSDE和Oracle Spatial等同起來。錯誤的前提導致了無效的結論。而導致前提出錯的根源,除了非技術的(或者說商業的)原因之外,主要還是對ArcSDE本身以及空間數據管理技術及其發展趨勢缺乏深入了解。

首先,ArcSDE和Oracle Spatial的定位不同。Oracle Spatial強調或關心的是使ORACLE DBMS所管理的數據庫能夠“空間化(spatially enabled)”,實際上是在原來的數據庫模型上進行了空間數據模型的擴展。同樣的工作,除Oracle外,IBM的DB2和Informix也在做,分別有其Spatial Extender和Spatial Datablade技術。它們的定位應該說是基本一致的。與DBMS廠商不同,ESRI的ArcSDE的定位則是空間數據的管理及應用,而非簡單的數據庫空間化。也正是由於定位的不同,Oracle Spatial實現的僅僅是“點、線、面”等簡單空間要素的存儲和檢索,而ArcSDE則除此之外還能管理面向對象的注記、平面拓撲、線性拓撲、柵格(影像)數據、CAD數據等,同時提供基於版本管理的工作流和長事務處理機制。定位的不同,使得ArcSDE和Oracle Spatial的數據模型、實現技術及客戶端應用都存在相當的錯位,對於用戶而言,二者就不是“非此即彼”、“非0則1”的互斥之選了。很能說明問題的事實是:Oracle、IBM、INFORMIX(現在Informix已被IMB並購)等DBMS廠商都是ESRI的合作伙伴,在空間數據管理技術的開發上都與ESRI有較為深層次的合作,ESRI在其中貢獻的是其對空間數據管理及應用的深厚底蘊。ESRI和DBMS廠商間是一種各施其長、互惠互利的合作關系.

其次,就空間數據物理模型而言,ArcSDE和Oracle Spatial支持的共五種:
A. 壓縮二進制LONG RAW;(ArcSDE 支持)
B. 壓縮二進制LOB;(ArcSDE支持)
C. 對象相關VARRAY;(Oracle 支持)
D. OGC空間類型;(ArcSDE支持)
E. 規范化存儲。(Oracle支持)

其中,ArcSDE支持的三種格式要麼與OGC(OpenGIS Consortium)頒布的規范(Simple Feature Specification for SQL)一致(d), 要麼完全含蓋了OGC的規范,並作了相當的擴展。而Oracle所支持的兩種格式都與OGC規范不全相容。這自然會影響到今後完全基於該平台的GIS系統的數據共享和互操作性。而數據共享和系統互操作性是GIS平台本身及其應用發展的關鍵趨勢。

第三、上面提到的空間數據的五種物理實現方式的訪問效率從高到低依次為:a、b、c、d、e。ArcSDE的方式效率是最高的。因為要解決面向多用戶並發訪問的海量空間數據管理和驅動,效率始終是ArcSDE重點考慮的問題。

四、Oracle的對象相關VARRAY方式是所謂的“白箱”,即數據對象所“包裹”的內容是可以直接訪問和操縱的。而ArcSDE的方式則是所謂的“黑箱”,客戶端不能直接在數據庫表一級直接操作底層數據對象結構中的內容。“白箱”的好處是其客戶端可以直接通過SQL訪問數據,這也是許多GIS廠商在空間數據管理上避重就輕而直接依賴於Oracle Spatial的原因之一。但正因為如此,數據的一致性成了問題。DB2和Infomix似乎都看到了問題所在,所以也摒棄了“白箱”的模式。

從上面四點可以看出,ArcSDE並非因為有了Oracle Spatial就成了多余的東西。相反,對於那些不僅僅滿足於將空間數據找個地方存起來的應用,考慮ArcSDE是更合理的選擇。

ArcSDE相對於其所選用的DBMS而言,是扮演了一個“中間件”的角色。為什麼需要中間件?就是因為沒有一種數據庫平台可以在不同操作系統、不同級別、不同領域的應用中“大包大攬”一統天下。而不同的DBMS在數據模型、物理實現等諸多方面都存在很大差異,要彌合這些差異,靠DBMS廠商自身是不可能解決問題的。DBMS廠商當然希望能一統天下,但事實證明,在充分競爭的商業環境裡,在可見的將來這是不可能做到的。數據庫領域如此、其它如電子商務領域也同樣如此。那解決之道何在?答案是:中間件。通過中間件的作用,將不同的操作系統平台和數據庫平台的差異之處屏蔽在中間件之後,將面向特定領域(如空間數據管理及應用)所需的技術高度專業化地實現出來,供不同的客戶端高效地共享和互操作。

當然,DBMS不能一統天下,作為空間數據服務器的ArcSDE也不能。在當前除ESRI以外的GIS廠商尚未推出強有力的類似ArcSDE的“中間件”之際,諸多GIS廠商對空間數據管理“中間件”的攻擊實出無奈。但是,信息化社會須以消除信息孤島為必要條件,而要各信息之島間能夠互聯互通互操作,要麼把信息平台全都統一,要麼以某種方式將不同的平台溝通起來,針對不同的領域,各自建立面向應用的虛擬空間及界面。前者不可能,後者則正在由各色各樣的“中間件”擔綱領銜。“中間件”在電子商務和其它互聯網應用中正在大行其道(全球產值已逾700億美元),在空間數據管理領域,ArcSDE只是先行了一步。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved