更新時間:2022-01-13 09:17:00 來源:動力節(jié)點(diǎn) 瀏覽847次
分布式數(shù)據(jù)庫基本上是一種不限于一個系統(tǒng)的數(shù)據(jù)庫,它分布在不同的站點(diǎn)上,即在多臺計算機(jī)上或通過計算機(jī)網(wǎng)絡(luò)。分布式數(shù)據(jù)庫系統(tǒng)位于不共享物理組件的各個站點(diǎn)上。當(dāng)一個特定的數(shù)據(jù)庫需要被全球不同的用戶訪問時,這可能是需要的。它需要進(jìn)行管理,以便對用戶來說它看起來像一個單一的數(shù)據(jù)庫。
1.同構(gòu)數(shù)據(jù)庫:
在同構(gòu)數(shù)據(jù)庫中,所有不同的站點(diǎn)都以相同的方式存儲數(shù)據(jù)庫。操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和使用的數(shù)據(jù)結(jié)構(gòu)——所有站點(diǎn)都相同。因此,它們很容易管理。
2.異構(gòu)數(shù)據(jù)庫:
在異構(gòu)分布式數(shù)據(jù)庫中,不同的站點(diǎn)可以使用不同的模式和軟件,這會導(dǎo)致查詢處理和事務(wù)出現(xiàn)問題。此外,特定站點(diǎn)可能完全不知道其他站點(diǎn)。不同的計算機(jī)可能使用不同的操作系統(tǒng)、不同的數(shù)據(jù)庫應(yīng)用程序。他們甚至可能對數(shù)據(jù)庫使用不同的數(shù)據(jù)模型。因此,不同站點(diǎn)需要翻譯才能進(jìn)行交流。
有兩種方法可以將數(shù)據(jù)存儲在不同的站點(diǎn)上。這些是:
1. 復(fù)制——
在這種方法中,整個關(guān)系冗余存儲在 2 個或更多站點(diǎn)。如果整個數(shù)據(jù)庫在所有站點(diǎn)都可用,則它是一個完全冗余的數(shù)據(jù)庫。因此,在復(fù)制中,系統(tǒng)維護(hù)數(shù)據(jù)的副本。
這是有利的,因?yàn)樗黾恿瞬煌军c(diǎn)的數(shù)據(jù)可用性。此外,現(xiàn)在可以并行處理查詢請求。
但是,它也有一些缺點(diǎn)。數(shù)據(jù)需要不斷更新。在一個站點(diǎn)所做的任何更改都需要在存儲關(guān)系的每個站點(diǎn)上記錄,否則可能會導(dǎo)致不一致。這是很多開銷。此外,并發(fā)控制變得更加復(fù)雜,因?yàn)楝F(xiàn)在需要檢查多個站點(diǎn)的并發(fā)訪問。
2. 碎片化——
在這種方法中,關(guān)系是碎片化的(即,它們被分成更小的部分),每個碎片存儲在需要它們的不同站點(diǎn)中。必須確保片段能夠用于重建原始關(guān)系(即,沒有任何數(shù)據(jù)丟失)。
碎片化是有利的,因?yàn)樗粫?chuàng)建數(shù)據(jù)副本,一致性不是問題。
關(guān)系的碎片化可以通過兩種方式完成:
水平碎片——按行分割——
關(guān)系被分割成一組元組,以便每個元組至少分配給一個片段。
垂直碎片——按列拆分——
關(guān)系的模式被分成更小的模式。每個片段必須包含一個公共候選密鑰,以確保無損連接。
在某些情況下,會使用一種混合了分段和復(fù)制的方法。
通過上述介紹,相信大家對分布式數(shù)據(jù)庫系統(tǒng)的介紹已經(jīng)有所了解,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Java視頻,里面的視頻內(nèi)容詳細(xì)全面,通俗易懂,適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所了解。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743