数据仓库的设计开发应用(三)

目录


五、数据仓库的实施

数据仓库实施时期的任务包括DW创建、数据抽取、数据转换和数据装载等四个阶段。

(一)数据仓库的创建

根据逻辑设计阶段的结果,创建一个数据库文件,并在其中创建事实表、维度表以及详细类别表结构(没有任何数据记录),同时根据物理结构设计结果完成存储位置、存储分配等物理参数设置,等待数据抽取、数据转换直到完成数据的装载。

例 3-5 试根据例3-3和3-4的设计结果创建警务数据仓库。

:根据例 3-3和3-4的设计结果,我们以 Windows 身份验证登录 SQL Server2008 R2 的数据库引擎服务器,并在 SSMS 环境中创建数据仓库 HuangDW_Hotel,具体创建步骤如下。

1、创建数据仓库名称 HuangDW_Hotel

2、创建维度表

按照以下顺序分别创建 DimDate,DimCaseType,DimAddress,DimPolice,Dimpeople 和 DimHotel 等6张维度表。

(1)创建时间维度表DimDate维度表的SQL命令。

sql 复制代码
CREATE TABLE DimDate (
	DateKey nchar(10) PRIMARY KEY,
    FullDateTime smalldatetime NULL,
    CYear smallint NULL,
    CMonth tinyint NULL,
    CDay  tinyint NULL,
    CQuarter tinyint NULL,
    Cweek tinyint NULL,
    CHour tinyint NULL
    )

(2)创建前科类型表DimCaseType维度表的SQL命令。

sql 复制代码
CREATE TABLE DimCaseType(
	CrimeKey nchar(6) PRIMARY KEY,
	LaregeClassName nvarchar(100) NULL,
	SmallClassName nvarchar(100) NULL,
	SubClassName nvarchar(100) NULL
	)

(3)创建地址表DimAddress维度表的SQL命令。

sql 复制代码
CREATE TABLE DimAddress(
	  AddressKey nchar(9) PRIMARY KEY,
	  ProvinceKey nvarchar(2) NULL,
	  ...
	  )

(二)数据抽取转换加载

在单击数据仓库名称 HuangDW_Hotel 前面的 "+" 号并逐层展开,我们可以看到已经创建的6张维度表和1张事实表,只是这7张表中没有任何记录。

下面的工作就是配置数据抽取、转换和装载(Extraction-Loading-Transformation,ETL)包,也称为 SSIS 包或 ETL 包,使其能够完成从事务数据库 OLTPHotel 中抽取数据,经转换后加载到 HuangDW_Hotel 这个数据仓库之中。

六、数据仓库系统的开发

(一)开发任务

其任务就是要开发查询类,验证型和发掘型三大类型的数据仓库访问工具,统称为决策支持工具。

1、查询类工具

(1)数据仓库的工具虽然是以分析工具为主,但查询类工具(Query Tool,QT)仍然是其重要组成部分。

(2)数据仓库的查询工具很少是对记录级数据的查询,而几乎都是对分析结果,如广义索引中的统计数据,或者发展趋势、模式总结等的查询,其主要用户为企业中高层领导或决策者。

2、验证型工具

(1)验证型工具也称为分析型工具(Analysis Tool, AT),一般是用户自己对数据仓库数据有某种假设或期待,然后利用各种分析工具通过反复的、递归的统计查询以验证或否定自己的假设,即从数据仓库中发现某种事实。

(2)多维分析工具就是一种验证型工具。它通过对数据的多种可能的观察角度(时间、地域和业务等)进行快速,一致和交互的存取,以对数据进行深入地分析和观察。

(3)联机分析处理(On Line Analysis Processing,OLAP)是一种基于多维数据模型的数据分析处理技术。

(4)基于 OLAP 技术的数据分析程序就是一种多维分析工具,也称为联机分析处理工具或 OLAP 工具。它通过 OLAP 服务器,将来源于关系型数据库或其它应用系统的数据抽取和转换为多维数据集,并对其包括切片、切块、旋转、下钻、上卷等多维分析处理。

(5)当数据仓库成功建立后,意味着 OLAP 再也无需自己劳神抽取和转换数据,只要围绕数据仓库直接创建多维数据集,即可完成各种多维数据分析处理功能,并为企业领导提供决策支持。

