摘要:并行數(shù)據(jù)庫系統(tǒng)的實(shí)現(xiàn)基礎(chǔ)就是數(shù)據(jù)分布,并行數(shù)據(jù)庫的運(yùn)行效率直接收到其方法的好壞。本文主要通過對一維以及多維等幾種類型的數(shù)據(jù)分布方法進(jìn)行分析和比較,講述了并行數(shù)據(jù)庫的數(shù)據(jù)分布策略及其運(yùn)行的方向。
關(guān)鍵次:并行數(shù)據(jù)庫;數(shù)據(jù);分布;策略;研究
中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 21-0000-02
數(shù)據(jù)庫的存儲(chǔ)規(guī)模正隨著計(jì)算機(jī)應(yīng)用全球性范圍的蔓延逐漸的在擴(kuò)大,因此現(xiàn)在對于數(shù)據(jù)的查詢性能要求越來越高,也越來越復(fù)雜,數(shù)據(jù)庫的工作負(fù)載量也在逐漸加大,過去的那種傳統(tǒng)的串行數(shù)據(jù)庫已經(jīng)逐漸更不上時(shí)代的發(fā)展了,在這個(gè)對數(shù)據(jù)庫應(yīng)用快速發(fā)展的時(shí)代已經(jīng)變得很難再適應(yīng)了,在并行處理技術(shù)發(fā)展的雙重驅(qū)動(dòng)下,并行數(shù)據(jù)庫系統(tǒng)隨著時(shí)代的潮流發(fā)展出來,已經(jīng)逐漸的成為了計(jì)算機(jī)業(yè)界的一個(gè)焦點(diǎn),數(shù)據(jù)分布的研究、并行操作的算法、查詢處理優(yōu)化三方面的問題主要是并行數(shù)據(jù)庫技術(shù)的主要研究對象。
數(shù)據(jù)分布的優(yōu)劣在一定程度上直接影響著數(shù)據(jù)庫的運(yùn)行效率,因?yàn)閿?shù)據(jù)分布是最終實(shí)現(xiàn)并行數(shù)據(jù)庫系統(tǒng)的基礎(chǔ),而其最主要的內(nèi)容就是在多處理機(jī)之間的分布關(guān)機(jī)以及對各種數(shù)據(jù)對象的一些研究方法。
1 數(shù)據(jù)分布以及數(shù)據(jù)的分段
在并行數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)分布指的是怎么樣在多處理機(jī)之間進(jìn)行著有規(guī)律可循的分布關(guān)系等數(shù)據(jù)對象,最終以此來實(shí)現(xiàn)最小化數(shù)據(jù)處理相應(yīng)時(shí)間以及促進(jìn)系統(tǒng)對數(shù)據(jù)處理的并行性的效能發(fā)揮出最佳的效果的目的。將數(shù)據(jù)分布到各個(gè)處理結(jié)點(diǎn)上的過程一般分為數(shù)據(jù)分段跟以及數(shù)據(jù)分配兩種。數(shù)據(jù)分段主要指的是將關(guān)系劃分成為若干個(gè)數(shù)據(jù)的子集,而數(shù)據(jù)分配則是根據(jù)將數(shù)據(jù)分段所劃分出來的數(shù)據(jù)子集分配到不同的處理幾點(diǎn)上,因此在進(jìn)行數(shù)據(jù)分布的過程中又將數(shù)據(jù)分段分成垂直分段以及水平分段兩種。垂直分段主要指的是以關(guān)系的屬性作為單位,若干個(gè)數(shù)據(jù)子集都是通過投影操作所產(chǎn)生出來的,水平分段跟垂直分段不同,其單位是關(guān)系元組其數(shù)據(jù)子集產(chǎn)生的方式也有所不同,主要是通過選擇操作而產(chǎn)生的。兩種方法相互比較后,水平分段的方法能夠通過數(shù)據(jù)子集的并操作還原出最原始的關(guān)系,方便于負(fù)載的均衡分配并能夠增強(qiáng)查詢間內(nèi)的數(shù)據(jù)并行性,因此現(xiàn)在一般在并行數(shù)據(jù)庫的數(shù)據(jù)分布方法上選擇使用水平分段的方法。
2 數(shù)據(jù)分布的方法
(1)一維數(shù)據(jù)分布:在數(shù)據(jù)分布方法中,一維數(shù)據(jù)分布方法是最基礎(chǔ)的分布方法,其關(guān)系子集是根據(jù)一個(gè)屬性的值域?qū)⒆铋_始的關(guān)系劃分出來的,遵循固定的規(guī)律將這些關(guān)系子集分布到各個(gè)處理結(jié)點(diǎn)上,這是一維數(shù)據(jù)分布方法的一個(gè)主要特點(diǎn)。目前在Arbre、Bubba、Gamma、Teradata等并行數(shù)據(jù)庫系統(tǒng)已經(jīng)得到了充分的運(yùn)用。Round-Robin、Hash、Range、Hybrid-Range、Replicate等是一維數(shù)據(jù)分布的主要方法。
(2)Hash 法:Hash 法主要是指通過利用Hash函數(shù)將元組中的某一個(gè)屬性AK的取值分配到相應(yīng)的制定處理節(jié)點(diǎn)上,這種方法可以通過設(shè)計(jì)一個(gè)高效率的函數(shù)均勻的進(jìn)行數(shù)據(jù)分布,相比較于Round-Robin數(shù)據(jù)分布方法,Hash方法不僅能夠高效率的支持大量數(shù)據(jù)的存儲(chǔ)跟查詢的操作,在劃分屬性上還能夠有效的進(jìn)行著有低選擇性謂詞的數(shù)據(jù)操作。利用Hash碼能夠讓系統(tǒng)進(jìn)行快速的數(shù)據(jù)訪問,并計(jì)算出符合條件元組上的某一個(gè)處理結(jié)點(diǎn),因此用來劃分出屬性上的某一個(gè)范圍內(nèi)的查詢就是利用選擇謂詞,Hash數(shù)據(jù)分布在一定程度上增加了系統(tǒng)的開銷,因?yàn)樗饕峭ㄟ^使用所有的處理機(jī)來完成范圍查詢。
(3)Range 法(值域劃分法):主要是根據(jù)關(guān)系R的某一個(gè)屬性的值域,將關(guān)系劃分成為N個(gè)元組集合,再分配到系統(tǒng)中的N個(gè)處理結(jié)點(diǎn)上,比如說要按照學(xué)生學(xué)號的最后5位數(shù)來劃分學(xué)生的表格,00001-05000就可以分布到結(jié)點(diǎn)1上面,05001-10000就可以分布到結(jié)點(diǎn)2上面,Range數(shù)據(jù)分布法結(jié)合了上面所介紹的兩種方法的優(yōu)點(diǎn),這樣Range不僅能夠有效的處理大量的數(shù)據(jù)存取操作以及在劃分屬性上有著低選擇性謂詞的數(shù)據(jù)存取操作,這種方法很適合在劃分屬性上進(jìn)行某一個(gè)范圍內(nèi)查詢,即使是最糟糕的情況下有可能是關(guān)系中的所有數(shù)據(jù)都被劃分到同一個(gè)的處理結(jié)點(diǎn)上,導(dǎo)致了數(shù)據(jù)分布的不均衡。
2.1 多維數(shù)據(jù)分布中的CMD法