Board logo

标题: 使用 DB2 for Linux, UNIX, and Windows 加速 SAP CO-PA(2)方法-1 [打印本页]

作者: look_w    时间: 2018-6-24 14:00     标题: 使用 DB2 for Linux, UNIX, and Windows 加速 SAP CO-PA(2)方法-1

方法下面的示例演示了如何使用分区间并行性来提高 SAP CO-PA 查询的性能。为了展示 SAP CO-PA 的工作负载特征,我将介绍报告配置,解释 SAP CO-PA                的数据流和结构。我还将讨论此场景中使用的数据的属性。此外,我将介绍如何确定最佳摘要级别,如何启用分区间并行性。
报告配置报告使用 KE30 事务来配置。要查看性能设置,可以选择 Edit Report > Options >                    Performance > Presummarized data。在这里,您需要选择 3 种数据访问方法之一:
首选的选项是 “Read upon each navigation                step”。这种数据方法方法可实现按需报告,消除执行长时间计算来逐步聚合的需求,还可以消除与应用服务器上的内存使用相关的限制。
环境SAP CO-PA 收集的所有数据都单独存储在与公司的组织单元相对应的操作关注点中。每个操作关注点将其数据保存在 4 个表中。它们依据模式                    CEnxxxx 来命名,其中 n 是 1 到 4 之间的一个数字,xxxx                是特定的操作关注点的名称。为了简便起见,下面的示例中将它们称为 CEn。
明细项目被写入到按计划和实际数据划分的表 CE1 和 CE2 中。此数据已被合并和预先聚合,结果被拆分并写入到分段级别                    CE3 和分段表 CE4 中。关键数据和特定于分段的特征记录类型、计划/实际指标、版本和时段写入到                    CE3 中。剩余特征被写入到 CE4                中。这两个表是报告和创建摘要级别的主要数据来源。通常,一些明细项目包含相同的特征组合。因此,表 CE4 可再次压缩。在这个示例场景中,这会导致                    CE3 的基数变为 62,509,896 行,CE4 变为 24,603,426 行。
一个报告提供了通过定义一些谓词和下钻可能性来创建的数据视图。谓词 缩小了报告的范围,可根据任意特征来定义它。下钻                通过一系列特征来定义。最初,数据由第一个下钻特征 c0 来聚合。这种粗粒度概述是提供给用户的。选择一个条目时,会将它的值                    v0 添加到谓词列表中,将下一个特征 c1 添加到相应 SQL 语句的                    GROUP BY 子句中。
由于所有下钻特征都存储在 CE4 中,所以从 CE4 抓取的行数会在每一步中减少,而从                    CE3 抓取的行数保持不变。合并 CE3 和 CE4 可消除因为                    CE3 上的限制而过滤掉的过时特征或项目组合。由于 CE3 与 CE4 之间存在                    n:1 映射关系,所以合并结果的大小对应于 CE3 的限定行数。
您应该知道 4 个与处理的行数相关的指标:
这些基数如 图 1 所示。
图 1. 这个简化的访问计划显示了每个处理步骤的重要基数。示例报告在表 CE3 上有一个谓词。在表 CE4 上,只应用了下钻谓词。表 1 给出了每个导航步骤的 4 行。
表 1. 每个步骤和运算符读取和返回的行步骤抓取的 CE4 行数合并的 CE4 行数合并结果聚合结果024,603,42615,627,34846,882,04418614,092,8402,599,5247,798,5728172113,79672,864218,59261832,8802,1606,48010141441263787
特定于报告的谓词将从 CE3 抓取的行数从 6200 万行减少到 4700 万行。所以,该报告分析了 75% 的可用数据。在步骤 0 中,从                    CE4 抓取的行数可以确认:最初此表上没有限制性谓词。从 CE4 抓取的 2400 万行中,只有 1500                万行满足合并条件,这表明 37% 的数据已过时或被 CE3 上的谓词间接过滤掉。
摘要级别摘要级别提供来自 CE3 和 CE4 的数据作为持久化的聚合数据。使用 KEDV                    事务,按选定的特征来定义细节级别。聚合数据被物化到两个表中:K81n 和 K81(n+1),其中                    n 和 n+1 是填充了 0 的四位数。
表 K81(n+1) 类似于 CE3,而且为了简便起见,我们将它命名为                CE3S。它包含所有关键数据,但只包含 period 和 year 特征。所有特征(包括最初存储在 CE3 中的剩余                4 个特征)都被写入 K81n 中,为了简便起见,在本文中将它命名为                CE4S。报告从最低细节级别的聚合级别读取数据,以减少必须处理的数据量。
因为它会花如此长的时间来处理它们,所以摘要级别数应尽可能少。但是,在摘要级别中拥有较高的细节级别很重要,这样就能让其他报告共享和重用这些数据。摘要级别应该能够减少行数。如果将特定于分段的特征从                    CE3 转移到 CE4S,则会增加特征组合数,同时保持 CE3S                的基数不变。因此,选择更高的细节级别有可能增加数据量,而不是减少它。
显示了示例场景的每个下钻级别的摘要级别表的基数。除了相应的下钻特征之外,还添加了一个额外的特征来避免太小的表。
表 2. 每个下钻步骤的原始表基数与摘要级别表基数的对比范围CE3SCE4S原始表62,509,89624,603,426步骤 013,392576步骤 1429,33621,888步骤 210,863,000950,616步骤 354,721,80030,890,952步骤 462,304,98461,293,816一次性62,487,79262,314,560
步骤 3 和 4 的摘要级别太过详细了。步骤 2 适用于一般性的摘要级别,因为它是最详细的级别,CE4S 的基数明显低于                    CE4 的基数。根据性能需要,您可能还会考虑采用步骤 1。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0