Database 为什么操作数据库不能像数据仓库那样满足业务挑战?
我有一个问题,为什么操作数据库不能像数据仓库那样满足业务挑战? 在操作数据库中,我可以创建关于任何产品或任何事物的详细报告,并且可以发布带有图表的统计报告,那么为什么操作数据库不能用作数据仓库呢Database 为什么操作数据库不能像数据仓库那样满足业务挑战?,database,data-warehouse,Database,Data Warehouse,我有一个问题,为什么操作数据库不能像数据仓库那样满足业务挑战? 在操作数据库中,我可以创建关于任何产品或任何事物的详细报告,并且可以发布带有图表的统计报告,那么为什么操作数据库不能用作数据仓库呢 致意通常,运行数据库只跟踪每条记录的当前状态 数据仓库的用途有两个: -保持对历史事件的跟踪,而不影响运行数据库; -隔离OLAP查询,以便它们不会影响操作数据存储的负载 如果您试图查询您的运营数据存储,以了解过去一年每个产品线每月的销售额,则所需的连接量以及需要从存储中读取的信息量可能会导致运营数据库
致意通常,运行数据库只跟踪每条记录的当前状态 数据仓库的用途有两个: -保持对历史事件的跟踪,而不影响运行数据库; -隔离OLAP查询,以便它们不会影响操作数据存储的负载 如果您试图查询您的运营数据存储,以了解过去一年每个产品线每月的销售额,则所需的连接量以及需要从存储中读取的信息量可能会导致运营数据库的性能下降 数据仓库试图通过1)保持事物的分离和2)数据模型的非规范化(Kimball方法)来避免这种情况,以便查询计划更简单 我建议阅读Ralph Kimball的数据仓库工具包。第一章正是针对这个问题:如果我们已经有了一个可操作的数据存储,为什么我们需要一个数据仓库 我可以创建关于任何产品或任何事物的详细报告 我可以发布带有图表的统计报告 是的,您可以,但业务用户不能,因为他们不懂SQL。您可能会发现,将BI工具(供业务用户使用)置于操作数据库之上非常困难,原因有很多:
- 数据模型不是为最终用户所理解而构建的。数据仓库数据模型是(即,有一个客户表,其中包含客户的所有信息,而不是拆分为地址、帐户等)
- 操作数据存储可能缺少重要的报告参考数据,例如分组级别和层次结构
- 缓慢变化的维度是一种“透明”建模变化的方法,例如,客户。操作数据模型通常不能很好地做到这一点。如果存储了这些信息,则需要理解所有表并正确地联接它们