|
1
11
如果要求仅用于报告,请考虑建立单独的数据仓库。这使您可以使用数据结构,如缓慢变化的维度,这些数据结构对于历史报告来说更好,但在事务性系统中却不能很好地工作。由此产生的组合还将历史报告从生产数据库中移出,这将是性能和维护的胜利。 真正地 需要这样做,因为这会增加很多复杂性。制作一个能够正确重建历史状态的事务性应用程序比看起来要困难得多。金融软件(如保险核保系统)在这方面的失败远远超出您的想象。 如果您需要仅用于审计日志记录的历史记录,请创建阴影表和审计日志触发器。这比在应用程序中正确全面地实现审计日志记录要简单得多,也更健壮。触发器还将从应用程序外部的源获取对数据库的更改。 |
|
|
2
2
这个问题符合业务逻辑。首先了解您的业务需求,然后从那里开始。对于这种情况,数据仓库是一个很好的解决方案。ETL将为您提供处理数据流的许多选项。你关于“历史”与“活动”的基本概念是非常正确的。如果您的历史数据与所有维度和事实表一起保存在数据仓库中,那么它将更加高效和灵活。 |