数据仓库的设计开发应用(三)
目录
- 五、数据仓库的实施
- (一)数据仓库的创建
- (二)数据抽取转换加载
- 六、数据仓库系统的开发
- (一)开发任务
- (二)开发方法
- (三)系统测试
- 七、数据仓库系统的应用
- (一)用户培训
- (二)决策支持
- (三)维护评估
五、数据仓库的实施
数据仓库实施时期的任务包括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命令。
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命令。
CREATE TABLE DimCaseType(CrimeKey nchar(6) PRIMARY KEY,LaregeClassName nvarchar(100) NULL,SmallClassName nvarchar(100) NULL,SubClassName nvarchar(100) NULL)
(3)创建地址表DimAddress维度表的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)增强性维护
由于数据仓库建设初期可能存在尚未完成的决策分析主题,或者用户在数据仓库的使用过程中,由于对数据仓库的决策价值有了更深的理解,又提出了更多的决策分析主题。即进入数据仓库新一轮的生命周期,完成对新决策主题的规划、设计、实施、开发和应用等任务。
相关文章:

数据仓库的设计开发应用(三)
目录 五、数据仓库的实施(一)数据仓库的创建(二)数据抽取转换加载 六、数据仓库系统的开发(一)开发任务(二)开发方法(三)系统测试 七、数据仓库系统的应用&am…...

【04】WebAPI
WebAPI 和标准库不同,WebAPI 是浏览器提供的一套 API,用于操作浏览器窗口和界面 WebAPI 中包含两个部分: BOM:Browser Object Model,浏览器模型,提供和浏览器相关的操作DOM:Document Object Model,文档模型,提供和页面相关的操作BOM BOM 提供了一系列的对象和函数,…...

数据预处理在数据挖掘中的重要性
数据挖掘作为从大量数据中提取有用信息和知识的过程,其结果的准确性和可靠性直接受到数据质量的影响。因此,数据预处理在数据挖掘中扮演着至关重要的角色。让我们探讨数据质量对数据挖掘结果的影响,并介绍常见的数据预处理方法以及它们如何提…...

Java并发编程—JUC线程池架构
Java并发编程(JUC,Java Utilities Concurrency)中的线程池架构是Java提供的一种用于管理和复用线程的机制。线程池的主要目标是减少线程创建和销毁的开销,提高系统的响应速度,并通过合理的线程管理和资源分配ÿ…...

Android input输入子系统
一.Android input输入子系统简介 Input系统是Android系统中负责处理用户输入操作的核心组件,它负责从各种输入设备(如屏幕、键盘、鼠标等)获取原始的输入事件(如按键、触摸、滑动等),并将其转换为Android应…...

如何在webapp中于动发布一个应用
目录 第一步:在webapp文件夹内自定义文件夹第二步:生成一个文本,并把后缀改为 .html第三步:进入bin文件夹打开服务第四步:打开方式选择java第六步:输入你想输出的东西第七步:双击运行即可 第一步…...

部署一个本地的ChatGPT(Ollama)
一 下载Ollama Ollama下载地址:https://ollama.com/download 下载完后 二 安装运行 双击下载好的OllamaSetup.exe开发 安装Ollama: 安装完成后,多了一个Ollama的菜单如下图 : Ollama安装好默认是配置开机运行,如果没有运行可以在…...

Vue 3中的reactive:响应式状态的全面管理
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

【网络】详解HTTPS及探究加密过程
目录 一、什么是HTTPS1、加密解密是什么2、为什么要加密3、常见的加密方式1、对称加密2、非对称加密 二、探究HTTPS如何实现加密1、方案一----只使用对称加密2、方案二----只使用非对称加密3、方案三----双方都使用非对称加密4、方案四----非对称加密 对称加密5、中间人攻击6、…...

【C语言】字符与字符串---从入门到入土级详解
🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.字符类型和字符数组(串)简介 1.ASCII 2.定义,初始化,使用 1>字符的定义及初始化 2>字符串的定义及初始化 二.…...

