为什么操作型数据库不能像数据仓库那样应对业务挑战?

why operational database are not fulfilling business challenges as data warehouse?

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

此致

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

数据仓库的目的有两个: - 跟踪历史事件而不会使操作数据库不堪重负; - 隔离 OLAP 查询,使它们不会影响操作数据存储上的负载。

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

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

我建议阅读 Ralph Kimball 的 The Data Warehouse Toolkit。第一章恰好解决了这个问题:如果我们已经有了一个可操作的数据存储,为什么还需要一个数据仓库?

i can create reports in details about any product or any thing

and i can issue statistical reports with charts and diagrams

是的,您可以,但企业用户不能,因为他们不知道 SQL。而且您很难将 BI 工具(供业务用户使用)置于操作数据库之上,原因有很多:

  • 数据模型不是为最终用户理解而构建的。数据仓库数据模型 (即,有一个 table 用于客户,其中包含有关客户的所有信息,而不是分为地址、帐户等)
  • 运营数据存储可能缺少重要的报告参考数据,例如分组级别和层次结构
  • 缓慢变化的维度是一种'transparently' 建模变化的方法,例如,客户。操作数据模型通常不能很好地做到这一点。您需要了解所有 table 并正确加入它们,如果这些信息甚至被存储

还有很多其他原因,但这些只是为了解决您的问题

当您忙到无法满足业务用户的请求,并且每天发布的报告都不匹配时,您就会开始看到数据的价值仓库.