聚合顾问(Aggregate Advisor)

浏览: 1658

Cognos Dynamic Cube的一个关键特性,是它既可以使用数据库内预计算聚合,也可以使用内存内预计算聚合。这些预计算聚合,可以把查询性能提升一个数量级,满足交互式报表和分析的性能要求。

如果在数据仓库中已经包含聚合表,我们可以在使用Cognos Cube Designer建模时,将其建模为汇总cube。当cube发布并启动后,在需要时,会自动将SQL查询路由到聚合表上。对于有一些度量,他们的聚合规则是SUM,COUNT,MAX或者MIN,聚合cube使用聚合表可以在更高的层级上计算汇总值。

在项目实践中,我们会遇到一个难题,就是决定哪些值在哪些层级上需要预汇总。特别是在使用人数众多的大型系统上,成百上千个报表和分析需要处理,这个问题就更复杂了。Cognos Dynamic Query Analyzer中的Cognos Dynamic Cube Aggregate Advisor可以很好地处理这个任务。

Aggregate Advisor会对如何在数据库中建立聚合表,在dynamic cube中建立聚合cube给出建议。Aggregate Advisor利用cube模型,收集并分析发送到数据仓库的查询,决定建议如何建立聚合表或聚合cube。同时,它还可以利用报表和分析生成的负载日志文件,更精确的分析如何优化系统负载性能。

下图展示了负载信息的Aggregate Advisor选项:

Clipboard Image.png

DQM Server生成的负载日志,包含详细信息,可以用来分辨不同负载子集,以实现有针对的优化。此外,负载日志中的信息,让Aggregate Advisor能够决定哪一个值需要预汇总。

数据库内汇总建议包含了每一个建议的详细描述,如数据列的说明,建表SQL语句。这些内容可以让DBA用来建立必要的聚合表,以及相对应的ETL脚本。

内存内聚合建议会发送到CM中。当cube重启后,一些列SQL语句会被执行,用来从数据仓库中检索汇总信息,然后储存在聚合缓存中。

因为虚拟cube不直接访问数据库,所以它没有聚合缓存。

Clipboard Image.png

推荐 1
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册