(6)多维分析工具或 OLAP 工具的使用是一个人机交互过程,即在数据分析处理的每一步都需要用户的 "指导" ,或者输入分析参数,或者做出某种选择后才能进行下一步的分析处理。

3、发掘型工具

(1)发掘型工具也称预测型工具,它可在没有用户指导或有少量指导的情况下,从数据中发现潜在而新颖的模式,预测趋势和经营行为。

(2)数据挖掘(Data Mining,DM)是典型的发掘型工具,它是从大型数据库中提取隐藏的预测性信息的一种技术。

(3)DM与验证型工具不同,数据挖掘是一种展望和预测型工具,它能挖掘出数据间潜在的模式,为企业提出具有前瞻性的、基于知识的决策信息。

(4)数据挖掘工具都依赖某种数据挖掘算法,如关联规则、分类规则、聚类分析、时序规则或离群点挖掘算法等。

4、三类工具的关系

(1)查询工具、验证型工具、发掘型工具是数据仓库应用工具的三个重要方面,它们各自具有不同的侧重点,适用的范围和针对的用户也各不相同。

(2)查询工具属于表面层次的工具,验证型工具处于较浅的层次,而发掘型工具则是深层次的分析挖掘工具。

(3)三类工具相互补充,完美结合可是 DW 更好地发挥决策支持功能。

(二)开发方法

数据仓库访问工具的开发一般有三种途径。

1、使用商品化开发平台

比如,使用 SQL Server 的分析服务等开发平台配置数据仓库访问工具。开发人员只要求做少量的配置工作或者少量的开发工作,即可让用户访问已经建成的数据仓库。但这种商品化的开发平台,缺乏灵活性,对一些查询分析过程复杂的访问工具开发,就显得能力不足,甚至难于实现。

2、使用程序设计语言

利用某种高级语言或 Web 程序设计语言,开发用户访问数据仓库的程序或应用工具,具有相当的灵活性和较强的应变能力。其访问工具能让用户方便地通过鼠标操作,或输入少量参数,即可实现对数据仓库的访问,完成查询、分析和挖掘等数据分析任务。

3、综合使用两种途径

因为商品化开发平台可能无法完成一些复杂的访问工具,这时就需要结合程序设计语言来开发部分复杂的功能,并集成为一个完整的数据仓库访问工具。

(三)系统测试

在完成访问工具开发工作之后,需要对数据仓库系统进行全面的测试,其测试工作主要包括单元测试和系统集成测试两个方面。

1、单元测试

当数据仓库系统访问工具的每个独立单元模块完成后,需要立即对它们进行单元测试,以查找存在于每个单元模块程序中的错误。

2、集成测试

在完成单元测试之后,需要进行数据仓库的集成测试。以检查每个单元模块与数据仓库系统和子系统之间的接口是否完好,是否能够正常传递数据和完成系统的整体功能。系统的集成测试需要对数据仓库的所有组件进行大量的功能测试和回归测试。数据仓库访问工具的开发,本质上属于软件的开发问题。

七、数据仓库系统的应用

(一)用户培训

(1)培训目的:使用户熟练地应用数据仓库系统并为企业管理决策提供支持。

(2)素质要求:参加培训的人员,应该具有一定的计算机使用技能。

(3)培训准备:选择一个完整的数据仓库主题数据作为培训案例,演示数据仓库系统的统计报表、OLAP 分析以及数据挖掘等功能,理解统计报表和 OLAP 分析结果对管理决策的支持作用。

(4)原理讲解:向用户较详细地介绍数据仓库的概念、多维分析概念和数据仓库的数据源;培训用户了解数据仓库中所有查询工具、分析工具与挖掘工具的类型,以及利用这些工具获得报表以及分析结果的方法。

(二)决策支持

用户利用数据仓库系统开发时期完成的决策支持工具,对数据仓库进行查询统计、 OLAP 分析和数据挖掘,并将其统计分析或挖掘结果提供给企业高层领导决策参考的过程。

1、决策的查询支持

以警务数据仓库系统为例,可以回答决策者关心的如下问题。

(1)哪个旅馆/辖区当天的入住人数最多?

(2)每个旅馆每月前科人员的入住量?

(3)各类前科人员在不同旅馆的入住时间长短?

(4)各类前科人员入住、离开的高峰时间是哪个时间段?

(5)某个时间段哪个旅馆入住率最高?比如,下半夜入住率高的旅馆有可能是犯罪分子的聚集地。

