第12章数据仓库与数据挖掘技术 宁可、吴菁、胡海编著 教材:数据库技术及应用2006年4月
第12章数据仓库与数据挖掘技术 教材:数据库技术及应用 2006年4月 宁可、吴菁、胡海编著
本章要点 数据仓库的基本概念 数据仓库与联机事务处理 数据仓库的基本特点 数据仓库的基本体系结构 ·数据仓库的数据模型 数据仓库系统的前端工具-联机分析处理 数据仓库的前端工具数据挖掘 T
本章要点 • 数据仓库的基本概念 • 数据仓库与联机事务处理 • 数据仓库的基本特点 • 数据仓库的基本体系结构 • 数据仓库的数据模型 • 数据仓库系统的前端工具-联机分析处理 • 数据仓库的前端工具-数据挖掘
目录 12.1数据仓库的基本概念 12.2数据仓库的基本特点 12.3数据仓库的基本体系结构 12.4数据仓库的数据库模式 12.5数据仓库的前端工具 12.5.1联机分析处理 12.5.2数据挖掘 小结
目 录 12.1 数据仓库的基本概念 12.2 数据仓库的基本特点 12.3 数据仓库的基本体系结构 12.4 数据仓库的数据库模式 12.5 数据仓库的前端工具 12.5.1 联机分析处理 12.5.2 数据挖掘 小结
121数据仓库的基本概念 数据仓库的概念提出于20世纪80年代中期。目前数据仓库的定义 不完全统一。“数据仓库之父” WH. Inmon在其( Building the Data Warehouse)一书中定义:数据仓库是支持管理决策过程的、面向主题 的、集成的、随时间而变、持久的数据集合。它指出了数据仓库技术 是解决企业决策支持系统的重要手段。 数据仓库与传统的数据库系统有着本质的区别。传统的数据库都 是事务处理型,主要是对数据库联机的日常操作,这种数据库应用称 为联机事务处理( OnLine Transaction Processing,简称OLTP)。而数 据仓库是为了满足管理层和分析人员的信息需求,从来自不同地点或 不同操作系统的不同数据源的数据进行计算机辅助分析决策,称决策 支持系统( Decision Support Systems,简称DSS)
12.1 数据仓库的基本概念 数据仓库的概念提出于20世纪80年代中期。目前数据仓库的定义 不完全统一。“数据仓库之父”W.H.Inmon在其(Building the Data Warehouse)一书中定义:数据仓库是支持管理决策过程的、面向主题 的、集成的、随时间而变、持久的数据集合。它指出了数据仓库技术 是解决企业决策支持系统的重要手段。 数据仓库与传统的数据库系统有着本质的区别。传统的数据库都 是事务处理型,主要是对数据库联机的日常操作,这种数据库应用称 为联机事务处理(OnLine Transaction Processing,简称OLTP)。而数 据仓库是为了满足管理层和分析人员的信息需求,从来自不同地点或 不同操作系统的不同数据源的数据进行计算机辅助分析决策,称决策 支持系统(Decision SupportSystems,简称DSS)
数据仓库系统与传统的数据库系统区别 (1)驱动和面向对象不同。OLTP事务驱动,面向应用的:而DDS是分析驱动, 面向分析的 (2)特性不同。OLTP一般是操作频率高、处理时间短、一次操作量小,对系 统性能要求高;而DSS的分析处理一次操作量大,往往需要连续运行几 个小时或更长,占用的大量系统资源,但对系统的性能要求比较宽松 (3)数据集成问题。OLTP一般只需要与本部门业务有关的当前数据,对于整 个企业范围内的集成应用考虑很少。而DSS需要集成的数据,全面而正 确的数据是进行有效分析和决策的首要前提,相关数据收集的越完整, 得到的结果就越可靠 (4)历史数据问题。OLTP一般只需要当前的数据,数据库中一般也只存放更 新后的数据。但对于DSS决策分析来说,历史数据是非常重要的,许多 分析方法都以大量的历史数据为依据来进行分析,分析历史数据对于把 握企业的发展方向是很重要的。 (5)数据的综合问题,OLTP处理的是大量的细节数据,这些细节往往需要综 合后被DSS所用,而OLTP不具备这种综合能力 综上所述,传统的事务型数据库是不适用于决策支持系统的,DSS的需 是数据仓库技术出现的根本原因
数据仓库系统与传统的数据库系统区别 (1) 驱动和面向对象不同。OLTP事务驱动,面向应用的;而DDS是分析驱动, 面向分析的。 (2) 特性不同。OLTP一般是操作频率高、处理时间短、一次操作量小,对系 统性能要求高;而DSS的分析处理一次操作量大,往往需要连续运行几 个小时或更长,占用的大量系统资源,但对系统的性能要求比较宽松。 (3) 数据集成问题。OLTP一般只需要与本部门业务有关的当前数据,对于整 个企业范围内的集成应用考虑很少。而DSS需要集成的数据,全面而正 确的数据是进行有效分析和决策的首要前提,相关数据收集的越完整, 得到的结果就越可靠。 (4) 历史数据问题。OLTP一般只需要当前的数据,数据库中一般也只存放更 新后的数据。但对于DSS决策分析来说,历史数据是非常重要的,许多 分析方法都以大量的历史数据为依据来进行分析,分析历史数据对于把 握企业的发展方向是很重要的。 (5) 数据的综合问题,OLTP处理的是大量的细节数据,这些细节往往需要综 合后被DSS所用,而OLTP不具备这种综合能力。 综上所述,传统的事务型数据库是不适用于决策支持系统的,DSS的需 求是数据仓库技术出现的根本原因
122数据仓库的基本特点 1.数据仓库是面向主题的 与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行 组织的。主题是一个抽象的概念,是对企业信息系统中的数据在较高层次上进行抽象的综合、 归类并进行分析利用。在逻辑意义上,它是相应企业中某一宏观分析领域所涉及的分析对象。 2.数据仓库是集成的 数据仓库的数据主要是作分析用,分析用数据的最大特点在于它不局限于某个具体的操 作数据,而是对细节数据的归纳和整理。数据仓库中的综合数据不能从原有数据库系统中直 接得到而需从其中抽取。 3.数据仓库是稳定的 数据仓库主要是为信息分析提供综合的、集成的、面向某一分析主题的数据,这些数据 主要涉及维护查询。数据仓库数据反映的是一段相当长的时间内历史数据的内容,而不象事 务处理中的数据是频繁变化的数据。当数据经过集成进入数据仓库后是极少进行更新或根本 不考虑更新 数据仓库是随时间变化的 虽然数据仓库中的数据一般是不更新的,但是在数据仓库的整个生存周期中的数据集合 却是随着时间的变化而变化的。主要表现在以下方面 首先,数据仓库随着时间的变化要不断删除旧的数据内容。数据仓库中的数据也有存储 期限,一旦超过了这一期限,过期的数据就要被删除。数据仓库中的数据并不是永远保存, 》后时间更长而已。其次,数据仓库中保存的数据是历史数据,对用户来说不能更改数 的数据,但可以随着时间变化系统定期进行刷新,把OLTP数据库变化的数据追加到 数据仓库中,随时导出新的综合数据和统计数据
12.2 数据仓库的基本特点 1.数据仓库是面向主题的 与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行 组织的。主题是一个抽象的概念,是对企业信息系统中的数据在较高层次上进行抽象的综合、 归类并进行分析利用。在逻辑意义上,它是相应企业中某一宏观分析领域所涉及的分析对象。 2.数据仓库是集成的 数据仓库的数据主要是作分析用,分析用数据的最大特点在于它不局限于某个具体的操 作数据,而是对细节数据的归纳和整理。数据仓库中的综合数据不能从原有数据库系统中直 接得到而需从其中抽取。 3.数据仓库是稳定的 数据仓库主要是为信息分析提供综合的、集成的、面向某一分析主题的数据,这些数据 主要涉及维护查询。数据仓库数据反映的是一段相当长的时间内历史数据的内容,而不象事 务处理中的数据是频繁变化的数据。当数据经过集成进入数据仓库后是极少进行更新或根本 不考虑更新。 4.数据仓库是随时间变化的 虽然数据仓库中的数据一般是不更新的,但是在数据仓库的整个生存周期中的数据集合 却是随着时间的变化而变化的。主要表现在以下方面: 首先,数据仓库随着时间的变化要不断删除旧的数据内容。数据仓库中的数据也有存储 期限,一旦超过了这一期限,过期的数据就要被删除。数据仓库中的数据并不是永远保存, 只是保存时间更长而已。其次,数据仓库中保存的数据是历史数据,对用户来说不能更改数 据仓库中的数据,但可以随着时间变化系统定期进行刷新,把OLTP数据库变化的数据追加到 数据仓库中,随时导出新的综合数据和统计数据
123数据仓库的基本体系结构 数据仓库的基本体系结构主要包括:数据集成、数据存储和数据査询与分 析工具。数据仓库的基本体系结构如图13-1所示。 (1)数据源 数据源包括数据库、文件系统、 Internet上HTML文件以及其他数据源。数 据源一般是异构的,通过网络连接,数据仓库应能通过ODBC或JDBC等机制,访问 各数据源。 数据库 仓库管理工具 文件系统 查询 抽取转换加载刷新 元数据 报表 数据仓库 HTML文件 元数据管理 图形接口 数据挖掘 仓库建模工具 其他数据 数据源 数据集成 数据存储 分析工具 图131数据仓库篚基本体系结构
12.3 数据仓库的基本体系结构 数据仓库的基本体系结构主要包括:数据集成、数据存储和数据查询与分 析工具。数据仓库的基本体系结构如图13-1所示。 (1) 数据源 数据源包括数据库、文件系统、Internet上HTML文件以及其他数据源。数 据源一般是异构的,通过网络连接,数据仓库应能通过ODBC或JDBC等机制,访问 各数据源
(2)数据集成 由于数据仓库数据来自多个数据源,各数据源是为各自的应用而建立的,数据的格式、 类型、编码、命名或语义等方面都会有冲突,因此,在数据装载到数据仓库之前,需要数据 集成部分做下列工作 从当前最新的数据源中,按需求追踪、筛选和抽取新数据。将抽取岀的数据加载到数据 仓库中。跟踪操作数据源中数据的变化,刷新或更新数据仓库。发现和修正各种数据源中可 能存在的错误和异常。建立有关元数据,即将元数据的格式、目标数据的格式以及如何把源 数据转换成目标数据的一些规则记录在元数据库中。提供基于视图窗口的图形用户接口,使 得数据仓库、管理员能很方便地描述数据抽取和转换的需求。 (3)数据存储 这部分是数据仓库的核心部分,其中有元数据和数据仓库。元数据是关于数据的数据, 如同数据库系统中数据字典,但元数据比数据字典更复杂和重要。元数据是联系数据仓库 部分的主要的纽带。元数据的内容反映数据仓库的数据内容,以及与数据源之间的关系,记 载了数据仓库与业务运行系统之间数据结构的映射关系。在系统环境中,元数据几乎代表了 整个仓库系统的逻辑结构 数据仓库是存储数据的地方。数据组织方式可采用基于关系表的存储方式或多维数据库存储 形式。基于关系表的存储方式是将数据仓库的数据存储在关系型数据库的表结构中,在元数 据的管理下完成数据仓库的功能。多维数据库的组织采用多维数组结构文件进行数据存储, 并有维索引及相应的元数组管理文件与数据相对应 (4)数据查询与分析工具 数据查询和分析工具不仅能将数据以直观的形式提供给用户,而且能对数据仓库中的数 据进行分析,使用户获得数据之间蕴涵的知识。目前,数据査询工具有一般的用户査询工具 和报表生成工具。分析工具则有联机分析处理(On- Line processing,简称叽LAP)和数据挖 ( Data mining,简称DM)
(2) 数据集成 由于数据仓库数据来自多个数据源,各数据源是为各自的应用而建立的,数据的格式、 类型、编码、命名或语义等方面都会有冲突,因此,在数据装载到数据仓库之前,需要数据 集成部分做下列工作: 从当前最新的数据源中,按需求追踪、筛选和抽取新数据。将抽取出的数据加载到数据 仓库中。跟踪操作数据源中数据的变化,刷新或更新数据仓库。发现和修正各种数据源中可 能存在的错误和异常。建立有关元数据,即将元数据的格式、目标数据的格式以及如何把源 数据转换成目标数据的一些规则记录在元数据库中。提供基于视图窗口的图形用户接口,使 得数据仓库、管理员能很方便地描述数据抽取和转换的需求。 (3) 数据存储 这部分是数据仓库的核心部分,其中有元数据和数据仓库。元数据是关于数据的数据, 如同数据库系统中数据字典,但元数据比数据字典更复杂和重要。元数据是联系数据仓库三 部分的主要的纽带。元数据的内容反映数据仓库的数据内容,以及与数据源之间的关系,记 载了数据仓库与业务运行系统之间数据结构的映射关系。在系统环境中,元数据几乎代表了 整个仓库系统的逻辑结构。 数据仓库是存储数据的地方。数据组织方式可采用基于关系表的存储方式或多维数据库存储 形式。基于关系表的存储方式是将数据仓库的数据存储在关系型数据库的表结构中,在元数 据的管理下完成数据仓库的功能。多维数据库的组织采用多维数组结构文件进行数据存储, 并有维索引及相应的元数组管理文件与数据相对应。 (4) 数据查询与分析工具 数据查询和分析工具不仅能将数据以直观的形式提供给用户,而且能对数据仓库中的数 据进行分析,使用户获得数据之间蕴涵的知识。目前,数据查询工具有一般的用户查询工具 和报表生成工具。分析工具则有联机分析处理(On-Line Processing,简称OLAP)和数据挖 掘(Data Mining,简称DM)
124数据仓库的数据库模式 比较常用的数据仓库建模技术有:第三范式(3NF)、星形模式(Star Schema)和雪花模式( SnowFlakeschema)。下面介绍星形模式和雪花模式 1.星形模式 个简单的星形模式由一个事实表和多个维表组成。复杂的星形模式包 含若干事实表和维表 图13-2是一个简单星形模式的数据仓库示例。中间是销售事实表,向外连 接时间维、产品维、地区维等多个维表。对事实表和对维表的查询结合在 起就可以检索大量的信息 销售事实表 产品维表 时间维表 时间代码 产品代码 经销商代码 经销商维表 地区代码 佳表 单位销售量 事实 图132星形模式的数据仓库示例
12.4 数据仓库的数据库模式 比较常用的数据仓库建模技术有:第三范式(3NF)、星形模式(Star Schema)和雪花模式(SnowFlakeSchema)。下面介绍星形模式和雪花模式。 1.星形模式 一个简单的星形模式由一个事实表和多个维表组成。复杂的星形模式包 含若干事实表和维表。 图13-2是一个简单星形模式的数据仓库示例。中间是销售事实表,向外连 接时间维、产品维、地区维等多个维表。对事实表和对维表的查询结合在一 起就可以检索大量的信息
124数据仓库的数据库模式 2.雪花模式 雪花模式是对星形模式的扩展,每个维都可以向外连接到多个维。雪花模 式对星形模式的维表进一步标准化,将维表分解成主维表(与事实表关联)和 次维表(与主维表关联)。由于采用标准化及维的较低粒度,雪花模式增加 应用程序的灵活性,但增加了用户必须处理的表的数量,因而也增加了查询的 复杂性。 图13-3是在图13-2的基础上扩展得到的雪花模式,其中产品维表又分为 品代码表和供应商代码表,地区维表又分为地区代码表和城市代码表。 销售事实表 产品维表 产品代码 供应商表 供应商代码 时间维表 时间代码 产品代码 经销商代码 地区维表 经销商维表 地区代码 城市表 单位销售量 地区代码 城市代码 事实 图133雪花模式的数据仓库示例
12.4 数据仓库的数据库模式 2.雪花模式 雪花模式是对星形模式的扩展,每个维都可以向外连接到多个维。雪花模 式对星形模式的维表进一步标准化,将维表分解成主维表(与事实表关联)和 次维表(与主维表关联)。由于采用标准化及维的较低粒度,雪花模式增加了 应用程序的灵活性,但增加了用户必须处理的表的数量,因而也增加了查询的 复杂性。 图13-3是在图13-2的基础上扩展得到的雪花模式,其中产品维表又分为产 品代码表和供应商代码表,地区维表又分为地区代码表和城市代码表