数据仓库的兴起正是源于企业日益增长的商业智能和决策分析需求。企业期望能够全面获取内外部的数据资源,洞见历史运营趋势,预测未来发展态势,从而制定前瞻性的经营策略。然而,分散的OLTP系统由于数据孤岛、格式不一致等问题,无法很好地满足这一需求。
因此,建立一个集成的、面向主题的、反映历史的企业级数据仓库就显得尤为重要。它可以将组织内外部的海量数据进行有效整合,为企业提供高质量的数据资源和强大的分析能力,支持商业智能、数据驱动决策等应用,助力企业的数字化转型和管理升级。
OLAP(在线分析处理)和OLTP(在线事务处理)
OLAP(在线分析处理)和OLTP(在线事务处理)是两种不同的数据处理系统,它们在设计目标、工作负载、数据模型等方面有着明显的区别:
OLTP(在线事务处理)系统:
- 目的: 支持日常业务运营,处理大量的基本事务查询和更新操作,如银行账户查询、购物订单等。
- 工作负载: 大量的短小事务,以插入、更新、删除为主。
- 数据模型: 基于高度规范化的关系模型,以避免数据冗余。
- 用户: 操作人员和终端用户。
- 数据视图: 支持细节性的、最新的数据视图。
- 性能要求: 快速事务响应和数据访问速度。
- 典型应用: 订单处理、银行账户管理、库存控制等。
OLAP(在线分析处理)系统:
- 目的: 支持决策分析,对整合的历史数据进行多维度分析。
- 工作负载: 复杂的分析查询,用于生成报表、数据挖掘等。
- 数据模型: 基于多维立方体模型,以支持多维分析。
- 用户: 分析人员、决策者。
- 数据视图: 支持从不同角度观察统计数据的聚合视图。
- 性能要求: 支持大量复杂查询和高吞吐量。
- 典型应用: 销售分析、财务分析、客户分析等商业智能应用。
数据仓库的特点
数据仓库与传统的操作数据库(OLTP)有着明显的区别,它具有以下几个主要特征
面向主题(Subject Oriented)
数据仓库按照特定的主题领域(如销售、财务、客户等)组织和存储数据,而不是按功能或应用程序分散存储。这种主题化的组织方式有利于进行跨系统、跨部门的数据分析和查询。
例如,在一家制造企业中,可以构建以"销售"、"生产"、"供应链"等为主题的数据模型,将原始运营数据按照主题域进行集成,支持各个业务主题上的分析需求。
集成的(Integrated)
数据仓库通过ETL(提取-转换-加载)过程,将来自于不同异构数据源系统的数据进行抽取、转换和集成,形成了统一的、一致的企业数据视图。它消除了分散系统中数据的不一致和冗余。
相对稳定的(Non-Volatile)
数据仓库中的数据是只读的,不会被更新、修改或删除。一旦数据加载进入数据仓库就变为静态和持久的了。新的数据会通过ETL过程不断导入,但原有数据保持不变。这确保了数据的完整性和一致性。
反映历史变化的(Time-Variant)
数据仓库不仅存储当前最新的数据快照,还包含了企业长期运营过程中积累的历史数据。这些历史数据反映了随着时间推移数据的变化情况,可用于分析过去的趋势、模式和异常。
为了满足长期保存和分析需求,数据仓库采用持久化的存储方式,如关系数据库、文件系统、数据湖等,而不是临时缓存。
总结
数据仓库的特征使得数据仓库成为面向分析决策的数据基础架构,与传统的面向交易处理的OLTP系统形成了明显区别和互补。数据仓库可以提供一个集中、一致、高质量的数据环境,满足企业的商业智能和分析需求。
总的来说,OLTP侧重于对详细操作数据的高效处理和持续更新,以满足日常业务运营需求;而OLAP则着眼于对集成的统计数据进行复杂分析,为企业决策提供支持。两者在设计理念和目标上存在着本质区别。
数据仓库正是为了支持OLAP分析而构建的一种专门的数据存储系统,它将OLTP系统的分散数据进行了主题化集成,为分析查询和数据挖掘提供了优化的环境。因此,数据仓库架构将OLTP和OLAP相分离,使它们各自发挥所长,相辅相成