560 likes | 775 Views
第 7 章. 分散式資料庫管理系統 與主從式系統 資料庫系統設計實務與管理,5 e. 學習目標. 何謂分散式資料庫管理系統 (DDBMS) 以及它有哪些組成元件 資料與處理的不同分散程度如何影響資料庫的實作 分散式資料庫環境如何管理異動 分散式資料庫環境如何影響資料庫的設計 何謂主從式運算 主從式系統有哪些優點 主從式系統的演變 主從式系統元件之間的互動 主從式系統對 DBMS 有何影響. 分散式資料庫管理系統的演進. 分散式資料庫管理系統 (DDBMS) 相互連接的電腦系統 資料的儲存和處理功能均被分散在網路上各個不同點
E N D
第 7 章 分散式資料庫管理系統 與主從式系統 資料庫系統設計實務與管理,5e
學習目標 • 何謂分散式資料庫管理系統(DDBMS)以及它有哪些組成元件 • 資料與處理的不同分散程度如何影響資料庫的實作 • 分散式資料庫環境如何管理異動 • 分散式資料庫環境如何影響資料庫的設計 • 何謂主從式運算 • 主從式系統有哪些優點 • 主從式系統的演變 • 主從式系統元件之間的互動 • 主從式系統對DBMS有何影響 資料庫系統設計實務與管理,5e
分散式資料庫管理系統的演進 • 分散式資料庫管理系統 (DDBMS) • 相互連接的電腦系統 • 資料的儲存和處理功能均被分散在網路上各個不同點 • 1970: 集中式 DBMS • 1980: 社會和技術的重大改變 • 需要特別的資料存取能力 • 分散式管理結構變成常態 • 1990: 新的力量 • 資料存取與散佈利用 Internet 與全球資訊網 • 透過資料探勘與資料倉儲進行資料分析 資料庫系統設計實務與管理,5e
DDBMS 的優點 • 資料可以靠近需求最大的地點 • 更快的資料存取 • 更快的資料處理 • 增加便利性 • 改善溝通 • 減少運作成本 • 使用者合適的介面 • 減少單點故障的危險性 • 處理器獨立 資料庫系統設計實務與管理,5e
DDBMS 的缺點 • 管理和控制複雜 • 安全性 • 缺少標準 • 儲存需求的增加 • 資料環境的管理非常困難 • 訓練費用的增加 資料庫系統設計實務與管理,5e
分散式處理 多個實際獨立的地點透過網路互相連結共用同一個資料庫的邏輯來處理資料 圖 7.1 資料庫系統設計實務與管理,5e
分散式資料庫 將邏輯上相關的資料庫實際儲存在多個獨立的地點 圖 7.2 資料庫系統設計實務與管理,5e
分散式資料庫與分散式處理 • 分散式處理 • 不需要分散式資料庫 • 可以應用在單一電腦上的獨立資料庫 • 所以資料的複本或部分的資料庫處理功能必須分散到所有的資料儲存地點 • 分散式資料庫 • 需要分散式的處理 • 兩者均具 • 需要網路連結各組成元件 資料庫系統設計實務與管理,5e
DDBMS 的功能 • 應用程式與使用者介面 • 驗證以分析資料要求 • 轉換以決定要求的組成元件 • 查詢最佳化以找出最佳的存取策略 • 映對決定資料所在位置 • I/O 介面讀取或寫入資料 • 格式化準備資料的表示方式 • 安全性提供資料的私密性 • 備份與復原 • DB 系統管理 • 並行控制 • 異動管理 資料庫系統設計實務與管理,5e
集中式資料庫 圖 7.3 資料庫系統設計實務與管理,5e
完整的分散式資料庫管理系統 圖 7.4 資料庫系統設計實務與管理,5e
DDBMS 組成元件 • 電腦工作站 • 網路相關軟硬體元件 • 通訊媒介 • 異動處理器(Transaction processor, TP) • 又名應用程式處理器(application processor, AP) 或異動管理單元(transaction manager, TM) • 資料處理器(Data processor, DP) • 又名資料管理單元(data manager, DM) 資料庫系統設計實務與管理,5e
分散式資料庫的組成元件 圖 7.5 資料庫系統設計實務與管理,5e
DDBMS 通訊協定 • 利用網路介面在 DP 與 TP 之間傳輸資料和指令 • 對從 DP 接收到的資料做同步處理,然後將資料轉送到適當的TP • 確保分散式系統中共同的資料庫功能 • 安全性 • 並行控制 • 備份與復原 資料庫系統設計實務與管理,5e
資料和處理的分散程度 資料庫系統的分類可以根據處理分散和資料分散的方式為基礎 表 7.1 資料庫系統設計實務與管理,5e
單點處理單點資料 (SPSD) • 所有處理都是在單一 CPU 或主機電腦上執行 • 所有資料也都儲存在主機電腦的區域磁碟中 • DBMS 位於電腦主機上 • 由連結的簡單終端機存取 DBMS • 大型主機與迷你級電腦 DBMS 的典型方式 • 第一代單使用者微電腦資料庫的典型方式 資料庫系統設計實務與管理,5e
單點處理單點資料 (續) 圖 7.6 資料庫系統設計實務與管理,5e
多點處理多點資料 (MPSD) • 需要網路檔案伺服器 • 透過 LAN 存取應用程式 • 它的變形稱為主從式架構 圖 7.7 資料庫系統設計實務與管理,5e
多點處理多點資料 (MPMD) • 完全的分散式資料庫管理系統,支援位於多個地點的多重 DP 與 TP • 同質性 • 透過網路整合同一類型的集中式 DBMS • 異質性 • 透過網路整合不同類型的集中式 DBMS 資料庫系統設計實務與管理,5e
異質性分散式資料庫架構 圖7.8 資料庫系統設計實務與管理,5e
分散式資料庫的透通性 • 讓使用者覺得自己是資料庫唯一的使用者 • 隱藏分散式資料庫的複雜性 • 透通特性 • 分散 • 異動 • 故障 • 效率 • 異質 資料庫系統設計實務與管理,5e
分散透通性 • 讓管理實際分散在各地資料庫的動作變成好像是集中式的管理 • 三個等級 • 資料分割透通性 • 位置透通性 • 區域映對透通性 表 7.2 資料庫系統設計實務與管理,5e
異動透通性 • 確保資料庫的異動能夠維持完整性與一致性 • 只有在分散各地之資料庫中的所有異動均完成,整體的異動才算完成 • 管理機制 • 遠端要求 • 遠端異動 • 分散式異動 • 分散式要求 資料庫系統設計實務與管理,5e
遠端要求 圖 7.7 資料庫系統設計實務與管理,5e
遠端異動 圖 7.11 資料庫系統設計實務與管理,5e
分散式異動 圖 7.12 資料庫系統設計實務與管理,5e
分散式要求 圖 7.13 資料庫系統設計實務與管理,5e
分散式要求 (續) 圖 7.14 資料庫系統設計實務與管理,5e
分散式並行控制 • 多點多處理的操作比較容易造成資料不一致與產生死結的異動 • 問題 • 由區域 DP 提交異動 • 若有一個 DP 無法提交異動的結果 • 產生不一致狀態的資料庫 資料庫系統設計實務與管理,5e
兩段式提交協定 • DO-UNDO-REDO 協定 • 預寫協定 (Write-ahead protocol) • 兩種節點 • 協調者 (Coordinator) • 從屬 (Subordinates) • 階段 • 準備 • 協調者將訊息傳給所有從屬 • 確認所有節點都已準備提交或中止提交 • 最後提交 • 確定所有從屬皆已提交或中止提交 資料庫系統設計實務與管理,5e
效能透通性和查詢最佳化 • 目的:降低與執行要求有關的所有成本 • 主要成本 • 存取時間 • 通訊 • CPU 時間 • 查詢最佳化演算法的基礎 • 最佳執行順序 • 評估存取地點以降低通訊成本 • 動態或靜態最佳化 • 以統計為主與以規則為主的查詢最佳化演算法 資料庫系統設計實務與管理,5e
分散式資料庫設計 • 將資料庫分割成不同分段 • 水平式 • 垂直式 • 混合式 • 複製資料分割 • 將資料複本儲存在多個地點 • 完全、部分、無複製資料庫 • 資料配置 • 資料存放的地點 • 集中式、分割式、複製 資料庫系統設計實務與管理,5e
主從式運算 • 開發電腦化系統的運算模式 • 用戶端要求某個特定服務 • 伺服端則提供被要求的服務 • 位於相同或不同電腦 圖 7.21 資料庫系統設計實務與管理,5e
主從式運算 (續) • 主從式功能的關鍵在於處理要求的地點 • 依據伺服器和用戶端之間處理的共用程度可分為 • 精簡型用戶端 (Thin client) • 精簡型伺服器 (Thin server) • 複雜型用戶端 (Fat client) • 複雜型伺服器 (Fat server) • 分類 • 二層式 • 三層式 資料庫系統設計實務與管理,5e
主從式系統發展的原因 • 持續變更的商業環境 • 企業型資料存取的成長需求 • 提供有效的資料來源使用方式讓使用者的生產力增加 • 技術的進步 • 以個人電腦為主的平台在成本與效能方面所產生的優勢成本與效益 資料庫系統設計實務與管理,5e
運算環境的演進 圖 7.22 資料庫系統設計實務與管理,5e
大型主機與主從式資訊系統的比較 表 7.6 資料庫系統設計實務與管理,5e
主從式架構的組成元件 • 用戶端 • 前端應用程式 • 伺服器 • 後端應用程式 • 通訊中介軟體 • 通訊層 圖 7.23 資料庫系統設計實務與管理,5e
主從式架構範例 圖 7.24 資料庫系統設計實務與管理,5e
主從式架構原則 • 與硬體無關 • 與軟體無關 • 作業系統 • 網路系統 • 應用程式 • 對服務的開放存取 • 處理程序的散佈 • 處理程序自主 • 盡量利用區域資源 • 延展性與彈性 • 互通性與整合 • 標準 資料庫系統設計實務與管理,5e
伺服器元件 • 檔案服務 • 列印服務 • 傳真服務 • 通訊服務 • 資料庫服務 • 異動服務 • 其他服務 資料庫系統設計實務與管理,5e
伺服器元件 圖 7.25 資料庫系統設計實務與管理,5e
伺服器硬體的典型特性 • 快速的 CPU • 容錯能力 • 雙電源供應器 • 備用電源供應器 • 具有錯誤檢查與更正(ECC)的記憶體 • RAID • 可進行擴充的CPU、記憶體、磁碟以及週邊設備 • 支援匯流排的多重附加電路板 • 多種通訊選擇 資料庫系統設計實務與管理,5e
伺服器處理程序的優點 • 位置獨立 • 資源最佳化 • 延展性 • 互通性和整合性 資料庫系統設計實務與管理,5e
資料庫中介層 • 與網路無關 • 前端應用程式存取資料時不用考慮網路協定 • 與資料庫伺服器無關 • 使用通用的 SQL 存取不同的資料庫伺服器 • 可以讓程式設計師不用考慮各種不同 SQL 版本的語法差異 資料庫系統設計實務與管理,5e
通訊中介層 • 兩個層次 • 實體層 • 用戶端與伺服器端電腦 • 邏輯層 • 用戶端與伺服器的處理程序 • 程序間通訊協定 (ICP) 資料庫系統設計實務與管理,5e
資料庫中介層元件 圖 7.27 資料庫系統設計實務與管理,5e
中介層元件之間的互動 圖 7.28 資料庫系統設計實務與管理,5e
利用中介層存取多重資料庫伺服器 圖 7.29 資料庫系統設計實務與管理,5e
利用中介層存取大型主機資料庫 圖 7.30 資料庫系統設計實務與管理,5e