Oracle 我们应该将报告数据仓库放在事务数据库服务器上吗

Oracle 我们应该将报告数据仓库放在事务数据库服务器上吗,oracle,data-warehouse,Oracle,Data Warehouse,我们将向系统中添加一个报告数据仓库。目前,我们正在使用Oracle 10g作为交易数据库。我们是否应该将报告仓库放在物理上不同的硬件上?或者我们可以“便宜一点”并共享事务服务器吗?这实际上取决于将影响OLTP的仓库操作的时间和负载 例如,如果您有需要大量资源的主要数字运算,但您是在夜间/OLTP使用不多的时候进行的,那么您应该很好 如果使用适当的索引并将聚合表放在适当的位置,这样在报表数据检索时就不会进行太多处理,那么OLAP的资源利用率相当低 你应该做的最大的事情就是去规范化,去规范化,去规范

我们将向系统中添加一个报告数据仓库。目前,我们正在使用Oracle 10g作为交易数据库。我们是否应该将报告仓库放在物理上不同的硬件上?或者我们可以“便宜一点”并共享事务服务器吗?

这实际上取决于将影响OLTP的仓库操作的时间和负载

例如,如果您有需要大量资源的主要数字运算,但您是在夜间/OLTP使用不多的时候进行的,那么您应该很好

如果使用适当的索引并将聚合表放在适当的位置,这样在报表数据检索时就不会进行太多处理,那么OLAP的资源利用率相当低

你应该做的最大的事情就是去规范化,去规范化,去规范化。使报告结构尽可能扁平化,然后构建良好的索引结构以支持您的查询

许多实现已经在OLAP和OLTP之间共享资源


只是不要让计算bean妨碍制作bean,反之亦然,你应该没事。

如果你有一台用于OLTP的灾难恢复机器,你可能可以将它用于仓库

另一种选择是在同一硬件上使用两个虚拟机

  • 您可以使用虚拟机 分配最小值/最大值的管理 内存、CPU等

  • 如果一个数据库需要紧急 帕奇,你不必担心 它会影响其他数据库

  • 移动一个也变得更简单 如果需要,请稍后转到其自己的硬件 事实证明这是必要的


如果您使用不同的服务器,您的存储空间是什么?如果它们来自同一个共享磁盘,即使使用单独的CPU/内存,它们仍然会相互影响。

不确定您的使用模式(加载/查询),但我敢打赌,在很短的时间内,两者都位于同一个系统上的事实将导致OLTP人员将问题归咎于报告,而报告人员将问题归咎于OLTP。我们为OLTP数据库提供了一个共享的体系结构,并在不断地处理“在我们自己的盒子上”的请求,因为这将神奇地解决一些问题,如编写糟糕的SQL和PL/SQL:)