Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)的執(zhí)行時(shí)動(dòng)態(tài)并行
以下的文章主要是對(duì)Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)的執(zhí)行時(shí)動(dòng)態(tài)并行即共享一切的相關(guān)內(nèi)容的描述,如果你對(duì)Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)的執(zhí)行中有疑問的話,你不妨瀏覽下面的文章,希望你能從中獲得自己想要的東西。
使用Oracle 的動(dòng)態(tài)并行處理框架,可以共享所有數(shù)據(jù)。并行化和將工作分成更小的單元的決策,并不受限于數(shù)據(jù)庫(kù)設(shè)置(創(chuàng)建)時(shí)所做的任何預(yù)先確定的靜態(tài)數(shù)據(jù)分布。
由于能夠?yàn)槊總€(gè)語句構(gòu)造不受限制的、優(yōu)化的數(shù)據(jù)子集,執(zhí)行時(shí)動(dòng)態(tài)并行可以提供與不共享體系結(jié)構(gòu)等同的或甚至更好的可伸縮性。
每個(gè)查詢?cè)谠L問、連接和處理數(shù)據(jù)的不同部分時(shí)都有它自己的特征。因此,每個(gè)SQL語句在被解析時(shí)都要進(jìn)行優(yōu)化和并行化處理。數(shù)據(jù)更改時(shí),如果有更加優(yōu)化的并行執(zhí)行計(jì)劃可用,或者系統(tǒng)中新添加了一個(gè)節(jié)點(diǎn),那么Oracle可以自動(dòng)適應(yīng)新的情況。這樣可為并行化任何種類的操作提供最高程度的靈活性:
(1)、在語句執(zhí)行前,對(duì)于每個(gè)查詢要求,會(huì)動(dòng)態(tài)地優(yōu)化并行訪問的物理數(shù)據(jù)子集。
(2)、對(duì)于每個(gè)查詢,都會(huì)優(yōu)化其并行度。與不共享環(huán)境不同,不存在必需的最小并行度來調(diào)用所有節(jié)點(diǎn)訪問所有數(shù)據(jù),這是訪問所有數(shù)據(jù)的基礎(chǔ)要求。
(3)、操作可以根據(jù)當(dāng)前工作負(fù)載、特征和查詢的重要性,使用一個(gè)、一些或全部Real Application Cluster 節(jié)點(diǎn)并行運(yùn)行。
只要語句得到優(yōu)化和并行化,就可以知道所有后續(xù)的并行子任務(wù)。原始進(jìn)程變?yōu)椴樵儏f(xié)調(diào)器;并行處理服務(wù)器(PX 服務(wù)器)從一個(gè)或多個(gè)節(jié)點(diǎn)上的并行處理服務(wù)器的公用緩沖池得到分配,并開始并行執(zhí)行該操作。
與不共享體系結(jié)構(gòu)相似,共享一切體系結(jié)構(gòu)中的每個(gè)并行處理服務(wù)器在其個(gè)人數(shù)據(jù)子集上獨(dú)立工作。數(shù)據(jù)或功能在并行進(jìn)程之間的傳送機(jī)制也與上述的不共享體系結(jié)構(gòu)相似或者相同。確定請(qǐng)求的并行計(jì)劃之后,每個(gè)并行處理服務(wù)器都知道其數(shù)據(jù)集和任務(wù),而進(jìn)程間通信就像在不共享環(huán)境中一樣很少。
然而,與不共享體系結(jié)構(gòu)不同,每個(gè)并行處理的SQL 語句不需要考慮任何物理數(shù)據(jù)庫(kù)布局限制就可以進(jìn)行優(yōu)化。這使得每個(gè)并行處理可以構(gòu)造最佳的數(shù)據(jù)子集,從而提供與純不共享體系結(jié)構(gòu)相比同等的,甚至在大多數(shù)情形下更好的可伸縮性和性能。只要有益,并行操作的后續(xù)步驟就會(huì)由一個(gè)并行處理服務(wù)器進(jìn)行組合和處理,從而減少數(shù)據(jù)傳送或功能傳送的需求。
Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)之為什么共享一切比不共享更好?
不共享體系結(jié)構(gòu)可以追溯到將海量并行處理(MPP)系統(tǒng)看作唯一能提供可伸縮的高端并行計(jì)算的硬件體系結(jié)構(gòu)。MPP系統(tǒng)中的每個(gè)節(jié)點(diǎn)都有它自己的系統(tǒng)組件(CPU、內(nèi)存和磁盤),在不同的子任務(wù)上工作,并且不能共享其任何資源。
這一切都已過去?,F(xiàn)在,大多數(shù)成功的、廣泛使用的并行硬件系統(tǒng)都是對(duì)稱多處理器系統(tǒng)(SMP), 要么是單機(jī)的,要么是作為松耦合的群集。SMP系統(tǒng)利用共享公用內(nèi)存和磁盤資源的多處理器,因而也被稱為“共享一切”系統(tǒng)。
純不共享體系結(jié)構(gòu)的支持者總是聲稱共享一切體系結(jié)構(gòu)(特別是群集環(huán)境)對(duì)于高端環(huán)境會(huì)缺乏可伸縮性并引起顯著的開銷,因而這種體系結(jié)構(gòu)不能用于具有高度并行和/或并發(fā)性的高端應(yīng)用。這種說法是錯(cuò)誤的。今天的硬件和軟件技術(shù)已經(jīng)解決了過去所有的問題,如高速群集互連或Oracle Real Application Clusters 的高速緩存融合體系結(jié)構(gòu)。
Oracle 的動(dòng)態(tài)并行處理框架建立在與不共享軟件相同的并行高級(jí)計(jì)算基礎(chǔ)設(shè)計(jì)之上,具有所有的優(yōu)點(diǎn),還增強(qiáng)了其功能并克服了不共享方法在體系結(jié)構(gòu)上的缺點(diǎn)?;诓还蚕碓淼能浖梢钥醋魇堑谝淮⒌呀?jīng)過時(shí)的數(shù)據(jù)庫(kù)并行處理軟件。
Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)的相關(guān)內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)并行處理技術(shù)有所幫助。
【編輯推薦】
- Oracle數(shù)據(jù)庫(kù)里重復(fù)沒有用的數(shù)據(jù)如何刪除
- Oracle存儲(chǔ)過程的用法簡(jiǎn)介
- Oracle to_char的用法描述
- Oracle表列的修改具體步驟介紹
- Oracle存儲(chǔ)過程的開發(fā)的介紹
























