李祖華 吳嵩
摘要:隨著科技的迅速發(fā)展,信息化時(shí)代、大數(shù)據(jù)時(shí)代已經(jīng)到來(lái),數(shù)據(jù)的使用范圍在不斷擴(kuò)大,數(shù)據(jù)的功能也在不斷擴(kuò)展。近年來(lái),分布式數(shù)據(jù)庫(kù)開(kāi)始出現(xiàn),分布式數(shù)據(jù)庫(kù)的出現(xiàn)更好的滿足了用戶的信息處理需求,推動(dòng)了社會(huì)的進(jìn)步和發(fā)展。但分布式數(shù)據(jù)庫(kù)在使用的過(guò)程中需要關(guān)聯(lián)較多的儲(chǔ)存場(chǎng)地,在使用遠(yuǎn)程場(chǎng)地中儲(chǔ)存的數(shù)據(jù)時(shí)往往要付出額外的代價(jià),因而現(xiàn)階段急需尋找新的數(shù)據(jù)儲(chǔ)存技術(shù)來(lái)減小此代價(jià)。本文正是以此為背景,闡述了分布式數(shù)據(jù)庫(kù)的概念,分析了分布式數(shù)據(jù)的體系結(jié)構(gòu),探討了分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)儲(chǔ)存技術(shù)。
關(guān)鍵詞:數(shù)據(jù)儲(chǔ)存技術(shù);分布式數(shù)據(jù)庫(kù);應(yīng)用
傳統(tǒng)數(shù)據(jù)庫(kù)大都是集中式的,但隨著科技的發(fā)展以及人們對(duì)數(shù)據(jù)需求的增加,傳統(tǒng)的集中式數(shù)據(jù)庫(kù)已不能滿足人們對(duì)數(shù)據(jù)使用的需求?,F(xiàn)階段人們開(kāi)始采用分布式數(shù)據(jù)可進(jìn)行數(shù)據(jù)處理,該類型數(shù)據(jù)庫(kù)的使用方便了人們對(duì)數(shù)據(jù)的使用,但該類型的數(shù)據(jù)庫(kù)中,其關(guān)系分別儲(chǔ)存在不同的場(chǎng)地,因而在數(shù)據(jù)的傳輸過(guò)程中可能會(huì)因傳輸距離的增加或分布式的制約而導(dǎo)致額外的代價(jià)。就目前而言,可以說(shuō)該額外代價(jià)就是制約分布式數(shù)據(jù)庫(kù)使用的瓶頸,而解決這一瓶頸的根本措施就是在分布式數(shù)據(jù)庫(kù)中使用合理的數(shù)據(jù)儲(chǔ)存技術(shù),本文也正是以此為研究背景展開(kāi)探討。
1 分布式數(shù)據(jù)庫(kù)的概念
分布式數(shù)據(jù)庫(kù)其數(shù)據(jù)的儲(chǔ)存是分布的,即數(shù)據(jù)儲(chǔ)存于多個(gè)場(chǎng)地內(nèi),在每個(gè)數(shù)據(jù)儲(chǔ)存場(chǎng)地內(nèi)都有子數(shù)據(jù)庫(kù)對(duì)本地?cái)?shù)據(jù)進(jìn)行著管理,因而其數(shù)據(jù)的透明度要比傳統(tǒng)的集中式數(shù)據(jù)庫(kù)高很多。筆者認(rèn)為,分布式數(shù)據(jù)庫(kù)主要有以下特點(diǎn):
一是分布式數(shù)據(jù)庫(kù)具有很強(qiáng)的獨(dú)立性,從物理或邏輯的角度來(lái)說(shuō),用戶在對(duì)分布式數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢和使用的過(guò)程中不需要提供相應(yīng)的關(guān)系或關(guān)系副本的儲(chǔ)存地點(diǎn)。此外,對(duì)于多個(gè)場(chǎng)地?cái)?shù)據(jù)的查詢和使用,系統(tǒng)應(yīng)對(duì)查詢代價(jià)、通訊代價(jià)以及執(zhí)行代價(jià)進(jìn)行優(yōu)化。
二是分布式數(shù)據(jù)庫(kù)具有一定的原子性,用戶在分布式數(shù)據(jù)庫(kù)的使用過(guò)程中可以對(duì)各場(chǎng)地的數(shù)據(jù)進(jìn)行修改,無(wú)論是本地還是異地。此外,假若修改數(shù)據(jù)時(shí)提交的事務(wù)被取消,那么將不再允許做出任何修改。
2 分布式數(shù)據(jù)的體系結(jié)構(gòu)
隨著信息化的不斷發(fā)展,現(xiàn)階段已經(jīng)出現(xiàn)三種形式的分布式數(shù)據(jù)庫(kù)體系結(jié)構(gòu),即客戶/服務(wù)器體系結(jié)構(gòu)、協(xié)同服務(wù)器體系結(jié)構(gòu)以及中間件體系結(jié)構(gòu)。筆者將對(duì)這三種體系結(jié)構(gòu)展開(kāi)簡(jiǎn)要分析:
(1)客戶/服務(wù)器體系結(jié)構(gòu)。該類型的體系結(jié)構(gòu)包含著一至多個(gè)客戶進(jìn)程以及一至多個(gè)服務(wù)器進(jìn)程,客戶進(jìn)程在使用的過(guò)程中可以通過(guò)任何一個(gè)服務(wù)器進(jìn)行查詢。客戶進(jìn)程的主要作用是實(shí)現(xiàn)與用戶的交互,服務(wù)器進(jìn)程的主要作用是數(shù)據(jù)管理以及客戶進(jìn)程的處理?;谄涔ぷ髟?,用戶進(jìn)程可以通過(guò)個(gè)人計(jì)算機(jī)實(shí)現(xiàn),而提交的查詢?nèi)蝿?wù)則需要借助大型服務(wù)器執(zhí)行。
(2)協(xié)同服務(wù)器體系結(jié)構(gòu)。由于客戶/服務(wù)器體系結(jié)構(gòu)不能對(duì)涉及多個(gè)服務(wù)器的數(shù)據(jù)進(jìn)行單個(gè)查詢,因而客戶在數(shù)據(jù)查詢和使用時(shí)會(huì)十分困難,甚至在一些情況下不能區(qū)分客戶和服務(wù)器?;谶@樣的情況,現(xiàn)階段研發(fā)了協(xié)同服務(wù)器體系結(jié)構(gòu),該體系結(jié)構(gòu)可以借助協(xié)同服務(wù)器來(lái)代替客戶/服務(wù)器,從而使得本地事務(wù)的處理變得方便。
(3)中間件體系結(jié)構(gòu)。該類型的體系結(jié)構(gòu)支持涉及多個(gè)服務(wù)器的數(shù)據(jù)的查詢和使用,而且對(duì)數(shù)據(jù)庫(kù)服務(wù)器的要求也不是很高。事實(shí)也證明,該類型的體系結(jié)構(gòu)在處理很難集成擴(kuò)展的數(shù)據(jù)方面發(fā)揮著不可取代的作用。
3 分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)儲(chǔ)存技術(shù)
分布式數(shù)據(jù)庫(kù)在方便人們數(shù)據(jù)查詢和使用的同時(shí)也會(huì)帶來(lái)一定的額外傳輸代價(jià),現(xiàn)階段為減小額外的傳輸代價(jià)大都在關(guān)系的精細(xì)分片儲(chǔ)存過(guò)程中將使用頻率較高的數(shù)據(jù)儲(chǔ)存于本地,將使用頻率極高的關(guān)系數(shù)據(jù)復(fù)制并儲(chǔ)存在各分場(chǎng)地。筆者認(rèn)為,在分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)儲(chǔ)存技術(shù)應(yīng)用主要體現(xiàn)在兩個(gè)方面:
(1)劃分儲(chǔ)存。所謂的劃分儲(chǔ)存就是將數(shù)據(jù)關(guān)系分割開(kāi)來(lái),將整體的關(guān)系分割成若干個(gè)小的關(guān)系或小的分片,而這些小的分片可以在一定程度上替代原先的整體關(guān)系儲(chǔ)存在各場(chǎng)地之中。通常來(lái)說(shuō),關(guān)系的劃分有兩類:一是水平劃分,水平劃分是將原始關(guān)系一部分一部分的分離出來(lái),各分片之間沒(méi)有交集并且各分片的集合正好是原始關(guān)系的子集和;二是垂直劃分,垂直劃分要求各分片是原始關(guān)系的無(wú)損連接分解,劃分的過(guò)程中要保證每個(gè)分片都有自己的唯一標(biāo)識(shí)屬性。當(dāng)然,原始關(guān)系中有額外的標(biāo)識(shí)屬性時(shí)可以將這個(gè)屬性添加到垂直分片中去,但是要保證該分解是一種無(wú)損的分解。通常來(lái)說(shuō)一個(gè)關(guān)系可以進(jìn)行多個(gè)層次的劃分,即原始關(guān)系劃分出的分片還可以進(jìn)一步的劃分,但務(wù)必要保證可以借助劃分后的分片恢復(fù)原始關(guān)系。
(2)復(fù)制儲(chǔ)存。復(fù)制儲(chǔ)存是對(duì)儲(chǔ)存關(guān)系的儲(chǔ)存或者是儲(chǔ)存關(guān)系分片的儲(chǔ)存,通過(guò)儲(chǔ)存可以將一個(gè)儲(chǔ)存關(guān)系復(fù)制成多個(gè)不同版本的儲(chǔ)存關(guān)系并保留在不同的場(chǎng)地,關(guān)系分片的儲(chǔ)存也是如此。舉例來(lái)說(shuō),一個(gè)原始關(guān)系可以劃分為A1、A2、A3、A4、A5五個(gè)分片,在儲(chǔ)存的過(guò)程中可以僅對(duì)A1進(jìn)行儲(chǔ)存,對(duì)A2、A3進(jìn)行兩個(gè)副本的儲(chǔ)存,對(duì)A4、A5進(jìn)行所有場(chǎng)地副本的儲(chǔ)存。就目前而言,主要有兩種復(fù)制儲(chǔ)存技術(shù),一是同步復(fù)制儲(chǔ)存技術(shù),二是異步復(fù)制儲(chǔ)存技術(shù),這兩種復(fù)制儲(chǔ)存技術(shù)的區(qū)別在于是否需要保持副本和更新關(guān)系的一致。
此外,對(duì)數(shù)據(jù)的復(fù)制儲(chǔ)存還具有以下作用:一是可以增強(qiáng)數(shù)據(jù)的可用性,由于復(fù)制過(guò)的數(shù)據(jù)儲(chǔ)存有多個(gè)備份,因而在數(shù)據(jù)的查詢和使用過(guò)程中假如一個(gè)場(chǎng)地的數(shù)據(jù)失效,我們可以借助另外的場(chǎng)地進(jìn)行數(shù)據(jù)的查詢和使用,同時(shí)借助本地提供的遠(yuǎn)程數(shù)據(jù)副本還可以避免因網(wǎng)絡(luò)故障而造成數(shù)據(jù)訪問(wèn)失敗。二是數(shù)據(jù)的復(fù)制和儲(chǔ)存可以使數(shù)據(jù)盡可能的本地化,可以借助本地副本取代遠(yuǎn)程訪問(wèn)從而在很大程度上提高數(shù)據(jù)的查詢和使用速度,減小了分布式數(shù)據(jù)庫(kù)使用中的額外代價(jià)。
4 結(jié)語(yǔ)
隨著科技的發(fā)展,分布式數(shù)據(jù)庫(kù)開(kāi)始逐漸取代集中式數(shù)據(jù)庫(kù),極大的方便了人們對(duì)數(shù)據(jù)的查詢和使用。但由于分布式數(shù)據(jù)庫(kù)數(shù)據(jù)儲(chǔ)存場(chǎng)地的原因?qū)е路植际綌?shù)據(jù)庫(kù)在使用的過(guò)程中會(huì)造成一定的額外代價(jià)。本文介紹了兩種主要的數(shù)據(jù)儲(chǔ)存技術(shù),這兩種數(shù)據(jù)儲(chǔ)存技術(shù)可以提高用戶的數(shù)據(jù)訪問(wèn)速度,因而可以減小數(shù)據(jù)使用因場(chǎng)地原因造成的額外代價(jià)。本文作為一篇參考性的文章,希望對(duì)分布式數(shù)據(jù)庫(kù)更好的發(fā)展和建設(shè)有一定的指導(dǎo)作用。
參考文獻(xiàn):
[1]鄭振楣,于戈,郭敏.分布式數(shù)據(jù)庫(kù).北京:科學(xué)出版社,1998.
[2]信息管理系列委員會(huì).分布式數(shù)據(jù)庫(kù).北京:中國(guó)人民大學(xué)出版社,2007.
[3]李紅主.數(shù)據(jù)庫(kù)原理與應(yīng)用.北京:高等教育出版社,2003(2).
[4]劉方鑫.數(shù)據(jù)庫(kù)系統(tǒng)原理與技術(shù).北京:電子工業(yè)出版社,2005.
基金:本文獲得核高基項(xiàng)目基金(2015ZX01040201)資助