SSAS(分析服務)優化手冊

2021-06-18 06:09:37 字數 2931 閱讀 1721

優化前注意事項

1、資料質量。資料倉儲中維度表的資料質量要嚴格保證。比如店倉的大區、省區、管理城市等屬性和店倉**沒有一對多的上下級關係,這樣在設計店倉維度時,就無法建立有效的層次結構。這會拖慢查詢時的效能。 2

、對報表分類。可按報表的使用方式和體積對使用者報表進行分類。 1)

有的報表側重分析,維度彙總程度較高,資料量不是特別大,可以在門戶中直接使用。 2)

有的報表要求顯示全部明細資料,只是為了匯出至excel檔案進行加工,建議利用ssrs製作報表,然後將此報表以excel格式傳送至指定的共享資料夾或以郵件檔案傳送到指定使用者。避免在門戶中直接開啟此類報表,這可能會嚴重消耗伺服器的資源,影響其他報表的使用。 3

、成員數量巨大的維度,不建議查詢到最底層的資料(葉級資料)時展開全部。比如到貨品。 4

、一張報表減少sheet頁的個數,每個sheet頁的資料透視表個數最好不超過2個; 5

、分析服務(ssas)使用64位伺服器,充分利用cpu和記憶體。

優化策略

一般地,按5個方面進行優化。 1.

資料來源設計 2.

維度設計 3.

cube設計

4.分割槽設計 5.

聚合設計

資料來源設計

1、為提高效能,請使用 microsoft ole db provider for sql server 或 sql native client 訪問介面而不是 .net data provider for sql server (sqlclient) 連線到 sql server 資料來源。 2、

不要在資料來源中使用不支援的 ole db 訪問介面。ssas設計為使用特定的 ole db 訪問介面集並經過測試。儘管其他 ole db 訪問介面也可用,並且資料來源嚮導可使您選擇任何相容的訪問介面,但是不同訪問介面的功能和行為可能有很大區別。

維度設計

良好的維度設計是建制cube最重要的方面。根據終端使用者的業務需求,設計維度正確的屬性、屬性關係及層次結構。 1、

避免只有單個維度的多維資料集 2、

避免建立多個維度,而這些維度只有單個屬性,請考慮統一這些維度 3、

鍵屬性(keycolumns)的鍵列保證成員唯一性(可以使用多個鍵列保證唯一性)

4、維度表中的字段如果沒有分析意義,或暫時不用作分析,不要將它建為屬性 5、

避免為每個維度指定多個不可聚合的屬性(即isaggregatable不要設為false) 6、

屬性如設為不可聚合(isaggregatable設為false),要指明defaultmembers的值 7、

對具有 500,000 個或更多成員的屬性使用數字鍵列 8、

有些說明性字段(比如客戶的**、郵箱位址),如果將它建為屬性,請將attributehierachyenabled

設為 false

9、每個維度最好建立乙個層次結構 1)

在維度中建立層次結構。如維度嚮導沒有發現這些層次結構,要自行新增。 2)

建立層次結構前,先檢查屬性和屬性之間是否存在嚴格的一對多關第,如有,請建立屬性關係; 3)

屬性關係的名稱應與相關屬性的名稱相匹配; 4)

避免冗餘屬性關係,因為當多維資料集的粒度屬性是非鍵屬性時,這些關係可能導致資料無法聚合; 5)

較低階別的成員個數多於較高階別的成員個數; 6)

建立好屬性關係,再建立層次結構; 7)

避免將屬性的可見屬性層次結構用作使用者定義的層次結構中的級別 8)

如無必要,避免建立不存在屬性關係的非自然的使用者層次結構; 9)

有時,為方便使用者操作和應用mdx,也可建立非自然的使用者層次結構;

10)避免層次結構中不包含的菱形關係

10、將維度的 unknownmember 屬性從hidden 更改為none

11、定義時間維度時,使用「商業智慧型嚮導」,設定「time」屬性型別,以使它們與維度型別相容

12、設定時間維度鍵屬性的valuecolumn設為日期格式的字段

13、不要將維度的 errorconfigurations中的keyduplicate 設為ignoreerror ,這樣,ssas會自檢查維度和屬性的資料關聯性是否正確,並提出警告。根據這些警告,檢查維度和屬性的關聯性是否正確。

cube

設計

1.避免建立具有相同維數和粒度的度量值組 2.

避免將兩個完全沒有維度關聯絡的事實表放在乙個cube中 3.

避免在乙個多維資料集中包含15個或更多的度量值組 4.

將非重複計數度量值分為不同的度量值組 5.

將cube與分析無關的屬性的 attributehierarchyenabled設為false

分割槽設計

1、使用 molap儲存模式 2、

將超過2千萬行或大小超過250mb的大分割槽拆分為較小的分割槽以改進效能 3、

將度量值組的分割槽與少於2百萬行或大小小於50mb分割槽合併 4、

distinctcount

度量值組分區可考慮按最常用的維度來分割槽(不一定是時間)

聚合設計

1、不要在低於事實表粒度屬性的級別建立聚合 2、

為具有 500,000 或更多行的分割槽設計聚合 3、

為單個分割槽生成的聚合數不能超過500

4、不要將相關屬性包括在同一聚合中 5、

將乙個度量值組中的聚合設計數限制為三個 6、

刪除任何分割槽都不使用的聚合設計 7、

包括只具有半累加性度量值的所有度量值組聚合中的時間維度粒度屬性 8、

設計聚合時,要精確指定「估計的計數」和「分割槽的計數」;或者由ssas自行計數 9、

聚合的大小不要超過事實表大小的1/3

10、移除沒有應用到分割槽的聚合

11、基於使用者使用情況進行優化(經常使用的維度、屬性),針對這些屬性設定聚合,以取得最佳查詢效能。

ssas指令碼組織程式 SSAS 使用手冊 doc

ssas 使用手冊.doc sql server 2008 ssas使用手冊 bi olap analysis services bi概念簡介 bi系統負責從多個資料來源中蒐集資料,並將這些資料進行必要的轉換後儲存到乙個統一的儲存介質中,並提供給使用者將這些資料轉換為使用者所需資訊的功能。乙個bi系...

SSAS伺服器遷移

伺服器遷移後,原有analysis services專案部署失敗。1 出現以下系統錯誤 帳戶名與安全標識間無任何對映完成。原有專案中建立的角色包括部分賬戶不存在,刪除後重新生成 2 建立iis虛擬目錄 配置 對映 應用程式擴充套件 新增 ssas配置目錄 msmdpump.dll,副檔名.dll 其...

SSAS 最佳實踐和效能優化(1)

一般analysis services cube的效能問題可能由多方面的原因造成。源系統,cube設計,mdx查詢,網路問題等因素都可能導致效能問題的產生。在這個系列文章中,我會分享一些設計和開發cube的最佳實踐和可以用來解決現存一些效能問題的小技巧。下面的架構圖展示了經典的微軟bi應用架構,從左...