为什么我们需要单独的数据仓库?
数据仓库是一种主要用于从各种来源收集和管理数据以向企业提供有意义的业务洞察力的技术。数据仓库专门设计用于支持管理决策。
简单来说,数据仓库是指与组织的操作数据库分开维护的数据库。数据仓库系统能够集成多个应用程序系统。它们通过支持一个巩固的历史信息的可靠平台来进行数据处理,以便进行分析。
数据仓库查询很复杂,因为它们包含在汇总级别计算大量信息。它可能需要使用独特的数据组织、访问和实现技术,具体取决于多维视图。
这种分离的主要原因之一是帮助提高两个系统的实施效率。操作数据库是根据已知的功能和工作负载创建和调整的,包括使用主键进行索引和哈希、搜索特定记录以及优化“预置”查询。
另一方面,数据仓库查询通常很复杂。它们包括在汇总级别计算大量信息,并且可能需要使用特定于多维视图的数据组织、访问和实现方法。在操作数据库中处理 OLAP 查询会大大降低操作任务的性能。
此外,操作数据库提供了多个事务的并发处理。并发控制和恢复机制(包括锁定和日志记录)是确保事务的一致性和鲁棒性所必需的。OLAP 查询通常需要对数据记录进行只读访问以进行汇总和聚合。
如果将并发控制和恢复机制应用于此类 OLAP 操作,可能会危及并发事务的执行,从而大大降低 OLTP 系统的吞吐量。
最后,操作数据库与数据仓库的分离基于这两个系统中信息的多种结构、内容和用途。决策支持需要历史信息,而操作数据库通常不维护历史信息。
决策支持需要整合,包括来自异构源的信息聚合和汇总,从而产生高质量、干净和集成的信息。相反,操作数据库仅包含详细的原始数据(包括事务),这些数据需要在分析之前进行整合。
由于这两个系统提供完全不同的功能并需要不同类型的数据,因此目前有必要维护单独的数据库。但是,有各种操作关系数据库管理系统供应商开始优化这些系统以支持 OLAP 查询。随着这种趋势的持续,OLTP 和 OLAP 系统之间的界限预计会减少。