人们对数据的处理需求可以分为两种类型,操作型处理(OLTP)和分析型处理(OLAP),传统的数据库主要是面向OLTP,注重数据的计算、记录的插入、删除、与修改,以及简单的查询和统计。它的主要任务是进行事务处理,所关注的是事务处理的及时性、完整性和正确性,而在数据的分析处理方面存在着严重的不足,主要表现在以下一些方面。
首先是集成性的缺乏。业务数据库系统的条块与部门分割,导致数据分布的分散化与无序化。业务数据库缺乏统一的定义与规划,导致数据的定义存在歧义;其次是主题不明确,建立数据库的目的就是为了满足事务处理的需要,库和表的定义与设计完全以此为基础而进行,对于数据分析而言,这些库和表无疑缺少明确的主题。又是需要分析的数据会分散的存储在不同的表和库甚至不同的数据库服务器中,想要对这些数据进行有效的分析是十分困难的。然后是分析和处理的效率低下,设计基于传统数据库的应用系统的核心准则,是要确保事务得到及时、准确的处理。因此,在业务数据库系统的构建过程中,除了库和表的精心设计之外,索引的建立、存储过程的优化等工作,也均以此为中心展开,这样虽然充分提高了事务处理的效率,但是数据分析处理的效率却无法得到保证。
传统数据库由于自身条件的限制,无法担当作为大规模数据综合分析平台的重任,企业的决策迫切需要有一种新的理论与技术来提供支持,这就是数据仓库技术。
数据仓库就是面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理层的决策过程,“面向主题、集成、随时间变化和非易失”是它的主要特点。
面向主题是数据仓库中数据组织的最基本原则。数据仓库中的所谓“主题”,是一个逻辑概念。在信息管理的层次上,主题就是从管理的角度出发,对数据进行综合分析而抽取的,需要做进一步分析的对象,数据仓库的构造过程首先就是确定主题的过程。数据仓库的设计者必须明确该数据仓库所支持的决策内容,即数据仓库的用途,并将决策内容归纳为若干个具体的易于利用数据进行组织加以分析的主题。
数据仓库中数据的集成性是指,在构建数据仓库的过程中,多个外部数据源内格式不同、定义各异的数据,按照既定的策略经过抽取、清洗、转换等一系列处理。最终构成一个有机的整体。传统业务处理程序的侧重点在于迅速、正确地处理所有业务,记录业务内容和处理结果,而不是对决策提供支持。数据仓库直接使用传统业务处理的结果,进行数据分析。
数据仓库中数据的非易失性,包括两个方面的含义,其一是指数据仓库内容的更新、追加等操作是不频繁的,一般基于一定的周期或条件阈值进行;其二是指,数据在导入数据仓库后,虽然也有删除更新等操作,但决定这种操作的阈值条件是较难满足的,这种情况的发生是非常罕见的。
数据的时变性,是指数据仓库的内容随时间的变化不断得到补充、更新。其实质就是建立业务数据与时间的对应关系,即以时间为坐标轴,对既定时间点的业务数据生成“快照”,各个时间点的快照连接起来,就构成了数据仓库内容的动态连续变化图,为决策者提供有效的依据。
从数据库到数据仓库,完成了数据挖掘的最重要一步,为数据挖掘接下来的步骤的顺利进行大好了基础。数据挖掘的各项操作都是在数据仓库的基础上进行的。数据仓库的构建是一门大学问。