为什么运营数据库不像数据仓库那样应对业务挑战?

时间:2015-01-31 07:44:53

标签: database data-warehouse

我有一个问题,为什么运营数据库不能作为数据仓库来应对业务挑战? 在操作数据库中,我可以创建有关任何产品或任何事物的详细报告,我可以使用图表和图表发布统计报告,那么为什么操作数据库不能用作数据仓库呢?

最好的问候

2 个答案:

答案 0 :(得分:0)

通常,操作数据库仅跟踪每条记录的当前状态。

数据仓库的目的有两个: - 在不影响运营数据库的情况下跟踪历史事件; - 隔离OLAP查询,以免影响运营数据存储上的负载。

如果您尝试查询运营数据存储中过去一年每个产品系列的销售额,则所需的联接数量以及您需要从存储中读取的信息量可能会导致运营数据库性能下降

数据仓库试图避免这种情况:1)保持事物分离; 2)对数据模型进行非规范化(Kimball方法),以便查询计划更简单。

我建议阅读Ralph Kimball的The Data Warehouse Toolkit。第一章准确地讨论了这个问题:如果我们已经拥有一个运营数据存储,为什么还需要一个数据仓库呢?

答案 1 :(得分:0)

  

我可以创建有关任何产品或任何内容的详细报告

     

我可以用图表和图表发布统计报告

是的,你可以,但业务用户不能,因为他们不知道SQL。而且,由于多种原因,在业务数据库的顶部放置BI工具(供业务用户使用)非常困难:

  • 数据模型不是为最终用户理解而构建的。数据仓库数据模型(即,客户有一个表,其中包含客户的所有内容,而不是分成地址,帐户等。)
  • 运营数据存储可能缺少重要的报告参考数据,例如分组级别和层次结构
  • 缓慢变化的维度是一种“透明地”对客户进行变更建模的方法。操作数据模型通常不能很好地完成此操作。如果存储了这些信息,您需要了解所有表并正确连接它们

还有很多其他原因,但这些只是用来解决你的观点

如果您太忙于为业务用户请求提供服务,并且您发布的报告从一天到另一天不匹配,您将开始看到数据仓库的价值。