【问题标题】:ETL Performance ProblemETL 性能问题
【发布时间】:2010-08-11 02:30:24
【问题描述】:

我在生产环境中运行 ETL 流程时遇到了一个重要问题。当我的 ETL 运行时,OLAP 服务器转得非常慢,我认为这是因为 ETL 正在更新事实表中的几个现有行并添加新行。我试图避免这个问题,让整个数据库复制和 DB1 中的 ETL 写入和从 DB2 读取的 OLAP 服务器(复制的那些)。它根本不起作用。

你能给我一些建议,让我找到正确的解决方案来避免这个问题。

我使用的是 SQL Server 2005。8GB RAM Mondrian OLAP Server 变成了 Jboss Server。 8GB 内存。 ETL 每 3 小时运行一次,运行时间为 2 小时。

如果有任何帮助,我将不胜感激。

【问题讨论】:

    标签: sql-server olap etl


    【解决方案1】:

    让 ETL 将其进程运行到新表中,然后使用 ALTER TABLE ... SWITCH PARTITION 将新数据切换到 Facts 表中。见Transferring Data Efficiently by Using Partition Switching。我还会重新审视 ETL 本身,因为可以import about 2TB/hour 使用经过良好调整的 ETL 过程,您可能自己可以压缩更多性能,我怀疑您每 3 小时导入 4TB...

    至于使用复制来缓解负载问题的想法,我只能说:复制总是添加负载,因为复制过程本身相当 > 昂贵。发布者上的每个插入、更新、删除也是订阅者上的插入、更新或删除,并且检测发布者上的更改、分发开销和在订阅者上应用更改的额外开销......只会加起来,不要减去任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      相关资源
      最近更新 更多