Oracle11g 数据仓库中的Oracle物化视图或聚合表

Oracle11g 数据仓库中的Oracle物化视图或聚合表,oracle11g,data-warehouse,materialized-views,Oracle11g,Data Warehouse,Materialized Views,oracle(11g)的物化视图是否是数据仓库中聚合表的良好实践 我们有DW流程,每天替换2个月的数据。有时,这意味着每个月只有几场演出(约10万排)。 在它们之上是物化视图,这些视图在数据传输的夜间周期后被刷新。 我的问题是,创建聚合表而不是MVs会更好吗?我认为聚合表可能有益的一种情况是,聚合可以有效地与原子级数据负载相结合,最好用一个例子来说明 假设您每天通过分区交换将大量数据加载到事实表中。使用分区更改跟踪的物化视图刷新将在分区交换期间或之后触发,它将扫描修改的分区并将更改应用于MV 作

oracle(11g)的物化视图是否是数据仓库中聚合表的良好实践

我们有DW流程,每天替换2个月的数据。有时,这意味着每个月只有几场演出(约10万排)。 在它们之上是物化视图,这些视图在数据传输的夜间周期后被刷新。
我的问题是,创建聚合表而不是MVs会更好吗?

我认为聚合表可能有益的一种情况是,聚合可以有效地与原子级数据负载相结合,最好用一个例子来说明

假设您每天通过分区交换将大量数据加载到事实表中。使用分区更改跟踪的物化视图刷新将在分区交换期间或之后触发,它将扫描修改的分区并将更改应用于MV

作为要与事实表分区交换的表填充的一部分,您也可以使用多维数据集/汇总在不同级别计算聚合,并使用多表插入加载表,然后将交换分区到一个或多个聚合表中。这不仅可以通过避免重新扫描原子级数据而从本质上提高效率,还可以在事实表分区交换之前计算聚合,因此如果出现任何错误,可以暂停对事实表本身的修改


以后可能会有其他想法。。。如果其他人有想法,我会以社区维基的形式公布答案。

如果你能解释一下你为什么考虑更换MVs,那会很有帮助;我假设某个问题促使你寻找替代方案,让人们了解你试图解决的问题会很有用。我不确定这是否有用。我(几年前)在Oracle 9i中遇到过一个MVs经验不好的案例。查询重写过程非常混乱,查询耗时太长。我认为这在几乎所有DW中都是常见的情况,我想知道以前是否有人检查过它,它是否稳定并且比聚合表提供更好的性能。您现在是否有性能差和不稳定的系统?如果你这样做了,那么你当然应该探究原因,但另一方面,如果一切顺利,那么你的时间可能最好花在其他地方。在问题出现之前解决问题是困难的:-)在4小时的夜间负载中,有2小时是MVs刷新。没有问题,只是想让它接近2小时。