2012-11-30 45 views
2

鑑於這種情況,分區VS多個多維數據集性能

三個國家銷售信息。

CountryA: 0.9M records. 
CountryB: 0.8M records. 
CountryC: 0.7M records. 

從理論上講,這將是預期的性能差異(*)以下方法之間

  1. 單個多維數據集,每個國家/地區有一個分區。
  2. 三個立方體,每個國家一個。

(*)對於單個國家查詢,偏離課程。

回答

2

只要分區方法的查詢正確地指向適當的分區,應該幾乎沒有性能差異。

如果事實/維度關係相同,請使用分區方法。這將使跨分區返回結果變得更加容易(如第1季度的TotalRevenue或ProductA的TotalCost)。如果將它們分離成單獨的立方體,這些將會更難以計算。對於使用自助服務研究工具(如Excel數據透視表或報告生成器)的分析人員來說,定位多個立方體也會更加複雜。

下面介紹一下SQL CAT團隊建議關於分區大小:

在大多數情況下,分區應包含少於20萬條記錄的大小和每個度量組應包含少於2000個總分區。另外,避免定義包含少於兩百萬條記錄的分區。太多的分區會導致元數據操作減速,分區太少會導致錯過並行機會。

你明顯低於2000萬條記錄推薦。另外,我還會看看每個分區的數據大小。一個較小的多維數據集(只需要度量值,屬性關係和正確定義的層次結構等)可以很好地執行,每個分區的記錄數量要多得多。

這裏是那裏SQL CAT最佳實踐名單:

http://sqlcat.com/sqlcat/b/top10lists/archive/2007/09/13/analysis-services-query-performance-top-10-best-practices.aspx

+1

+1莫大的聯繫,謝謝。 – daniloquio

+0

@daniloquio我有一個立方體,每個分區大約有2億條記錄。查詢的速度非常快,我的CIO聲稱這是神奇的:)祕訣在於高效的設計。按照鏈接中的最佳做法,您很快就會被稱爲BI搖滾明星。 – brian