定期快照事实表-设计问题



我正在设计一个新的周期性快照事实表。我正在调查健康保险索赔、人们欠保险公司的钱以及他们已经支付的金额。表中的数据将如下所示。

CLAIM_ID    TIME_KEY   AMOUNT_OWED     PAID
123        31.1.2000          1000     0
123        28.2.2000           900     100
123        31.3.2000           800     200
123        30.4.2000             0     1000
123        31.5.2000             0     1000
123        30.6.2000             0     1000
123        31.7.2000             0     1000
123        31.8.2000             0     1000
...

正如您在2000年4月30日之后看到的那样,为claim_id 123插入新数据是没有意义的,因为它不再发生变化(有合理程度的确定性,这不会发生(。停止为此索赔插入数据是个好主意吗?还是应该一直插入到时间结束:(?

我主要关心的是在设计数据仓库表时坚持最佳实践。

谢谢你的回答!

只是一些想法。。。

  1. 除非你可以在一天内对一项索赔进行多次付款(以及可能的其他交易,例如增加欠款的利息(,否则你所展示的并不是一个简单的事实,而是一个交易事实。给出的正常示例是一个银行账户,您每天有多笔入/出交易,然后是日末(或月底(头寸的快照。显然,我不知道你的商业模式,但似乎不太可能每天针对一项索赔进行多笔交易
  2. 如果自上次事实记录创建以来,索赔没有任何变化,那么创建新的事实记录似乎没有什么意义

如果您有,通常会选择定期快照

a( 大量交易和

b( 你需要在某个时间点(在你的情况下是月底(有效地访问数据

如果你每月有50笔索赔交易,并且索赔平均有效一年,即使你将持有50年的无效索赔,你也会从这种设计中获利(你可能不会这样做;(

您的疑虑表明您在每个索赔生命周期中没有那么多交易。在这种情况下,您应该考虑存储每个事务的事实表

对于非活动声明,您将完全没有开销,但要在特定时间获得快照信息,您必须读取整个表。

相反,周期性快照通常在快照时间上进行分区,因此访问非常有效。没有免费午餐节省空间并有效访问

最新更新