2014-02-25 37 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。如果你真的有时间戳的维度(以秒为单位),那么你应该考虑把它分成两个维度,分别是天和秒。

相关问题