盧嵐 劉牛 劉興權
摘 要 本文給出了京杭運河文化遺產數據庫的物理存儲設計,對安全共享原則做了強調。
關鍵詞 GIS 文化遺產 空間數據庫 安全共享
一、引言
利用“數字地球”理念,基于現代空間信息技術開展歷史文化遺產保護領域的應用研究,已經成為當前歷史文化遺產保護工作的重點。可以預見,隨著信息化的不斷深入發展,國家對歷史文化遺產的保護力度將不斷加大,空間信息技術的需求也將不斷增加,其應用深度和廣度上都將有廣闊的發展空間。本文以京杭運河為例,給出了大遺址空間數據庫物理存儲設計。
二、京杭運河文化遺產保護物理存儲設計
(一)空間數據庫文件設計
數據的存儲,邏輯上是以數據庫中表空間的形式實現,物理上是以數據文件的方式實現,[1]每個數據文件只能屬于一個表空間,并且數據文件一旦加入到某個表空間后就不能再從這個表空間中刪除,也不能和其他表空間關聯。數據庫中的所有對象和數據最終都存放到了數據文件中,如表和表中的數據、視圖、存儲過程等。因此,數據文件的管理將直接影響數據庫的性能。
數據庫數據文件設計時要從以下幾個方面考慮:把不同表空間的數據文件分別放在不同的磁盤上以減少I/O競爭,必要時也要把同一表空間的不同數據文件放在不同的磁盤上;數據文件和日志文件放在不同的磁盤上,避免讀寫數據和寫日志文件的I/O競爭;考慮數據文件的個數與大小因素:從Oracle的性能來講,少量的大數據文件要優于大量的小數據文件,操作系統通常會限制每個進程可以同時打開的文件數目,Oracle數據庫系統也會限制每個數據庫實例可打開的數據文件的數量;把訪問頻率高的數據文件放在高性能存儲設備上,把訪問頻率較低的數據放在性能相對較低的存儲設備上。在保證高訪問次數基礎上,減少整個數據庫物理設備的開支。
綜合考慮上述因素,京杭運河文化遺產保護數據庫的各子庫的表空間在設置數據文件時,應考慮到基礎地理數據子庫中可能會出現單個的大數據文件,如拼接的遙感影像,所以可采用大數據文件,以減少數據文件的數量。對于文化遺產專題子庫中,除了遺址矢量數據外,基本都是二維關系表,因此可人為設置多個數據文件,并根據數據量的大小設置數據文件的數量和大小,以滿足存儲需求。在物理文件的存放上,把基礎地理歷史數據庫、基礎地理現狀數據庫、遺址專題數據庫的表空間數據文件放在不同的磁盤中,同時各數據子庫的控制文件、日志文件在存放時也要避免跟數據文件放在同一磁盤中,以達到減少I/O沖突的目的,實現數據的快速存取。其中,遺址專題數據庫和基礎地理現狀數據庫的訪問頻率遠遠高于基礎地理歷史數據的訪問頻率。因此,將遺址專題數據庫和基礎地理現狀庫的數據存儲在高性能的存儲設備上,而基礎地理歷史數據庫則可存放在性能相對較差的存儲設備中。
(二)空間數據庫安全設計
對于基礎數據子庫而言,一旦質檢無誤入庫之后,一般無需進行數據修改。因此,除了超級管理員有修改、拷貝和更新的權限之外,其他的用戶都無權進行修改、拷貝和更新,只有查看的權限。對于文化遺產專題數據,在本項目中,是由清華大學負責專題數據的處理和入庫,各省市提交各種調查資料。但考慮到日后運河文化遺產數據的更新和維護工作,可能會下放到各省市的文物中心,所以,在進行數據庫安全考慮時,應根據遺址所屬的省市來進行控制,各省市的不同用戶只對自己本省市的運河文化遺產有修改、更新和刪除的權限,對其他省市的文化遺產只有查看的權限。各省市對各數據的控制權限,主要是通過對前臺各系統用戶設置不同的權限來實現對數據庫的操作權限的控制。但各省市在進行數據維護時仍保留歷史記錄,超級管理員有權限對修改錯誤的文化遺產進行恢復,保證數據在維護過程中不出現錯誤。
(三)數據的備份與恢復
為了保證故障發生后,數據庫中的數據能從錯誤狀態恢復到某種邏輯一致的狀態,可利用ArcSDE提供的管理功能和關系型數據庫管理系統中的備份/恢復子系統來共同實現數據的多目的備份。按照備份的對象來分,備份可分為重點備份和整體備份;按照備份的時間方式來分,又可分為實時備份和定時備份。前者可以通過ArcSDE提供的備份恢復方式來實現:指定空間數據對象的備份恢復和整體空間數據庫的備份恢復。后者則可利用關系數據庫Oracle10g提供的備份和恢復技術來實現。
對于京杭運河文化遺產基礎地理歷史和現狀數據子庫,由于數據的變動不大,可采用定時整體備份的方式。同時,可以將數據備份到離線的磁帶上。且備份的數據跟正在使用的數據放在不同的磁盤中。這樣,即使發生任何不可抗力,整個在線數據都被破壞的情況下,也能夠有安全的備份數據,不至于失去所有數據。對于數據庫的整體備份大都可以分為靜態轉儲和動態轉儲兩個類型。靜態轉儲是在系統中無事務處理時進行的轉儲操作,因而這種方式得到的一定是一個數據一致性的副本。靜態轉儲的優點是操作簡單,保證數據一致性,缺點是轉儲操作必須等待用戶事務結束才能進行,而新的事務必須等待轉儲操作結束才能執行,所以會降低數據庫的可用性。動態轉儲,是指轉儲操作與用戶事務并發進行,轉儲期間允許數據庫進行存取和修改操作,它不必等待所有運行的事務結束,也不會影響新事務的運行,但是無法保證副本中的數據正確、有效、完整。所以在動態轉儲期間,往往會建立日志文件。后備文件加上日志文件就可以把數據庫恢復到正常狀態。對于京杭運河文化遺產保護基礎地理歷史數據子庫而言,訪問相對較少,而其變更也不大,不需經常備份,因此可以采用靜態轉儲的方式進行備份,以保證備份數據的正確性、有效性和完整性。對于京杭運河文化遺產保護基礎地理現狀子庫,則可采用靜態轉儲和動態轉儲相結合的方式,按照一定的時間間隔。比如2年進行一次靜態轉儲,每半年再進行一次動態轉儲。
對于京杭運河專題數據,在采用整體備份的同時,對某些特別重要的數據或變更后的數據要重點備份。在進行重點備份時,可指定要備份的數據對象,如某個圖層要素類、某些滿足特定條件的記錄,甚至特定的版本。實現這種備份方式的方法主要是利用ArcSDE提供的管理工具:sdexport和sdeimport命令。其中,sdeexport用于將空間數據從ArcSDE Server上備份為單獨的數據文件,而sdeimport用于將經由sdeexport備份的數據文件恢復到ArcSDE中。
三、結語
本文給出了京杭運河文化遺產數據庫的物理存儲設計,具體談了文件設計、安全設計和數據的備份與恢復等問題,希望能為日后大遺址空間數據庫建設提供參考。
(盧嵐單位為長沙環境保護職業技術學院;劉牛單位為長沙市規劃信息服務中心;劉興權單位為中南大學地學與環境工程學院)
[作者簡介:盧嵐(1983—),女,湖南城步人,碩士研究生,畢業于中南大學,講師,研究方向:地理信息系統。劉牛(1987—),男,湖南長沙人,本科,畢業于中南大學,助理工程師,主要從事信息技術在城鄉規劃中的應用工作。劉興權(1962—),男,湖北天門人,碩士研究生,畢業于中南工業大學,教授,主要從事GIS專業教學及GIS工程與應用方面的工作。基金項目:本文系國家科技支撐計劃項目“空間信息技術在大遺址保護中的應用研究——以京杭大運河為例”,編號:2006BAK30B01。]
參考文獻
[1] 路川,胡欣杰,何楚林.Oracle 10g DBA寶典[M].電子工業出版社,2007.
[2] 李明明,王勇,等.基于GIS的秦始皇陵兵馬俑文物保護數據庫研究[J].寶雞文理學院學報(自然科學版),2007,27(3):246-248.
[3] 肖鳴.基于Geodatabase的空間數據庫系統設計與實現[D].武漢:武漢大學,2005.