传统的关系型数据库RDB遵循一致的关系型模型,其中的数据(记录)以表格的方式存储,并且能用统一的结构化查询语言(Structual Query Language,SQL)进行数据查询,因此它的应用常被称为联机交易处理(OLTP),其重点在于完成业务处理,及时给予客户响应。关系型数据库能够处理大型数据库,但不能将其简单地堆砌就直接作为数据仓库来使用。数据仓库主要工作的对象为多维数据,因此又称为多维数据库。多维数据库的数据以数组方式存储,既没有统一的规律可循,也没有统一的多维模型可循,它只能按其所属类别进行归类。以应用而言,多维数据库应该具备极强的查询能力,多维数据库中存储的信息既多又广,但由于其完成的是一种联机事物分析(OLAP),因此并不追求瞬时的响应时间,在有限的时间中给予响应即被认可。实际上,OLAP包含交互式的数据查询,伴随着多种分析方法,例如下钻或成功地钻入到最底层的细节信息上。因此数据仓库中的信息,尽管是多维的,仍然可以用具体的表格表示。尽管数据仓库与传统数据库之间存在着如此大的差异,但设计数据仓库并不是完全另起炉灶,而可利用现有的传统处理数据,从中进行信息的综合,从而构造出满足不同需求的数据仓库。即数据从动态的、目前事件驱动的传统工作数据流向静态的、历史性质的数据仓库。从理论上说,从工作数据中战略性地引入到期的数据可以完成这种转变,但是由于受到实际存储容量和技术的限制,这实际上是不可能的。因此必须从工作数据中分离和筛选数据进入到数据仓库中。鉴于以上各种因素,为保证OLAP的性能,必须将数据仓库和传统工作的数据相分离。
对比内容 | 数据库 | 数据仓库 |
数据内容 | 当前值 | 历史的,存档的,归纳的,计算的数据 |
数据目标 | 面向业务操作,重复处理 | 面向主题域,分析应用 |
数据特性 | 动态变化,按字段更新 | 静态,不能直接更新,只能定时添加,刷新 |
数据结构 | 高度结构化,复杂,适合操作计算 | 简单,适合分析 |
使用频率 | 高 | 中到低 |
数据访问量 | 每个事务只访问少量记录 | 有的事务可能需要访问大量的记录 |
对响应时间的要求 | 以秒为单位计算 | 以秒,分钟,甚至小时为计算单位 |