仓库填充过程的监控技术
2008-12-12 16:35:06 来源:WEB开发网核心提示: IWH.EDITION 表上的 after-insert 触发器并非很有用,因为它只能截获其 status 值为 start 的记录行,仓库填充过程的监控技术(4),而这些行不含任何有用值,这些有用值只能在描述同一版本的其他行中找到, 一个步骤每次以失败或警告而终止的执行记录;与之相比,如
IWH.EDITION 表上的 after-insert 触发器并非很有用,因为它只能截获其 status 值为 start 的记录行。而这些行不含任何有用值,这些有用值只能在描述同一版本的其他行中找到。但其描述机制确保了将数据连续地从 IWH.EDITION 复制到 WIP_FULL_ARCHIVE 表,并且提供了每个版本整个生存期的全部历史记录。我们测试后发现触发器对于性能的影响极其微小。由于档案表的内容持续增长,而且如果频繁填充仓库,其增长速度可能会相当快,所以我们需要通过定期删除档案表中数据的方式来改进该方法。这将在后面的小节中进行描述。
挖掘包含 WIP 完整历史的表中的数据
我们定义了 3 个步骤,用以从记录了 WIP 完整历史的表中筛选数据并且计算出一些重要信息,这是一些关于已执行完毕的步骤、各步骤的中间状态以及各步骤调度的信息。而其输出就保存在下列表中:
表 STEPS_COMPLETED(图 2)保存了每个版本的有关信息,这些版本可以是已经成功完成的,是已经失败的,或是以返回警告代码而结束的。该表包含了在 WIP 中显示的所有字段;WIP 中为数值型代码值的字段值已被其显式值取代。其中还有一个表示执行时间的附加字段,这是通过将该步骤完成的时间减去填充该版本的起始时间而得出的。其时间间隔比该步骤从开始执行到结束所经过的时间要短一些。
图 2
该表中包含了无法在 WIP 中获得的信息:
一个步骤每次成功的执行记录;相比之下,WIP 最多只会包含一个步骤最后一次成功的执行记录。
一个步骤每次以失败或警告而终止的执行记录;与之相比,如果操作员决定清除该版本,那么 WIP 中可能已经删除了其中一些记录。
更多精彩
赞助商链接