上期的文章《大数据环境下的多维分析技术-动态立方体(Dynamic Cubes)的性能调优(一)》让大家了解到,在大数据环境下,IBM Cognos的Dynamic Cubes可以实现TB级的多维分析功能,文章探讨了影响Dynamic Cubes性能的因素,还介绍了Dynamic Cubes性能调优的一些手段;文章《大数据环境下的多维分析技术-动态立方体(Dynamic Cubes)的性能调优(二)》则告诉我们如何通过Dynamic Query Analyzer工具来对动态立方体的查询性能进行评估并得到优化建议。本期文章我们来看看动态立方体如何进行内存内部聚合的性能调优。
上期的文章《大数据环境下的多维分析技术-动态立方体(Dynamic Cubes)的性能调优(一)》让大家了解到,在大数据环境下,IBM Cognos的Dynamic Cubes可以实现TB级的多维分析功能,文章探讨了影响Dynamic Cubes性能的因素,还介绍了Dynamic Cubes性能调优的一些手段;文章《大数据环境下的多维分析技术-动态立方体(Dynamic Cubes)的性能调优(二)》则告诉我们如何通过Dynamic Query Analyzer工具来对动态立方体的查询性能进行评估并得到优化建议。本期文章我们来看看动态立方体如何进行内存内部聚合的性能调优。
内存内部聚合(In-memory aggregates)
我们知道Dynamic Cubes是基于关系数据库作为数据源,并使用系统内存作缓存的一种在大数据环境下的多维分析技术。对于TB级的关系数据库内的多维数据库表,除了使用事先设计的聚合表加速查询性能之外,还可以使用事先计算好的内存内部聚合来提升性能。
要想使用内存内部聚合,首先需要在使用Cube designer设计Dynamic Cube模型时,指定内部内存聚合的维度和指标,如下图所示。

其次,发布Dynamic Cube后,需要在对应的Cube里打开内存内部聚合,并指定可以使用内存的最大值。例如,我们可以将该Cube使用的内存内部聚合的最大值设置为100MB。这个值可以在DQA工具的估算值基础上增加一些量得到。因为,数据随着时间的推移可能会增长。如下图所示。


加载内存内部聚合
既然要使用内存内部聚合,并进行性能调优,我们就需要先了解它的数据加载实现机制。内存内部聚合在下列三种操作发生时进行加载:
- Dynamic Cube启动或者重新启动
- 刷新数据缓存
- 刷新成员缓存
内存内部聚合从底层的关系数据库的数据模型获取数据,因此加载性能受底层数据库性能影响。当Cube启动时,业务用户已经能够进行数据查询了,但这时还不能使用内存内部聚合来加速查询速度,因为内存内部聚合的加载需要一些时间。那我们如何提高内存内部聚合的数据加载性能呢/p>
首先,底层关系数据库的数据模型应该满足数据查询的高性能需求。我们可以通过模型设计工具Cube Designer的性能问题提示得到答案。如下图所示。

其次,为了提高数据加载性能,我们还可以设计一些数据库聚合表。由于这些数据库聚合表比基础的多维模型数据库的粒度更加高度汇总,所以加载数据的查询引擎会利用聚合感知功能直接从这些聚合表提取数据。具体数据库聚合表的性能调优方法在后续的文章中会涉及到,敬请关注。
第四,通过控制内存内部聚合的并行加载线程个数提升性能。在缺省情况下,每个分派器上的动态Cube会启动数据查询线程来加载数据,而线程的个数是其所在服务器的cpu核数的两倍。例如,如果该服务器的cpu核数是4核,Cognos则会同时启动4*2=8个线程用于连接底层数据库,来加载内存内部聚合。如果该服务器上部署的dynamic cube个数过多,可能会导致数据加载的性能下降。因此,我们可以通过调整参数(要并行装入的最大内存内部聚合数)降低并行线程数。如下图所示。

第五,监控聚合缓存的加载情况。Cognos提供相关的运行指标用于对内存内部聚合加载性能的监控,您可以直接在管理控制台看到运行统计情况。如下图所示。

如上图所示,控制台列出了Cube运行的性能指标,如果将鼠标移动到某个指标上面,将得到该指标的详细描述。例如,图中这个cube载入内存内部聚合所花费的时间为12.87秒。除此这外,您还可以看到内存内部聚合缓存使用的命中率,即使用内存内部聚合查询时得到结果的次数占所有查询次数的百分比。
内存内部聚合的自动优化
Cognos服务器还提供了对内存内部聚合的自动优化功能。它可以持续分析Cube的负载情况并自动优化Cube对用户查询的响应性能。启动此功能的界面如下图所示。

更多大数据与分析相关行业资讯、解决方案、案例、教程等请点击查看>>>
详情请咨询在线客服!
客服热线:
标签:大数据BI 表数据可视化数据分析
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!