2014-02-25 74 views
0

我們用saiku的mondrian olap模式來分析我們的記錄。我們使用的是星型模式模型。我們有一個包含大約300萬條記錄的事實表。我們有四個維度表,時間戳,等級,路徑和域。每個條目的時間戳幾乎都是唯一的。現在,在我們執行分析時,在saiku中部署模式後,saiku需要大量時間才能返回結果。需要10分鐘才能獲取3000條記錄,如果記錄數超過50000條saiku死亡。請告訴我該怎麼做才能提升saiku和mondrian的表現。Saiku,蒙德里安的表現隨着數據量的增加而下降

+0

你的問題有點太寬泛。你試過什麼了?這聽起來像你沒有用OLAP友好的方式設計你的倉庫。爲什麼你沒有以層次式的方式來構建你的時間維度? – Luc

+0

@Luc ..感謝您的回覆。我設計了時間戳維度,層次結構分爲年,月和日三個級別。使用pentaho schema workbench設計了我的olap模式,不知道olap友好的設計。請向我提出有關設計問題的建議。 –

回答

0

很難理解你的特定問題。

兩件事情幫助我們,當我們與賽酷的性能問題掙扎:在所有領域,有時它們的組合,可能是用作尺寸

  • 指數 - 在DB

  • 處處幫助像我們避免與其他表格非規範化我們的數據

3

您可以輕鬆弄清楚這是否是databa本身的問題或賽酷/蒙德里安問題:

  1. saiku-server/tomcat/webapps/saiku/WEB-INF/classes/log4j.xml(取消註釋部分啓用以下Special Log File specifically for Mondrian SQL Statements文本SQL日誌工具
  2. 重新啓動服務器
  3. 在齋宮
  4. 待辦事項幾個典型分析
  5. 習慣於從日誌
  6. 查詢
  7. 直接在數據庫中分析查詢的性能(例如對於PostgreSQL有explain analyze命令)

如果查詢的性能和Saiku一樣慢,那麼你已經發現了你的問題。

Btw。如果你真的有時間戳的維度(以秒爲單位),那麼你應該考慮把它分成兩個維度,分別是天和秒。

相關問題