資料倉儲的物理設計

2022-06-23 21:04:03 字數 3430 閱讀 1884

分類: 資料倉儲基礎學習

2011-09-01 13:42

35人閱讀

收藏 舉報

資料倉儲的邏輯設計完成後,就需要根據邏輯模型開始進行物理設計。

(一)物理設計過程:建立標準-->建立聚集計劃-->確定資料分割槽方案-->建立聚簇選項-->準備索引策略-->安排儲存結構-->完成物理建模。

(二)物理設計考慮地因素

對資料庫進行邏輯設計的目的是為反應現實情況地資訊內容建立一個概念模型,邏輯建模代表所有地資料組成和相互關係。

物理設計過程地主要目的是為了提高效能和更好地管理好儲存的資料。

物理設計過程地一些關鍵目標:

提高效能;

保證可伸縮性;

儲存管理;

提供簡便地管理;

靈活性設計。

物理模型的主要組成:

表、列、主鍵、外來鍵、同義詞、試圖、約束、索引、注視、使用者角色、安全特權和檔案(表空間)

標準的意義:

資料倉儲中地標準涵蓋了很廣地範圍,包括物件、程序和過程。對於物理模型,物件命名標準有特殊意義。

資料庫物件命名

1、物件元件命名:使用一種清楚的方法組合物件地名稱,名稱本身必須能包括物件本身地含義和描述;

2、單詞分界符號

3、邏輯模型和物理模型的命名

準備區域檔案和表名稱定義

2、表明目的

物理檔案命名規範

(三)物理儲存

(1)儲存區資料結構

準備區域內資料;資料倉儲資料(資料和索引表);olap的多維資料。

主要如下圖:

設定正確的塊大小:一般來說增加塊大小可以提高效能,但是還是需要找到合適的塊大小。

設定合適的塊使用引數:通常塊的使用由塊空閒率和塊使用率決定。

資料遷移管理;

塊使用管理;

解決動態擴充套件

使用檔案分帶技術。

(3)使用raid技術

raid技術基本特徵如下:

磁碟映象:將相同的資料寫入連線到相同控制器的兩個磁碟中;

雙磁碟:和磁碟映象類似,不同的是每個驅動器有自己單獨的控制器;

偶校驗:為資料加入校驗位以保證資料傳輸可靠;

磁碟分帶:資料按扇區或者位元組分佈在多個磁碟上。

raid分位6個不同的等級如下圖:

(4)估計儲存容量

下面是估計儲存容量的要點

1、對每個資料庫表,確定

行數的初始估計

行的平均長度

估計行的每月增長數

表的初始大小,以兆位元組計算

表6個月和12個月的大小

2、對所有表,確定

索引的個數

索引在最初、6個月和12個月後需要的空間

3、估計

排序、合併需要的臨時空間

準備區內的臨時檔案

準備區內的永久檔案。

(四)為資料倉儲建立索引

(1)索引

一般的規則是索引的最多個數和表的大小成反比。在建立索引時請注意下面幾個通用的原則:

索引和載入:當存在大量的索引時,向資料倉儲中載入資料速度會非常慢,可以在載入前先刪除索引,完成後再建索引。

建立大表索引:當表太大了不能建立太多索引,如果必須建立多個索引,建議將大表分成小表再建立多個索引;

只讀索引:在資料檢索過程中,索引記錄是首先讀入的,然後再讀入對應的資料。

選擇索引的列:分析最常用的查詢,哪幾列經常用來限定查詢,那麼這幾列就是建立索引的候選列;

一種分階段的方法:一開始只為每個表的主鍵和外來鍵建立索引,然後監視系統效能,特別是長時間執行的查詢,

根據監視結果再增加索引。

(2)b樹索引

b樹索引適用於列的可選擇性比較強的情況下。若表的某一列有很多唯一的值,那麼就說這列的可選擇性比較強。如果需要的資訊在索引裡面,則b樹索引不需要在訪問表獲取記錄資訊。

(3)點陣圖索引

點陣圖索引適用於低可選擇性的資料。如果有新值加入到建立了點陣圖索引的列中,點陣圖索引必須重新建立,另外在訪問點陣圖索引後總是要訪問資料表。

(4)簇索引

在其他索引中,索引段包括被索引的列而且還包括資料段中的地址入口。而簇表將資料段和索引段結合起來合而為一。

(5)為事實表建立索引

需要注意下面幾點:

1、如果dbms不為主鍵建立索引,那麼專門為全部的主鍵建立一個b-tree索引;

2、仔細設計要建立索引的組合鍵中的單個鍵的順序。將查詢中經常使用到的列作為組合鍵中級別高的鍵;

3、考慮組合鍵中的每一個鍵,根據查詢過程需要建立組合索引;

4、如果dbms支援訪問智慧組合索引,就可以為每個單獨的鍵建立索引;

5、不要忽略為包括指標的列建立索引的可能性;

6、點陣圖索引不適用於事實表。事實表中基本沒有低選擇性的列。

(6)為維度表建立索引

1、在單一主鍵上建立唯一的b-tree索引;

2、檢查約束查詢經常用到的列。這些列是點陣圖索引的候選列;

3、在大的維度表中查詢經常被一起訪問的列。確定如何在這幾列上建立和安排多列索引;

4、為經常用於連線(join)條件的每個列建立單獨的索引。

(五)提高效能的技術

(1)資料分割槽

(2)資料聚簇

(3)並行處理

(4)彙總級別

(5)參考完整性檢查

(6)初始化引數

(7)資料陣列