溫偉強
摘 要 Oracle分布式數據庫是一個C/S體系結構的系統。在客戶眼中所面對的只是一臺計算機,但是卻是分布在整個網絡上的服務器為其提供服務。因此了解Oracle分布式數據庫和對其應用進行研究具有非常廣闊的前景。
【關鍵詞】Oracle 分布式數據庫 應用研究
1 Oracle分布式數據庫的現狀
Oracle分布式數據庫是目前最主流的C/S或B/S體系結構的數據庫,同時也是世界上使用最多、范圍最廣的數據庫之一。
Oracle分布式數據庫是由若干個服務器組成,其中每個服務器間都擁有自己的數據庫及其數據庫管理系統,它們通過網絡連接到一起,從物理結構上看是分布式的,但從邏輯結構上看是屬于同一系統的,而客戶的實際體驗也和同一個系統無異。
(1)訪問完全透明。因為分布式數據庫是屬于同一系統的,所以用戶訪問數據庫時,不需關心、也不用去關心具體的數據庫所在的位置,只需關心能夠像訪問本地計算機一樣去訪問就可以了。只要所使用的計算機聯網,知道如何去搜索數據,那么數據就和在眼前沒有任何分別,整個的訪問過程也是透明的。
(2)分布式處理事務與管理控制。遠程訪問數據時,要經過多個服務器處理,才能將數據返回到本地計算機中。而多個站點相互協作處理提交的作業,可以充分利用多臺主機的處理能力,合理分配網絡上的計算機資源,達到性能優化的目的。允許分布在不同區域的人員對其自身的數據庫進行控制。
(3)均衡網絡負載和響應時間加快。分布式數據庫中,能夠保存遠程數據的備份,這樣下次進行訪問時就不需再次連接到遠程服務器上,而是在本地備份上就能夠直接訪問資源,減少了網絡流量,均衡了網絡負載。當讀取的數據在本地計算機中時,就可以由用戶所使用的計算機執行,響應時間更快。讀取數據時,客戶端可以從多個服務器中讀取,優先選擇響應最快的服務器,從而提高了數據訪問速度。
(4)高可靠性,可用性好。分布式數據庫由于由若干個站點構成,因此出現故障時也只會在局部幾個站點出現故障,而不會影響到所有站點。從這點上能夠看出,分布式數據庫比傳統數據庫的可靠性更高。從原有數據庫的基礎上進行擴展就可以形成一個分布式數據庫,這比重建一個新的數據庫系統要簡單、容易很多。這樣不僅節約了投資成本,也提高了對原有數據庫的利用率,降低了因為新建數據庫造成的數據丟失、損壞等現象發生的可能性。
2 Oracle分布式數據庫存在的問題
(1)安全性和保密性。由于本地計算機用戶知道遠程數據庫用戶的口令,且本地用戶通過訪問遠程表,就可以賦予和遠程表擁有者相同的權限,可以對數據進行隨意的修改、破壞。分布式數據庫的數據是存放在不同地區的不同計算機上,通過網絡來實現控制,人為攻擊數據庫,如黑客入侵等引起的安全問題,數據共享過程中存在的安全隱患以及網絡本身就存在安全性和保密性較低的特點,因此存放的數據安全性得不到保障。
(2)故障率高。因為數據幾乎全部都分布在遠程網絡上,想要進行讀取時也必須通過遠程網絡來完成,而當遇到網絡傳輸速率(即網速)不快的情況時,系統進行響應的時間會變慢。當遇到故障發生后,系統想要進行恢復因其自身系統的復雜性也存在一定的困難,因此可靠性有待進一步提高。因此i數據存放時要將數據和事務日志這兩者進行分開存儲,如若存放在一起,當計算機因故障無法運行時,那么相應的數據也就無法通過事務日志進行恢復了,可以大大提高數據的可用性。
(3)數據的存取復雜。目前來說,在分布式數據庫進行存取數據操作相對于集中式數據庫而言,更復雜,系統開銷更大,因為它需要將所查詢到的數據通過多個服務器返回到本地計算機中去。而原來在集中式系統中存取數據的技術又不適用于現有的分布式數據庫系統中。原本在一個服務器上的數據,現在要通過網絡在若干個服務器上進行存取,達到數據共享的目的,無疑對系統的性能要求更高。
3 Oracle分布式數據庫系統優化的解決方案
3.1 編寫具有健壯性的代碼
分布式數據庫中的數據時海量,而面對這些海量數據進行處理就必須使用程序來查找,如搜索引擎等。尤其是面對復雜、無序的數據進行處理時,更需要在保證所查詢數據的準確性之外,還要保證數據處理效率。
3.2 建立緩存機制和使用臨時表、中間表
當數據量增加時,緩存的大小制約著數據處理的成敗,同時也要考慮將數據進行匯總,把大表轉換成小表,切換成一個個的帶索引小表,最后通過一定的規則進行合并。這樣不僅可以使查詢效率加快,不需要直接到每個服務器中去查找數據,只需要借助于每個表項的索引就能夠查找到所需數據,也會降低可能產生的風險。
3.3 提高分布式數據庫的安全性
(1)根據安全性級別設置安全機制。不同的數據庫的安全級別是不同的,要根據實際數據庫所需的安全性級別來設置數據庫。如一般性的站點可采取對數據庫訪問者進行分類對待,給每一類分別以不同的操作權限。安全性較高的站點可以在數據庫中使用加密機制,來保障數據庫的安全。設計人員在部署數據庫時,就應該先尋找數據庫服務器中可能因修改而產生的漏洞和弱點,時刻注意保護數據庫的安全。
(2)物理層上保護。內部安全和外部安全同等重要。保護數據不受入侵者的物理破壞,保護設備的正常運行,保護不受洪水、電力等的破壞。按照要求制定具體措施,對部門內部人員賦予安全等級。
(3)加強數據審計。可以通過對系統日志的擴充來記錄用戶和相關操作的信息,一般要求數據庫管理系統能夠將所有的操作記錄下來,系統保留一個日志文件,用于事后調查和分析。
(4)數據一致性。數據的一致性也屬于安全問題,在日常運行過程中會受到各種各樣的人為或非人為的破壞。為了解決這一問題,DBMS一般都要提供恰當的系統控制、備份和恢復過程等。
4 結束語
Oracle分布式數據庫使用起來既方便又快捷,不僅提升了使用效率,也實現了異地存儲。對于Oracle分布式數據庫的應用還有待于進行進一步的研究。
參考文獻
[1]趙小航.分布式數據庫系統安全隱患及其對策[J].科技信息,2009(12).
[2]陳永杰,郭巍,楊芳南,陳旭東.Oracle9i高級復制在綜合網管中的應用研究[J].中國科技信息,2007(06).
[3]劉洪昱.ORACLE數據傳輸技術在保險信息系統上線過程中的應用[D].上海交通大學,2012.
作者單位
樂凱膠片股份有限公司 河北省保定市 071054