- Oracle從新手到高手
- 楊繼萍
- 2540字
- 2019-12-09 14:48:57
1.3 Oracle數據庫與網格技術
Oracle數據庫是Oracle公司出品的十分優秀的DBMS,當前Oracle DBMS以及相關的產品幾乎在全世界各個工業領域中都有應用。無論是大型企業中的數據庫應用,還是中小型的聯機事務處理業務,都可以找到成功使用Oracle數據庫系統的典范。到目前為止,12C是Oracle數據庫的最新版本,它在前一版本的基礎上對企業級網格計算進行了擴展,提供了眾多支持企業網格計算的特性。
1.3.1 網格技術
超級計算機作為復雜科學計算領域的主宰,以其強大的處理能力著稱。但以超級計算機為中心的計算模式存在明顯的不足,由于它的造價極高,通常只有一些國家級的部門,如航天、氣象等部門才有能力配置。而隨著人們日常工作遇到的商業計算越來越復雜,人們越來越需要數據處理能力更強大的計算機。于是,人們開始尋找一種造價低廉而數據處理能力超強的計算模式,最終找到了答案—網格計算(Grid Computing)。
網格計算是伴隨著互聯網而迅速發展起來的,專門針對復雜科學計算的新型計算模式。這種計算模式是利用互聯網把分散在不同地理位置的計算機組織成一個“虛擬的超級計算機”,其中每一臺參與計算的計算機就是一個“節點”,而整個計算由成千上萬個“節點”組成的“虛擬的一張網格”,所以這種計算方式叫“網格計算”。簡而言之,網格計算就是把整個互聯網整合成一臺巨大的超級計算機,實現各種資源的全面共享。當然,網格并不一定要整合整個互聯網,也可以構造地區性的網格。網格的根本特征不是它的規模,而是資源共享。
實際上,網格計算是分布式計算的一種,如果某項任務是分布式的,那么參與這項任務的一定不只是一臺計算機,而是一個計算機網絡,顯然這種計算方式將具有很強的數據處理能力。這種組織方式有兩個優勢:一個是超強的數據處理能力;另一個是能充分利用網上的閑置處理能力。網格計算模式首先把要計算的數據分割成若干“小片”,然后由不同節點的計算機根據自己的處理能力下載一個或多個數據片斷。這樣,當節點的計算機空閑時,該節點的計算機就會處理下載的任務片斷,這樣一臺計算機的閑置計算能力就被充分地調動起來了。
網格計算和標準的網絡計算看起來全然不同。現在很多服務都是基于客戶機/服務器模式來進行的。在這種模式中,通過確認客戶檢查其授權級別,決定客戶可以在服務器上所做的操作來確保安全。而對于網格計算,客戶機和服務器的功能劃分遠沒有那么明確。在網格計算模式中,一臺計算機可以要求另一臺計算機去完成一項任務的同時,還為其他的計算機進行著一項任務,而用戶不用考慮這些互動是通過怎樣的途徑來實現的。
關于網格計算的另一個重要概念就是它強大的數據處理功能,它被設計成用來完成兆兆字節規模或更大規模的計算。
1.3.2 Oracle網格體系結構
Oracle 10g/11g中的g代表網格計算,Oracle數據庫作為第一個為企業級網格計算而設計的數據庫,為管理信息和應用提供了最靈活的、成本最低的方式。例如,通過Oracle網格計算,可以在幾個互聯的數據庫服務器網格上運行不同的應用。當應用需求增加時,數據庫管理員能夠自動為應用提供更多的服務器支持。網格計算使用最高端的負載管理機制,使應用能夠共享多個服務器上的資源,從而提高數據處理能力、減少對硬件資源的需求、節省企業成本。
Oracle數據庫為支持企業網格計算,提供了以下特性。
※ 使用低成本的硬件集群技術,提供高性能、大規模處理能力。
※ Oracle具有高集成特性,通過分布式計算,使應用和數據能夠位于網絡的任何地方。
※ Oracle提供了許多自動化功能,使單個管理員能夠管理大量的服務器。
※ Oracle提供較高的安全性,使用戶能夠在信任的機制上共享網格資源。
集群和網格之間存在一定的差異,集群是用于創建網格框架的一種技術,簡單集群對于特定的應用提供靜態資源。而網格可以包含多個集群,為不同應用和用戶提供動態資源池。在網格服務器中,能夠調度和移植應用,網格能夠在不同的系統所有者之間共享資源。對于最高層的應用,網格計算被當作一種計算工具。簡單地說,用戶無須關心數據的存儲位置以及由哪臺計算機處理用戶請求。
從服務器端來看,網格關注資源分配、信息共享和高可用性。資源分配使請求的資源能夠得到保證,防止請求未得到服務,而相關的資源被閑置。信息共享保證用戶和應用所需的信息能夠可用。高可用特性保證所有的數據和計算能夠提供更高的服務質量。
網格計算保證計算資源能夠動態分配應用程序,資源的分配是按照業務優先級和需求進行分配的,Oracle提供了許多特性支持計算資源分配。
1. 真正應用集群(RAC)
RAC是Oracle 9i數據庫中采用的一項新技術,也是Oracle數據庫支持網格計算環境的核心技術。它的出現解決了傳統數據庫應用中面臨的一個重要問題:高性能、高可伸縮性與低價格之間的矛盾。RAC技術通過CPU共享和存儲設備共享實現多節點之間的無縫集群,用戶提交的每一項任務被自動分配給集群中的多臺計算機執行,用戶不必通過冗余的硬件來滿足高可靠性要求。另一方面,RAC可以實現CPU的共享,即使普通服務器組成的集群也能實現過去只有大型主機才能提供的高性能。
Oracle 11g數據庫使管理集群數據庫變得更加容易,其支持所有平臺均可使用集成的集群組件,它們的功能包括集群連接、消息和鎖定、集群控制和恢復及工作負載管理框架。集成的集群組件消除了購買、安裝、配置和支持第三方集群組件的需求,從而使Oracle RAC變得更容易。自動負載管理簡化了動態服務器對負載的響應,可以定義規則,使之在正常工作時和應對故障時自動為每個服務分配處理資源,這些規則可以動態修改以滿足不斷變化的業務需求。除了集群管理的改進以外,Oracle數據庫中的RAC還提供了在集群配置發生改變時,向中間層自動通知事件的功能,于是中間層能夠立即進行例程故障切換或使用新例程。這使終端用戶能夠在發生例程失敗時繼續工作,而不會發生由于網絡超時而引起的延遲。如果有新例程可用,中間層能夠立即啟動該例程的負載平衡連接。
2. 自動存儲管理(ASM)
對于數據庫而言,一個非常重要的資源就是存儲器。對于大型的數據庫而言,要盡量獲得最大吞吐量,如果在磁盤存儲器之間存放數據可能是一個費時的過程。Oracle數據庫的自動存儲管理(ASM)解決了這些問題,ASM為Oracle數據庫提供全面的存儲管理,不需要文件系統和大容量磁盤管理。ASM自動向所有磁盤散布數據,以最小的管理成本提供最高的I/O吞吐率。
3. Oracle資源管理器
雖然Oracle數據庫在很大程度上是自動管理數據庫,但是使用Oracle資源管理器,資源管理員能夠控制如何為用戶分配Oracle資源。
- Django+Vue.js商城項目實戰
- ClickHouse性能之巔:從架構設計解讀性能之謎
- LabVIEW 2018 虛擬儀器程序設計
- Spring Cloud Alibaba微服務架構設計與開發實戰
- Learning Data Mining with Python
- Software Testing using Visual Studio 2012
- The React Workshop
- Python程序設計案例教程
- Reactive Programming With Java 9
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- Working with Odoo
- Mastering ArcGIS Enterprise Administration
- Odoo 10 Implementation Cookbook
- Web前端開發最佳實踐
- 從零開始構建深度前饋神經網絡:Python+TensorFlow 2.x