ArcSDE中介軟體技術的生命力

2021-06-16 01:57:18 字數 2419 閱讀 2174

arcsde中介軟體技術的生命力

把arcsde的技術看成是一種對於空間資料管理而言可有可無的「雞肋」,實際上是一種簡單化的、 「形上學」的觀點。持該觀點的思維邏輯是:既然arcsde和oracle spatial都是用於儲存空間資料,那有了oracle還要arcsde何用?顯然,該邏輯的前提是將arcsde和oracel 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)頒布的規範(****** 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只是先行了一步。

ArcSDE中介軟體技術的生命力

把arcsde的技術看成是一種對於空間資料管理而言可有可無的 雞肋 實際上是一種簡單化的 形上學 的觀點。持該觀點的思維邏輯是 既然arcsde和oracle spatial都是用於儲存空間資料,那有了oracle還要arcsde何用?顯然,該邏輯的前提是將arcsde和oracle spatial...

中介軟體的生命週期

django 中的中介軟體 middleware 在django中,中介軟體其實就是乙個類,在請求到來和結束後,django會根據自己的規則在合適的時機執行中介軟體中相應的方法。在django專案的settings模組中,有乙個 middleware classes 變數,其中每乙個元素就是乙個中介...

訊息中介軟體的技術選型

rabbitmq activemq和zeromq都是極好的訊息中介軟體,但是我們在專案中該選擇哪個更適合呢?很多開發者面臨這個煩惱。下面我會對這三個訊息中介軟體做乙個比較,看了後你們就心中有數了。rabbitmq是amqp協議領先的乙個實現,它實現了 broker 架構,意味著訊息在傳送到客戶端之前...