一、什么是数据仓库
数据仓库是一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。
·面向主题:主题简单的说就是与业务相关的数据类别,每一个主题对应一个宏观的数据分析邻域。数据仓库被设计成辅助人们分析数据。
·集成:集成与面向主题密切相关,想要从某个层面整体的分析数据,需要将多个分散的数据源统一成一致的、无歧义的数据格式后,再放到数据仓库中。因此数据仓库必须能够解决命名冲突、单位不一致等问题。当完成这些数据整合之后,该数据仓库就可以被称为集成的。
·随时间变化:为了发现业务变化的趋势、存在的问题或者新的机会,需要分析大量的历史数据。数据仓库关注的是数据随时间变化的情况,并且能够反应出在过去某个时间点的数据是怎样的,也就是说它关注的是某一历史事件点的数据快照。但是存储结构不会无限扩展,数据不可能只入不出,数据在数据仓库中也有生命周期,到一定时间点后数据会从数据仓库中移除,移除的方式可能是将细节数据汇总后删除、将老是数据转储到大容量介质后删除或者是直接物理删除。
·非易失:数据仓库中的数据是静态的,当数据进入数据仓库后,数据就不再有改变。数据仓库环境中一般不进行数据更新,当改变的数据进入数据仓库后,这样就保留了数据变化的历史轨迹。
数据仓库还有一个重要概念是粒度,粒度指的是数据的细节或汇总程度,细节程度越高,粒度级别越低。如单个事务是低粒度级别,而一个月的事务就是高粒度级别。一般来说进入数据仓库的数据属于低粒度级别,此时应对数据进行编辑、过滤和汇总,使其适应当前数据仓库环境的粒度级别。
二、操作型系统和分析型系统
在一个大组织中,往往都有两种类型的系统,操作型和分析型,这两种都是以数据库作为数据管理、组织、和操作的工具。操作型系统完成组织的核心业务,核心目标是尽可能块的处理事务,同时维护数据的完整性和一致性。而分析型系统的主要作用是通过数据分析评估组织的业务经营状况,并进一步辅助决策。
1.操作型系统
操作型系统是一类专门管理面向事务的应用的系统。“事务”一词这里指的是计算机或者数据库的术语。
事务是数据库中的一个逻辑单元,事务一般代表着数据改变。数据库中使用事务一般出于两个目的:
- 保证工作单元的可靠性,当数据库系统出现异常时,其中执行的操作或者已经完成或者部分完成,在这种情况下,数据库系统必须能够恢复到数据一致的正常状态。
- 提供并发访问数据库的多个程序间的间隔,如果没有这种间隔,程序的到的结果很可能是错误的。
根据事务的定义,事务具有原子性、一致性、持久性、隔离性的特点:
- 原子性:指事务中的一系列操作全部执行或者全部不执行,这些操作是不可再分的。原子性可以房子数据被部分修改。
- <