Github Copilot 工具,无需账号,一键激活
① 无需账号,100%认证成功!0风险,可联网可更新,,支持copilot版本升级,支持chat ② 支持windows、mac、linux系统等设备 ③一号通用,支持所有IDE(AppCode,CLion,DataGrip,GoLand,IntelliJ IDEA …...

node: -max-old-space-size=xxx is not allowed in NODE_OPTIONS
问题描述 在启动node项目时,出现了OOM参照网上的处理方案,设置了环境变量: export NODE_OPTIONS"–max-old-space-size8192"当再次通过npm run docs:dev运行node项目的时候出现了如下错误: node: -max-old-space-siz…...

k8s编排系统
Kubernetes(简称K8s)是一个开源的容器编排系统,由Google基于其内部的Borg项目开发,并于2014年正式对外发布。目前,Kubernetes已成为云原生计算基金会(Cloud Native Computing Foundation, CNCF)…...

samba服务器的配置
需求:在Linux上搭建一个文件共享服务,创建不同的账号给予不同的权限,在windows可以直接访问该共享目录 介绍 Samba 是一个强大的工具,使得不同操作系统之间可以无缝地共享文件和资源,促进了跨平台环境下的协作和通信…...

H12-821_279
279.第三类LSA的Link ID是: A.所描述的ABR的Router ID B.所在网段上DR的端口IP地址 C.所描述的目的网段 D.生成这条LSA的路由器的Router ID 答案:C 注释: OSPF的LSA可以单独描述网络信息、拓扑信息,也可以同时描述网络信息和拓扑信息。 LSA3…...

Stable Diffusion科普文章【附升级gpt4.0秘笈】
随着人工智能技术的飞速发展,我们越来越多地看到计算机生成的艺术作品出现在我们的生活中。其中,Stable Diffusion作为一种创新的图像生成技术,正在引领一场艺术创作的革命。本文将为您科普Stable Diffusion的相关知识,带您走进这…...

Lua 如何在Lua中调用C/C++函数
Lua调用C函数有两种方式 程序主体在C中运行,C函数注册到Lua中。C调用Lua,Lua调用C注册的函数,C或者Lua得到函数的执行结果。程序主体在Lua中运行,C函数作为库函数供Lua使用。 C的代码如下 如何在Lua脚本中调用这个C语言函数(ad…...

JVM学习-类加载
目录 1.类文件结构 2.类加载器 3.类加载的三个阶段 3.1加载 3.2链接 3.2.1验证 3.2.2准备阶段 3.2.3解析阶段 3.3初始化 4.拓展:反射 4.1获取类对象 4.2创建实例 4.3获取方法 4.4方法调用 1.类文件结构 2.类加载器 类加载器用来将类文件的二进制字节码加载到JV…...

PyCharm中如何使用不同的虚拟环境
1. 简介 有些项目用老的运行环境,而有些项目用新的运行环境,那么我们在运行这些代码(比如跑对比实验的时候)如何进行切换呢,这时候就可以使用虚拟环境啦 2. 虚拟环境的创建 首先启动Anaconda Prompt 并在其中执行如…...

Unity Live Capture 中实现面部捕捉同步模型动画
Unity Face Capture 是一个强大的工具,可以帮助你快速轻松地将真实人脸表情捕捉到数字模型中。在本文中,我们将介绍如何在 Unity Face Capture 中实现面部捕捉同步模型动画。 安装 |实时捕获 |4.0.0 (unity3d.com) 安装软件插件 安装 Live Capture 软件…...

Codeforces Round 932(div2)||ABD
A-Entertainment in MAC 题意 可以对一个字符串进行两种操作: 将字符串反转将该字符串反转后接在原串的后面。 可以进行任意次上述操作,获得字典序最小的字符串。 数据范围 t ( 1 ≤ t ≤ 500 ) t(1≤t≤500) t(1≤t≤500) n ( 2 ≤ n ≤ 1 0 9 ) n…...

基于最小二乘法的太阳黑子活动模型参数辨识和预测matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于最小二乘法的太阳黑子活动模型参数辨识和预测matlab仿真。太阳黑子是人们最早发现也是人们最熟悉的一种太阳表面活动。因为太阳内部磁场发生变化,…...

VSCode配置cuda C++编程代码提示的详细步骤
目录 VSCode配置cuda C++编程代码提示的详细步骤: 1、cuda编译环境的安装:...

JUnit 面试题及答案整理,最新面试题
JUnit中的断言(Assert)有哪些类型? JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括: 1、assertEquals: 用于检查两个值是否相等。如果不相等,测试失败。 2、assertTrue和assertFal…...

使用Lua编写Wireshark解析ProtoBuf插件
文章目录 Wireshark Protobuf Lua-dissectorStep 1: 获取 WiresharkStep 2: 配置ProtoBuf相关设置添加ProtoBuf查找路径 Step 3 运行和调试Lua代码1. 添加Lua脚本2. 运行和调试 Step 4: 写Lua Dissector代码 :)Step 5(Optional): Decode AsGithub工程地址 Wireshark Protobuf L…...

ClickHouse副本节点数据损坏恢复
参考链接:https://blog.csdn.net/qq_42082701/article/details/127771766 参考链接:https://kb.altinity.com/altinity-kb-setup-and-maintenance/suspiciously-many-broken-parts/ # 背景CK配置为1分片2副本# 配置参数,这里我们将max_suspicious_brok…...

YOLOv9改进策略:注意力机制 | SimAM(无参Attention),效果秒杀CBAM、SE
💡💡💡本文改进内容:SimAM是一种轻量级的自注意力机制,其网络结构与Transformer类似,但是在计算注意力权重时使用的是线性层而不是点积 yolov9-c-CoordAtt summary: 972 layers, 51024476 parameters, 510…...

宝塔 安装对外服务Tomcat和JDK
一、安装Tomcat\JDK 切记1:如果选择下载节点失败,请到软件商城安装 。 切记2:提醒安装Nginx或Apache ,先点安装,进入再打叉关闭。因为Tomcat服务足够为我们搭建JavaWeb网站服务了。 切记3:Nginx占用80端口…...

rust最新版本安装-提高下载速度
1)拉取依赖包将安装脚本输出到本地rust.sh脚本中 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs > rust.sh 2)更新rust.sh脚本内容、修改源 # 编辑rust.sh vi rust.sh # 将RUSTUP_UPDATE_ROOT的值替换为: RUSTUP_UPDATE_ROOT&q…...

数据清洗与预处理:打造高质量数据分析基础
随着数据的快速增长,数据分析已经成为企业和组织的核心业务。然而,原始数据往往包含各种杂质和异常,这就需要我们进行数据清洗和预处理,以确保分析结果的准确性和可靠性。 1. 数据清洗的重要性: 数据清洗是指对原始数据进行检查、修正和完善,以消除错误、不一致性和噪声…...