官术网_书友最值得收藏!

1.2 分布式數據庫系統的基本概念

1.2.1 節點/場地

分布式數據庫系統是地理上分散而邏輯上集中的數據庫系統。管理分布式數據庫的軟件被稱為分布式數據庫管理系統。分布式系統通常由計算機網絡將地理上分散的各個邏輯單位連接起來。被連接的邏輯單位稱為節點(node)或場地(site)。節點或場地是指物理上的一臺計算機或邏輯上的一臺計算機(如集群系統)。節點強調的是計算機和處理能力,場地強調的是地理位置和通信代價,二者只是看問題的角度不同,本質上沒有區別。

1.2.2 分布式數據庫

分布式數據庫(Distributed DataBase,DDB)是指分布在一個計算機網絡上的多個邏輯相關的數據庫的集合。也就是說,分布式數據庫是一組結構化的數據集合,邏輯上屬于同一系統,物理上分布在計算機網絡中各個不同的場地上,如圖1.5所示。

為區別起見,將傳統的單場地上的數據庫稱為集中式數據庫。

圖1.5 分布式數據庫系統

1.2.3 分布式數據庫管理系統

分布式數據庫系統由分布式數據庫和分布式數據庫管理系統(Distributed DataBase Management System,DDBMS)組成。分布式數據庫管理系統是分布式數據庫系統的一組軟件,負責對分布式數據庫中的數據進行管理和操作。由于分布式數據庫管理系統基于分布環境實現,因此必須滿足邏輯數據的一致性、完整性等要求。分布式數據庫管理系統在局部場地上的數據管理機制與集中式數據庫管理系統類似(如圖1.2所示)。同時,分布式數據庫管理系統具有全局的查詢處理器、事務管理器、并發控制器、恢復管理器等,保證全局事務執行的效率、正確性和可靠性。系統接收基于全局模式的全局查詢命令,根據數據的分布信息將一個全局查詢命令轉化為面向各個局部場地的子查詢請求,同時將一個全局事務分解為相應的子事務進行分布處理。在事務執行過程中,局部事務管理器保證子事務執行的正確性,全局事務管理器協調并控制子事務的執行,保證全局事務執行的正確性。可見,分布式數據庫管理系統的執行復雜度遠高于集中式數據庫管理系統。

1.2.4 分布式數據庫系統應用舉例

假設有一家軟件公司,隨著規模的擴大,在世界各地設立了多家分公司,總部設在北京,分公司有東京分公司、上海分公司、廣州分公司。全局模式如下:

其中,EMP為員工信息,ENO為員工編號,ENAME為員工姓名,TITLE為員工薪級;ASSIGNMENT為員工參加項目情況,PNO為項目編號,RESPONSIBILITY為職責,DURING為參加項目的時間;PROJECT為項目信息,PNAME為項目名稱,BUDGET為項目經費;PAY為工資信息,SALARY為工資。現有要求:各分公司管理本公司的員工信息、項目信息和員工參加的項目信息;總公司管理50萬元以上的項目的信息和TITLE≥5級的高薪員工信息。數據分布如圖1.6所示,其中上海-EMP為上海分公司的員工信息,上海-ASSIGNMENT為上海分公司的員工參加項目信息,上海-PROJECT為上海分公司的項目信息;廣州-EMP為廣州分公司的員工信息,廣州-ASSIGNMENT為廣州分公司的員工參加項目信息,廣州-PROJECT為廣州分公司的項目信息;東京-EMP為東京分公司的員工信息,東京-ASSIGNMENT為東京分公司的員工參加項目信息,東京-PROJECT為東京分公司的項目信息;北京-EMP為北京總公司的員工信息,北京-ASSIGNMENT為北京總公司的員工參加項目信息,北京-PROJECT為北京總公司的項目信息;PROJECT(BUDGET≥50)為公司所有50萬元以上的項目的信息,EMP(TITLE≥5)為所有薪級TITLE≥5的員工信息。

