2008-09-25 86 views
1

我想從一堆二進制文件中構建一個OLAP數據源,而我們當前的模型只是不起作用。我們將SSAS用作我們結果的分析/報告模型,但無法從SQL中獲得我們想要的性能。SSAS中的自定義ROLAP數據源

我們的主要制約因素是:

  1. 的數據庫是非常大的。我們擁有包含數百萬行的巨大維度表和幾個較小的事實表(< 1,000,000行)。

  2. 我們有一個動態立方體。 B/C事實表是動態構建的,並且通常(可能每天多次),在設置多維數據集時不會有任何巨大的開銷。立方體上的當前部署時間可能超過24小時,而我們需要的硬件性能卻無法提供給我們。

基本上,我們希望有一個快速設置和部署,這本身並沒有借給自己使用SQL Server 2005 SSAS,但我們想用SSRS報告,我們希望在Excel中分析的OLAP模型,所以我們仍然希望在可能的情況下使用SSAS來構建多維數據集。

SSAS中用於快速部署的常見解決方案是ROLAP,但是我們在更大的ROLAP查詢中遇到了執行錯誤,而且我們也不喜歡將二進制數據轉換爲SQL並將其加載到SQL中的所有開銷立方體。

有沒有人完成了SSA​​S可以使用的自定義OLAP數據源的工作?我們正在創建我們自己的ROLAP引擎,它將直接查詢二進制源文件。

回答

2

如果需要低等待時間立方體(即,一個顯示出來的最新數據)這樣的事情的規範結構是這樣的:

  • 增量加載一個事實表與從源變化的數據。
  • 構建一個分區的多維數據集,每天或某個其他合適的時間段生成新的分區。該多維數據集具有在ROLAP模式下設置的最新分區,以及構建爲MOLAP的較舊分區。
  • 設置一個進程,用於更新分區並將舊分區從ROLAP更改爲MOLAP,因爲它會生成新的前導分區。

針對多維數據集的查詢將針對最新數據和MOLAP分區針對歷史數據進行相對較小的ROLAP分區。 MOLAP分區可以具有聚合。這個過程不停地將前沿ROLAP分區打勾並轉換其前身。 AS將保留較舊的分區並使用它,直到構建替換分區並聯機。

如果這種架構適合您的需求,您可以考慮這樣做。

1

感謝Nigel的迴應。

我想我需要解釋這個好一點。我的源數據是專有格式,而不是數據庫,所以進入事實表本身需要相當長的時間。然後,我們需要儘快部署多維數據集(最好在幾分鐘之內)並具有快速查詢響應,即使在使用SQL的小數據集中,我們目前也不會看到這些響應。

由於立方體的結構是動態的,我們經常需要重建立方體的每個方面,因此我們不會在事後引入新數據,因此將它的一部分劃分爲MOLAP和ROLAP的其他部分真的有幫助。我們正在尋找「充滿程序」的表現。

我們開始意識到,我們不能使用SQL進行查詢,並且想知道是否有人創建了分析服務(或任何OLAP工具)可以讀取的自定義ROLAP數據源。

我們可以快速處理創建結果集;我們只需要弄清楚如何從SSAS獲取查詢並將其反饋給這些結果。我們真的只是希望使用SSAS作爲我們的系統與Excel,SSRS等之間的中介,而不是用它來處理或聚合數據。

1

您可以使用類似R這樣的自制庫(它支持C Extensions)來連接您的數據集。 R將爲您構建複雜報表或數據預處理庫提供相當大的靈活性。它也有一個接口Excel

這與傳統DB/OLAP模型有點不同,但您可以很容易地在C中編寫快速數據集加載器,並跳過加載到數據庫的中間步驟。

0

我還沒有運氣呢。我們正在建立我們自己的數據提供程序,併爲excel構建插件來模擬olap行爲,或者使用CLR表值函數來模擬我們的數據源並從中構建多維數據集。由於在構建一個多維數據集時SSAS運行的查詢量很大,因此我在CLR上進行的一次嘗試表現糟糕,並且爆炸了。我正在等待在SQL 08環境中獲得更新的更快的機器,以查看這是否可行。祝你好運斯科特。