(6)哪个旅馆前科人员入住率有上升趋势?

2、决策的多维分析支持

利用 OLAP 多维分析工具,可以对数据仓库历史的或当前细节的数据,按照多个维度进行不同粒度的统计分析。

以警务数据仓库为例,多维分析可以回答许多粒度的分析结果。

(1)对以时间(月)、来源(省)、辖区(地市)的三维数据,可以回答 "某个月某个省份在某个市辖内旅馆的入住人次"。

(2)如果按来源将其进行下钻分析处理,可以得到 "某个月某个地市在某个辖区旅馆的入住人次"。

(3)如果按时间将其进行下钻分析处理,可以得到 "某一旬某个省份在某个辖区旅馆的入住人次"。或者"某一日某个省份在某个辖区旅馆的入住人次"

3、决策的预测性支持

利用数据仓库开发时期完成的发掘型工具,从数据仓库数据中发现潜在而新颖的模式,或发现企业经营的问题并找出其原因,为企业提出具有预测性的、基于知识的决策信息。

利用某种发掘型工具,如利用离群点检测工具,可以检测出某个酒店某天有异常人员入住(需要重点排查),或根据某地区或某旅馆某时段的异常人员入住情况,预测该地区某类案件可能发生;利用关联规则挖掘和分类规则工具,可以分析案发地点和旅馆入住地点的关联关系,预测某旅馆有重点人员入住时,某类案件发生的范围。

(三)维护评估

在数据仓库应用时期,不仅要适应数据仓库不断增长的现实,而且还要对数据仓库进行评估和维护。

1、数据仓库评估

(1)投资回报分析主要包括定量分析和定性分析。定量分析主要指收益与成本的比率;定性分析主要指企业与客户之间关系状态是否有所改善?即对外界变化的反应能力、企业管理能力是否有所增强等?

(2)数据质量评估,就是要对数据仓库数据的准确性、完整性和一致性进行评估。如数据是否符合它的类型要求和取值要求,数据是否具有完整性和一致性,数据保持时效性并且不能出现异常。

(3)系统性能评定主要包括硬件平台是否能够支持大数据量的工作和多类用户、多种工具的大量访问需求?软件平台能否用一个高效或优化的方式来组织和管理数据?系统是否适应数据和处理的扩展需求?

(4)系统功能评估主要包括两个方面,一是系统现有的功能是否达到项目规划时的预期目标,二是系统能否满足当前的决策支持需要。

2、数据仓库维护

(1)日常性维护

包括数据仓库的备份和恢复工作,保证系统出现故障或灾难时,可利用备份数据可以很快地将数据仓库恢复到正常的状态。随着时间的推移,要定期将数据源中新增的数据添加到数据仓库中来,还要不失时机地删除时间过于久远的、没有利用价值的数据。

(2)适应性维护

主要针对数据仓库数据质量、功能评估和系统性能结果对其进行适应性维护。对数据仓库数据进行规范整理以提高数据质量;取消某些细节数据和无用的汇总数据查询功能,增加实用的汇总数据查询功能;找出影响数据仓库性能的来源,并对数据仓库进行调整以提升系统性能。

(3)增强性维护

由于数据仓库建设初期可能存在尚未完成的决策分析主题,或者用户在数据仓库的使用过程中,由于对数据仓库的决策价值有了更深的理解,又提出了更多的决策分析主题。即进入数据仓库新一轮的生命周期,完成对新决策主题的规划、设计、实施、开发和应用等任务。

相关推荐
Hsu_kk13 分钟前
Kafka 安装教程
大数据·分布式·kafka
pblh12333 分钟前
2023_Spark_实验十五:SparkSQL进阶操作
大数据·分布式·spark
给我整点护发素35 分钟前
Flink执行sql时报错
大数据·sql·flink
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
Elasticsearch的查询语法——DSL 查询
大数据·elasticsearch·jenkins
Make_magic1 小时前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
小周不摆烂1 小时前
丹摩征文活动 | 丹摩智算平台:服务器虚拟化的璀璨明珠与实战秘籍
大数据·服务器
数据智研2 小时前
【数据分享】空间天气公报(2004-2021)(又名太阳数据活动公报) PDF
大数据·pdf
Elastic 中国社区官方博客2 小时前
使用真实 Elasticsearch 进行更快的集成测试
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·集成测试
PcVue China6 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
Mephisto.java7 小时前
【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
大数据·学习·hbase