Oracle數(shù)據(jù)庫并行處理技術(shù)是數(shù)據(jù)庫的一項核心技術(shù),它使組織能夠高效地管理和訪問TB級的數(shù)據(jù)。如果不能提供高效的Oracle數(shù)據(jù)庫并行處理技術(shù),這些大型數(shù)據(jù)庫(通常用于數(shù)據(jù)倉庫但也越來越多地出現(xiàn)在業(yè)務(wù)系統(tǒng)中)將不會存在。
簡而言之,并行處理就是利用多個CPU和I/O資源來執(zhí)行單個數(shù)據(jù)庫操作。盡管現(xiàn)在每個主要的數(shù)據(jù)庫供應(yīng)商都聲稱可以提供并行處理能力,但每個供應(yīng)商所提供的體系結(jié)構(gòu)其實存在關(guān)鍵的差異。
本文討論Oracle 9i并行處理的體系結(jié)構(gòu),并說明于在實際應(yīng)用中其相對于其它體系結(jié)構(gòu)的優(yōu)越性。需要著重指出的是,Oracle9i并行處理體系結(jié)構(gòu)的主要優(yōu)點在于它能在任何情況下完全利用底層硬件基礎(chǔ)架構(gòu)——每個處理器單元、每個內(nèi)存字節(jié)以及所有可用的I/O帶寬。本白皮書還講述Oracle 并行處理組件與其它關(guān)鍵業(yè)務(wù)組件(例如:Oracle RealApplication Cluster)的無縫集成。
Oracle數(shù)據(jù)庫并行處理技術(shù)簡介
現(xiàn)在的數(shù)據(jù)庫,無論是用于數(shù)據(jù)倉庫、操作數(shù)據(jù)存儲(ODS)或OLTP 系統(tǒng),都包含豐富的信息。然而,由于其中涉及海量數(shù)據(jù),及時查找和展示信息是一個巨大的挑戰(zhàn)。Oracle數(shù)據(jù)庫并行處理技術(shù)能夠解決這一挑戰(zhàn)。使用Oracle數(shù)據(jù)庫并行處理技術(shù),數(shù)分種內(nèi)(而非數(shù)小時或數(shù)天)就可以處理數(shù)TB級的數(shù)據(jù)。Oracle數(shù)據(jù)庫并行處理技術(shù)通過利用所有可用的硬件資源取得這樣的高性能:多個CPU、多個I/O通道、多個存儲陣列和磁盤驅(qū)動器,以及大量的內(nèi)存。數(shù)據(jù)庫軟件越能有效地利用所有這些資源,處理查詢和其它數(shù)據(jù)庫操作就越有效。
此外,現(xiàn)在的數(shù)據(jù)庫應(yīng)用的復(fù)雜性大大都增強了,不僅需要支持大量并發(fā)用戶,而且需要管理不同類型的用戶。因此,一個并行查詢體系結(jié)構(gòu)不僅應(yīng)該確保底層硬件平臺的所有資源都得到充分利用,而且應(yīng)該更進一步,將這些資源適當?shù)胤峙浣o多個并發(fā)請求。很顯然,支持CEO的戰(zhàn)略決策的請求比執(zhí)行批處理報表更加重要,并行查詢體系結(jié)構(gòu)應(yīng)該能夠處理這些商務(wù)要求:不僅基于請求自身,而且應(yīng)該基于發(fā)出請求的人以及當前可用的系統(tǒng)資源的數(shù)量來做出動態(tài)的分配。
Oracle9i 的并行處理體系結(jié)構(gòu)能夠全面滿足這些要求,Oracle9i的體系結(jié)構(gòu)不僅提供業(yè)界領(lǐng)先的高性能,而且是唯一可以自適應(yīng)和動態(tài)調(diào)整的。
Oracle9i 的并行處理體系結(jié)構(gòu)充分利用每種硬件投資――SMP、群集或MPP的優(yōu)勢——在任何時間保證最佳的吞吐量和連續(xù)的、優(yōu)化的系統(tǒng)使用量。
Oracle9i 數(shù)據(jù)庫根據(jù)可用資源、請求優(yōu)先級和實際系統(tǒng)負載控制來平衡所有并行操作。
Oracle數(shù)據(jù)庫并行處理技術(shù)并行化設(shè)計策略——靜態(tài)與動態(tài)
并行處理的思想就是將單個任務(wù)分解為多個更小的單元。不是通過一個進程完成所有工作,而是將任務(wù)并行化而使多個進程同時在更小的單元上運行。這可以極大地提高性能和最佳地利用系統(tǒng)。然而,并行處理的最關(guān)鍵部分是如何作出將單個任務(wù)分成更小的工作單元的正確決策。
典型地,有兩種方法用于實現(xiàn)數(shù)據(jù)庫系統(tǒng)的并行處理。主要區(qū)別在于是否需要進行物理數(shù)據(jù)布局,將靜態(tài)的數(shù)據(jù)分區(qū)作為并行處理的前提。 //本文轉(zhuǎn)自www.45it.com電腦軟硬件應(yīng)用網(wǎng)
Oracle數(shù)據(jù)庫并行處理技術(shù)之通過物理數(shù)據(jù)分區(qū)的靜態(tài)并行——不共享
在純不共享數(shù)據(jù)庫體系結(jié)構(gòu)中必須將數(shù)據(jù)庫文件在多計算機系統(tǒng)的節(jié)點上進行分區(qū)才能進行并行處理。每個節(jié)點擁有一個數(shù)據(jù)子集,擁有節(jié)點使用單一進程或線程,以獨占方式執(zhí)行對此數(shù)據(jù)子集的所有訪問。數(shù)據(jù)訪問不能在分區(qū)內(nèi)并行。(有時,也用術(shù)語“虛擬處理器”來代替節(jié)點!疤摂M處理器”是在SMP計算機上模擬不共享節(jié)點的一種機制。為了簡單,在討論不共享體系結(jié)構(gòu)時,我們將統(tǒng)一使用“節(jié)點”作為術(shù)語)。換句話說,純不共享系統(tǒng)使用分區(qū)或受限訪問方法在多個處理節(jié)點間劃分工作。節(jié)點對數(shù)據(jù)所有權(quán)的改變相對少見——為了適應(yīng)業(yè)務(wù)需求的改變而進行的數(shù)據(jù)庫重組、添加或刪除節(jié)點以及節(jié)點故障是所有權(quán)更改的典型原因。這種數(shù)據(jù)所有權(quán)的改變對純不共享系統(tǒng)而言總是意味著要進行人工管理。