《數據庫系統實現》讀書筆記 第九章總結

第九章 並行與分佈式數據庫

9.1 關係的並行算法

1、並行模型

(1)共享內存機器

(2)共享磁盤機器

(3)無共享機器

2、並行算法

(1)一次一個元組的操作的並行

類似於分塊的思想,將關係R的元組平均的分組到P個處理器的磁盤上,並行選擇,然後彙總。

(2)整個關係操作的並行算法

δ(R)是什麼操作符?這部分沒看懂

(3)並行算法的性能

計算磁盤I/O,這個需要根據具體的操作具體計算,還要結合有多少處理器P來計算

9.2 MapReduce並行架構

見MapReduce論文總結

9.3 分佈式數據庫

介紹而已,介紹了數據的分佈,分佈式事務,數據複製

9.4 分佈式查詢處理

1、半連接化簡

如果連接後包含許多懸掛元組,則半連接化簡有效,減少了網絡間數據傳輸量

2、多個連接的化簡

(1)超圖,循環不可化簡,非循環則可化簡

(2)非循環超圖的完全化簡

9.5分佈式提交

重點,兩階段提交

分佈式事務的恢復,某些情況下有些複雜

9.6分佈式封鎖

(1)簡單方法:集中封鎖系統

所有的封鎖在一個節點上進行,消息數量3n。

(2)分佈式封鎖帶來的問題:

數據有多個副本,爲了保證可串行性,事務必須獲得邏輯元素上的全局鎖(注意區分全局鎖和局部鎖)

將局部鎖轉變爲具有所需性質的全局鎖的方法:

一個邏輯元素X可以有一個排它鎖且沒有共享鎖,也可以有任意個共享鎖且沒有排它鎖。

(3)承接(1)改進方案一 主副本封鎖

改進點:所有邏輯元素不是由一個節點來管理封鎖了。邏輯元素X有多個副本,但只有一個主副本,主副本所在的節點維護邏輯元素X的封鎖。

(4)承接(1)改進方案二 局部鎖構成的全局鎖

假設數據庫元素A有n個副本,有兩個數:

s事務獲得A上的全局共享鎖時必須以共享方式封鎖A的副本數

x事務獲得A上的排它鎖時必須以排他方式封鎖A的副本數

條件:2x > n && s + x > n,則可以滿足(2)中的性質,可以自己驗證

弊端:分佈式死鎖

應用:

讀封鎖一個,寫封鎖所有,適用於大多數事務是隻讀事務。

s = x = (n+1) / 2上取整

9.7 對等分佈式查找

1、對等網絡

2、分佈式散列問題

限制條件:
(1)只有一個節點知道與任意給定的關鍵字K對應的值

(2)k-v分佈均勻

(3)查詢需要的消息數增長緩慢

(4)維護信息增長緩慢

3、方案一 帶弦的圓

(1)每個節點記錄前驅和後繼

(2)每個節點維護手指表

(3)手指表的查詢,利用倍增的思想(可以類比倍增求LCA時的思想)

(4)加入新節點與端離開網絡

輪詢執行穩定性檢測

(5)端崩潰

解決方案:數據複製,3份,自身,前驅和後繼

發佈了46 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章