數據庫原理(十 三)- 物理結構設計

前言

數據庫子啊物理設備上的存儲結構與存取方法稱爲數據庫的物理結構,它依賴於選定的數據庫管理系統。爲一個給定的邏輯數據模型選取一個最適合應用要求的物理結構的過程,就是數據庫的物理設計

數據庫的物理設計通常分爲兩步:

  1. 確定數據庫的物理結構,在關係數據庫中主要指存取方法和存儲結構
  2. 對物理結構進行評價,評價的重點是時間和空間效率

數據庫物理設計的內容和方法

不同的數據庫產品所提供的物理環境、存取方法和存儲結構有很大差別,能供設計人員使用的設計變量、參數範圍也很不相同,因此沒有通用的物理設計方法可遵循,只能給出一般的設計內容和原則。

對於數據庫查詢事務,需要得到如下信息:

  • 查詢的關係
  • 查詢條件所涉及的屬性
  • 連接條件所涉及的屬性
  • 查詢的投影屬性

對於數據庫更新事務,需要得到如下信息:

  • 被更新的關係
  • 每個關係上的更新操作條件所涉及的屬性
  • 修改操作要改變的屬性值

除此之外,還需要知道每個事務在各關係上運行的頻率和性能要求,例如:

事務T必須10S內結束

這對於存取方法的選擇具有重大影響,而上述這些信息是確定關係的存取方法的依據。

關係模式存取方法選擇

存取方法是快速存取數據庫中數據的技術。數據庫管理系統一般提供多種存取方法,常用的存取方法爲索引方法和聚簇方法,其中B+樹索引和hash索引是數據庫中經典的存取方法,使用最普遍。

B+樹索引存取方法的選擇

  1. 如果一個或者(或者一組)屬性經常在查詢條件中出現,則考慮在這個(或這組)屬性上建立索引(或組合索引)
  2. 如果一個屬性經常作爲最大值和最小值等聚集函數的參數,則考慮在這個(或這組)屬性上建立索引
  3. 如果一個(或一組)屬性經常在連接操作的連接條件中出現,則考慮在這個(或這組)屬性上建立索引

hash索引存取方法的選擇

如果一個關係的屬性主要出現在等值連接條件中或主要出現在等值比較選擇條件中,而且滿足下列兩個條件之一,則此關係可以選擇hash存取方法

  1. 一個關係的大小可預知,而且不變
  2. 關係的大小動態改變,但數據庫管理系統提供了動態hash存取方法

ps:關係上定義的索引數並不是越多越好,系統爲維護索引要付出代價,查找索引也要付出代價

聚簇存取方法的選擇

爲了提高某個屬性(或屬性組)的查詢速度,把這個或這些屬性上具有相同值得元組集中存放在連續得物理塊中稱爲聚簇,該屬性(或屬性組稱爲聚簇碼)。聚簇功能可以大大提高按聚簇碼進行查詢的效率,一個數據庫可以建立多個聚簇,一關係只能加入一個聚簇。選擇聚簇存取方法,即確定需要建立多少個聚簇,每個聚簇中包括那些關係。

首先設計候選聚簇,一般來說:

  1. 對經常在一起進行連接操作的關係可以建立聚簇
  2. 如果一個關係的一組屬性經常出現在相等比較條件中,則該單個關係可建立聚簇
  3. 如果一個關係的一個(或一組)屬性上的值重複率很高,則此單個關係可建立聚簇

即對應每個聚簇碼值的平均元組數不能太少,太少則聚簇的效果不明顯。

然後檢查候選聚簇中的關係,取消其中不必要的關係:

  1. 從聚簇中刪除經常進行全表掃描的關係
  2. 從聚簇中刪除更新操作遠多於連接操作的關係
  3. 不同的聚簇中可能包含相同的關係,一個關係可以在某一個聚簇中,但不能同時加入多個聚簇

ps:要從這多個聚簇方案(包括不建立聚簇)中選擇一個較優的,即在這個聚簇上運行各種事務的總代價最小,聚簇只能提高某些應用的性能,而且建立於維護聚簇的開銷相當的大

確定數據庫的存儲結構

確定數據庫物理結構主要指確定數據的存放位置和存儲結構,包括確定關係、索引、聚簇、日誌、備份等的存儲安排和存儲結構,確定系統配置等。確定數據的存放位置和存儲結構要綜合考慮存取時間、存儲空間利用率和維護代價三方面的因素,這三個方面常常是相互矛盾的,因此需要進行權衡,選擇一個折中的方案。

確定數據的存放位置

爲了提高系統性能,應該根據應用情況將數據的易變部分與穩定部分、經常存取部分和存取頻度較低部分分開存放

確定系統配置

關係數據庫管理系統產品一般都提供了一些系統配置變量和存儲分配參數,供設計人員和數據管理員對數據庫進行物理優化

系統配置變量有:

  • 同時使用數據庫的用戶數
  • 同時打開的數據庫對象數
  • 內存分配參數
  • 緩衝區分配參數(使用的緩衝區長度、個數)
  • 存儲分配參數
  • 物理塊的大小
  • 物理塊裝填因子
  • 時間片大小
  • 數據庫大小
  • 鎖的數目等等

評價物理結構

數據庫物理設計過程中需要對時間效率空間效率維護代價各種用戶要求進行權衡,其結果可以產生多種方案。數據庫設計人員必須對這些方案進行細緻的評價,從中選擇一個較優的方案作爲數據的物理結構

借鑑

王珊,薩師煊.數據庫系統概論(第五版)[M].北京:高等教育出版社,2014:234-238.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章