從圖1.6可知,全局數據根據管理需求分別存儲在不同的場地上。如北京總公司場地上,不僅要保存北京總公司的員工、項目信息等,還需要存儲50萬元以上的項目信息和TITLE≥5級別的員工信息。通常各場地上的應用只涉及本場地上的數據,增加了局部處理能力,有效提高了查詢效率。當查詢涉及多個場地上的數據時,在廣域網環境下,通常遵循最小通信代價確定查詢優化策略,包括指定訪問數據副本的場地和查詢的執行場地。

圖1.6 分布式數據庫系統應用舉例

1.2.5 分布式數據庫的特性

1.數據透明性

分布式數據庫系統是地理上(或物理上)分散而邏輯上集中的數據庫系統。也就是說,系統中的分布式數據庫由一個邏輯的、虛擬的數據庫(稱為全局數據庫)和分散在各個場地的局部數據庫(物理上存儲的數據庫)兩級數據庫組成。全局數據庫是以全局概念模式對一個企業或單位全局信息的抽象描述。局部數據庫是以局部概念模式和局部內模式對各場地上的局部數據庫的描述。因此,分布式數據庫可劃分為4層:全局外層(用戶層)、全局概念層、局部概念層和局部內層。應用程序與系統實際數據組織相分離,即數據具有獨立性或透明性。具體體現如下。

分布透明性:用戶看到的是全局數據模式的描述,用戶如同使用集中式數據庫一樣,不需要考慮數據的存儲場地和操作的執行場地。

分片透明性:分片過程是將一個關系分成幾個子關系,每個子關系稱為一個分片。根據實際需求,一個分片可能存儲在不同的場地上(在場地上的實際存儲副本稱為片段),如圖1.7所示。邏輯層表示用戶語義,物理層實現細節。邏輯層的語義與物理層的實現相分離,對高層系統和用戶隱蔽了實現細節。分片透明性是指用戶無須考慮數據分片的細節,應用程序對分片的調用(分片到片段的映射)由系統自動完成。

復制透明性:數據可重復存儲在不同的場地上,從而提高了系統的可用性和可靠性,以及系統處理的并行性。用戶只看到單一的數據副本,系統負責對冗余數據的控制,如一致性維護等。

圖1.7 數據分片示意圖

2.系統透明性

一個分布式系統必然存在大量的應用在系統中運行,而系統中的故障(節點故障、通信故障)也是不可避免的。為了保證系統高處理能力的要求,系統需要支持多用戶并發執行。為了保證系統的可靠性和可用性,系統需要具有容錯處理功能。系統的相應處理應該對用戶透明,具體體現如下。

并發透明性:多個用戶可以自動地共享同一個數據,而不會互相干擾。每個用戶感覺自己獨占該數據。

故障透明性:當系統發生故障后,系統能自動地進行恢復,用戶不必了解故障恢復處理的過程。

3.場地自治性

在分布式數據庫系統中,為保證局部場地獨立的自主運行能力,局部場地具有自治性。多個場地或節點的局部數據庫在邏輯上集成為統一的整體,并為分布式數據庫系統的所有用戶使用,這種分布式應用稱為全局應用,其用戶稱為全局用戶。另外,分布式數據庫系統也允許用戶只使用本地的局部數據庫,該應用稱為局部應用,其用戶稱為局部用戶。這種局部用戶在一定程度上獨立于全局用戶的特性稱為局部數據庫的自治性,也稱為場地自治性。具體體現如下。

設計自治性:局部數據庫管理系統(Local DataBase Management System,LDBMS)能獨立地決定本地數據庫系統的設計。

通信自治性:LDBMS能獨立地決定是否及如何與其他場地的LDBMS通信。

執行自治性:LDBMS如同一個集中式數據庫系統,自主地決定以何種方式執行局部操作。

主站蜘蛛池模板: 简阳市| 仙游县| 岢岚县| 连城县| 积石山| 文化| 额济纳旗| 四平市| 楚雄市| 花垣县| 赞皇县| 新和县| 贞丰县| 阳新县| 遵化市| 博罗县| 澜沧| 铁岭市| 忻城县| 南乐县| 平顺县| 巩义市| 云浮市| 搜索| 涞源县| 枣庄市| 镶黄旗| 南雄市| 北川| 岢岚县| 正蓝旗| 宁城县| 甘南县| 奉新县| 兴宁市| 三明市| 广平县| 连南| 阜康市| 错那县| 沙田区|