做網(wǎng)站指導(dǎo)seo流量工具
分布式數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物,其基本思想是將傳統(tǒng)的集中式數(shù)據(jù)庫中的數(shù)據(jù)分布于網(wǎng)絡(luò)上的多臺計算機(jī)中。分布式數(shù)據(jù)庫系統(tǒng)通常使用較小的計算機(jī)系統(tǒng),每臺計算機(jī)可單獨放在一個地方,每臺計算機(jī)中都有DBMS的一份完整的復(fù)制副本,并具有自己局部的數(shù)據(jù)庫,位于不同地點的許多計算機(jī)通過網(wǎng)絡(luò)互相連接,共同組成一個完整的、全局的大型數(shù)據(jù)庫。
?一.分布式數(shù)據(jù)庫概述
?分布式數(shù)據(jù)庫是由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計算機(jī)網(wǎng)絡(luò)的不同計算機(jī)上,網(wǎng)絡(luò)中的每個節(jié)點具有獨立處理的能力,即場地自治,它可以執(zhí)行局部應(yīng)用,同時,每個節(jié)點也能通過網(wǎng)絡(luò)通信子系統(tǒng)執(zhí)行全局應(yīng)用。分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)技術(shù)上的基礎(chǔ)發(fā)展而來,有如下特點:
(1)數(shù)據(jù)獨立性。包括邏輯獨立性與物理獨立性,還有數(shù)據(jù)分布獨立性。
(2)集中與自治共享結(jié)合的控制結(jié)構(gòu)。各局部的DBMS可以獨立地管理局部數(shù)據(jù)庫,具有自治的功能,同時有設(shè)有集中控制機(jī)制,協(xié)調(diào)各局部DBMS的工作,執(zhí)行全局應(yīng)用。
(3)適當(dāng)增加數(shù)據(jù)冗余度。在不同場地存儲同一數(shù)據(jù)的多個副本,這樣,可以提高系統(tǒng)的可靠性和可用性,同時也能提高系統(tǒng)性能。
(4)全局的一致性、可串行和可恢復(fù)性。
1.分布式數(shù)據(jù)庫的體系結(jié)構(gòu)
在分布式數(shù)據(jù)庫中,局部DBMS中的內(nèi)模式與概念模式與集中數(shù)據(jù)庫是完全一致的,不同之處在于新增的全局DBMS,而整個全局DMBS,可以看作是相對于局部概念模式的外模式。
(1)全局外模式。全局外模式是全局應(yīng)用的用戶視圖,是全局概念模式的子集,該層直接與用戶或者應(yīng)用程序進(jìn)行交互。
(2)全局概念模式。全局概念模式定義分布式數(shù)據(jù)庫中數(shù)據(jù)的整體邏輯結(jié)構(gòu),數(shù)據(jù)就如圖根本沒有分布一樣,可用傳統(tǒng)的集中式數(shù)據(jù)庫中所采取的方法進(jìn)行定義。
(3)分片模式。在某些情況下,需要將一個關(guān)系模式分解成幾個數(shù)據(jù)片,分片模式正式用于完成此工作的。
(4)分布模式。分布式數(shù)據(jù)庫的本質(zhì)特征就是數(shù)據(jù)分布在不同的物理位置。分布模式的主要職責(zé)是定義數(shù)據(jù)片段的存放節(jié)點。
(5)局部概念模式。局部概念模式是局部數(shù)據(jù)庫的概念模式。
(6)局部內(nèi)模式。局部內(nèi)模式是局部數(shù)據(jù)庫的內(nèi)模式。
2.分布式數(shù)據(jù)庫的優(yōu)點
(1)分布式數(shù)據(jù)庫可以解決企業(yè)部門分散而數(shù)據(jù)需要相互聯(lián)系的問題。
(2)分布式系統(tǒng)可以在對當(dāng)前機(jī)構(gòu)影響最小的情況下進(jìn)行擴(kuò)充。
(3)分布式數(shù)據(jù)庫可以滿足負(fù)載均衡的需要。
(4)可靠性高,出現(xiàn)故障的影響小。
二.數(shù)據(jù)分片
數(shù)據(jù)分片將數(shù)據(jù)庫整體邏輯結(jié)構(gòu)分解為合適的邏輯單位,然后由分布模式來定義片段及其副本在各場地的物理分布。
1.數(shù)據(jù)分片的分類
(1)水平分片。水平分片將一個全局關(guān)系中的元祖分類成多個子集,每個子集為一個片段。分片條件由關(guān)系中的屬性表示。
(2)垂直分片。垂直分片將一個全局關(guān)系按屬性分裂成多個子集,應(yīng)滿足不相交性。對與垂直分片,重構(gòu)全局關(guān)系可通過連續(xù)運算實現(xiàn)。
(3)導(dǎo)出分片。導(dǎo)出分片又稱為導(dǎo)出水平分片,即水平分片的條件不是本關(guān)系屬性的條件,而是其他關(guān)系屬性的條件。
(4)混合分片?;旌戏制窃诜制胁捎盟椒制痛怪狈制瑑煞N形式的混合。
2.數(shù)據(jù)分片的原則
(1)完整性。全局關(guān)系的所有數(shù)據(jù)都必須分配到各個片段中,不允許某些數(shù)據(jù)屬于全局關(guān)系但不屬于任務(wù)片段。
(2)重構(gòu)性。各個片段可以重構(gòu)原來的全局關(guān)系。
(3)不相交性。全局關(guān)系中的每個元祖僅屬于一個片段,不能在多個片段中重復(fù)出現(xiàn)。
3.分布透明性
分布透明性是指用戶不必關(guān)心數(shù)據(jù)的邏輯分片,不必關(guān)心數(shù)據(jù)存儲的物理位置分布小細(xì)節(jié),也不必關(guān)心局部場地上數(shù)據(jù)庫的數(shù)據(jù)模型。分布透明性包括分片透明,位置透明,局部數(shù)據(jù)模型透明。
(1)分片透明。分片透明是分布透明性的最高層次,它是指用戶或應(yīng)用程序只對全局關(guān)系進(jìn)行操作而不必考慮數(shù)據(jù)的分片。
(2)位置透明性。位置透明是指用戶或應(yīng)用程序應(yīng)當(dāng)了解分片情況,但不必了解片段的存儲位置。
(3)局部數(shù)據(jù)模型透明性。局部數(shù)據(jù)模型透明性是指用戶或者應(yīng)用程序應(yīng)當(dāng)了解分片及各片段的存儲場地,但不必了解局部場地上使用的是何種數(shù)據(jù)模型。
三.分布式數(shù)據(jù)庫查詢優(yōu)化
分布式數(shù)據(jù)庫在結(jié)構(gòu)上與集中式數(shù)據(jù)庫存在一定的差異,所以兩者在查詢優(yōu)化方面各有側(cè)重。在分布式數(shù)據(jù)庫系統(tǒng)中,從查詢涉及的數(shù)據(jù)和查詢處理過程中的通信模式來劃分,可以分為局部查詢、遠(yuǎn)程查詢和全局查詢?nèi)N類型。
全局查詢是指用戶查詢涉及多個場地的數(shù)據(jù),因此查詢處理和優(yōu)化技術(shù)要比其他兩種要復(fù)雜的得多。具體方法有:全局查詢樹的變換,副本的選擇與多副本的更新策略,查詢數(shù)的分解,半直連與直接連接等。
1.全局查詢樹的變換
為了提高執(zhí)行效率,可對全局查詢樹進(jìn)行如下變換:
(1)用片段替換查詢樹中的全局關(guān)系。
(2)盡可能將選擇和投影等一元操作推向查詢樹的葉端。
(3)合并公共子表達(dá)式。
(4)消除空關(guān)系和冗余度。
(5)移去無用的垂直葉片。
2.副本的選擇與多副本的更新策略。
副本選擇原則:
(1)盡可能提供訪問的局部性,尤其要減少大量數(shù)據(jù)的傳送。
(2)盡可能減少通信開銷,尤其要減少大量數(shù)據(jù)的傳送。
(3)適當(dāng)考慮節(jié)點負(fù)載的平衡。
副本的更新策略:
(1)在事務(wù)提交前更新全部副本。
(2)立即更新所有節(jié)點的副本。
(3)主副本法,指定一個副本為主副本,執(zhí)行更新操作時候,事務(wù)提交前進(jìn)更新主副本,所有副本在事務(wù)提交后根據(jù)主副本廣播的內(nèi)容進(jìn)行更新。
(4)快照法??煺辗ㄊ侵笖?shù)據(jù)在某一時刻的狀態(tài),它不隨數(shù)據(jù)庫中數(shù)據(jù)的更新而即時更新。
3.查詢樹的分解
查詢樹分解的一般方法是采用后續(xù)遍歷法。
4.半連接與直接連接
有時候,在做連接操作時,并不需要將整個關(guān)系(或片段)傳送到對方,只要傳送連接時與對方匹配的元組就夠了。半連接操作可以幫助從關(guān)系(或片段)篩選出連接時匹配的元組,減少節(jié)點之間的數(shù)據(jù)傳輸量和運算暈,但也增加了投影操作和選擇操作。在實際應(yīng)用中,是否采用半連接,必須做代價比較。