开发确定数据可用性的算法

时间:2014-10-18 15:00:11

标签: java scheduled-tasks data-warehouse change-data-capture

我们正在使用变更数据捕获工具近乎实时地将源数据迁移到目标数据库。 挑战在于尽可能准确地识别之间存在的数据迁移延迟 来源和目标。该工具的延迟报告功能并不令我们满意,所以我 我们的任务是开发一个能够更好地监控这一特定指标的流程。

我们需要了解这一点有两个主要原因:

1:为我们的用户提供准确的数据可用性矩阵,以支持报告计划。例如,    在安排每日对帐报告之前,应该在午夜过后多长时间    前一天,我们希望尽快得到这些信息吗?

2:确定数据镜像进程运行速度比平时慢(或甚至已停止)的情况。    这将触发一封电子邮件给我们的支持团队进行调查。

我正在寻找一些关于如何最好地完成这个看似简单的任务的一般性想法

1 个答案:

答案 0 :(得分:1)

我首选的方法是专用心跳或健康检查表。 在源处,该表具有标识列(SQLserver)列或来自序列(Oracle)的值作为主标识符;固定的任务名称字符串;固定服务器字符串(如果没有已由任务名标识;以及当前时间。

让源上的脚本/作业每分钟(或2分钟或10分钟)插入一条记录

在CDC引擎中(如果有),添加一个列,其中包含处理更改事件的时间。

在目标处,添加最终列默认为插入时的当前时间。

单个目标表可以容纳多个源/任务。

常规blibs将使人们能够一目了然地看到更改是否成立,应用程序是否正在生成更改。

直观的报告可以显示当前的延迟,以及随时间推移的延迟。 很高兴能够比较本周一和#39;与上周一'看看事情是否相似,更好或更糟。

干杯,海因。