数据仓库与数据挖掘记录 一
1.数据仓库(Data Warehouse)
数据仓库是一个 面向主题(subject-oriented)、集成的(integrated)、非易失性(nonvolatile) 且 随时间变化(time-variant) 的数据集合,支持管理决策(management’s decisions)。
1.1数据仓库的组成
1.数据仓库数据库
数据仓库数据库是整个数据仓库环境的核心,是数据信息存放的地方,对数据提供存取和检索支持。相对于传统数据库来说,其突出的特点是对海量数据的支持和快速的检索技术。
2.数据抽取工具
数据抽取工具是把数据从各种各样的存储环境中提取出来,进行必要的转化.整理,再存放到数据仓库内
3.元数据
元数据是描述数据仓库内数据的结构和建立方法的数据。元数据为访问数据仓库提供了一个信息目录,这个目录全面描述了数据仓库中有什么数据,这些数据是怎么得到的、怎么访问这些数据。元数据是数据仓库运行和维护的中心内容,数据仓库系统对数据的存取和更新都需要元数据信息。据元数据用途的不同可将元数据分为技术元数据和业务元数两类
4.访问工具
访问工具是为用户访问数据仓库提供的手段,如数据查询和报表工具、应用开发工具、数据挖掘工具和数据分析工具等。
5.数据集市(data mart)
数据集市是为了特定的应用目的,从数据仓库中独立出来的一部分数据,也称为部门数据或主题数据。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,再逐渐用几个数据集市组成一个完整的数据仓库。需要注意的是,在实施不同的数据集市时,相同含义字段的定义一定要相容,以免未来实施数据仓库时出现问题。
6. 数据仓库管理
数据仓库管理包括安全与权限的管理,数据更新的跟踪、数据质量的检查、元数据的管理与更新.数据仓库使用状态的检测与审计、数据复制与删除.数据分割与分发,数据备份与恢复 .数据存储管理等。
7.信息发布系统
信息发布系统是把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于 Web 的信息发布系统是当前流行的多用户访问的最有效方法。
2.数据集市(Data Mart)
- 什么是数据集市?
数据集市(Data Mart) 是数据仓库的一个子集,专门为特定业务部门(如财务、营销、人力资源)或特定用途而设计的数据存储。它的作用是提供更快速、针对性更强的数据访问,以支持部门级别的分析和决策。
- 数据集市的类型
独立数据集市(Independent Data Mart)
独立于企业数据仓库(EDW),数据直接从业务系统抽取。
适用于小型企业或数据仓库尚未搭建的组织。
依赖型数据集市(Dependent Data Mart)
依赖于企业数据仓库,数据先进入数据仓库,再进入数据集市。
确保数据一致性,适用于大型企业。
混合型数据集市(Hybrid Data Mart)
结合了独立和依赖型数据集市,可能从多个来源获取数据。
-
数据集市的优势
提高查询性能:专注于特定业务领域,使查询速度更快。
降低存储和计算成本:避免全量存储企业级数据,仅存储相关数据。
更灵活的业务分析:部门级团队可以更快获取和分析数据。
易于维护和扩展:比数据仓库更容易调整和管理。 -
数据集市的典型应用
销售数据集市:存储销售数据、客户购买记录、地区销售情况。
财务数据集市:包含收入、支出、利润、预算等财务数据。
人力资源数据集市:分析员工绩效、招聘、薪资等数据。 -
数据集市的架构
通常包括:
数据源(Source Systems):ERP、CRM、数据库、Excel等。
ETL 过程(Extract, Transform, Load):数据提取、转换、加载到数据集市。
存储层(Storage Layer):关系型数据库、云数据仓库(如 Snowflake)。
分析层(Analytics Layer):BI 工具(如 Tableau、Power BI)进行数据分析和可视化 -
数据集市示例
假设一个企业有一个全球数据仓库,其中包含所有地区的销售数据。为了提高查询效率,可以为不同地区建立数据集市:
北美数据集市:仅存储美国和加拿大的销售数据。
欧洲数据集市:存储英国、法国、德国等地区的数据。
亚太数据集市:专注于中国、日本、澳大利亚等地区的销售情况。
这样,每个地区的分析师可以快速访问自己关心的数据,而无需查询整个企业的数据仓库,提高数据访问效率
3.数据仓库系统的结构
数据仓库系统(DWS)由数据仓库
、仓库管理
和分析工具
三部分组成
4.数据挖掘
数据挖掘(data mining)
就是从大量数据中获取有效的.新颖的、潜在有用的.最终可理解的模式的过程。简单地说,数据挖掘就是从大量数据中提取或“挖掘知识,又被称为数据库中的知识发现(knowledge discovery in database,KDD) 。
5.数据挖掘的分析方法
数据挖掘的分析方法可以分为直接数据挖掘
与间接数据挖掘
两类。
直接数据挖掘的目标是利用可用的数据建立一个模型 ,这个模型对匀余的数据(例如对一个特定的变量)进行描述,包括分类(classification)、估值Cestimation)和预言(prediction)等分析方法。
在间接数据挖掘的目标中,没有选出某一具体的变量并用模型进行描述,而是在所有的变量中建立起某种关系,如相关性分组(Caffinity grouping)或关联规则(association rules) 、聚集(clustering) 、描“述和可视化(description and visualization) 及复杂数据类型的挖掘,如文本 、网页 .图形图像 .音视频和空间数据等。
6.数据仓库与数据挖掘的关系
若将数据仓库比作矿井,那么数据挖掘就是深入矿井采矿的工作。数据挖掘不是一种无中生有的魔术 ,也不是点石成金的炼金术,若没有足够丰富完整的数据,将很难期待数据挖掘能挖掘出什么有意义的信息。
要将庞大的数据转换成为有用的信息和知识,必须要先有效地收集信息。功能完善的数据库管理系统事实上是最好的数据收集工具,数据仓库的一个重要任务就是搜集来自其他业务系统的有用数据,存放在一个集成的储存区内。决策者利用这些数据作决策,即从数据仓库中挖掘出对决策有用的信息与知识,是建立数据仓库与进行数据挖掘的最大目的。只有数据仓库先行建立完成,且数据仓库所含数据是干净(不会有虚假错误的数据挫杂其中) .完备和经过整合的,数据挖掘才能有效地进行,因此从一定意义上可将两者的关系解读为数据挖掘是从数据仓库中找出有用信息的一种过程与技术。
7.数据仓库建模
数据仓库建模方法主要有以下几种:
(1)维度建模(Dimensional Modeling)
维度建模是一种以分析查询为导向的数据建模方法,核心是 事实表(Fact Table) 和 维度表(Dimension Table)
的设计,通常使用 星型模型(Star Schema) 或 雪花模型(Snowflake Schema)。
适用于:数据分析、报表系统、商业智能(BI)
(2)ER 建模(Entity-Relationship Modeling)
ER 建模主要用于事务型系统(OLTP),它基于 实体(Entity)、关系(Relationship)、属性(Attribute)
设计数据模型。
适用于:传统数据库设计、OLTP 系统(如 ERP、CRM)
维度建模的核心概念
维度建模以 星型模型
和 雪花模型
为主,核心要素包括:
(1)事实表(Fact Table)
存储业务数据(数值型,如销售额、订单量)
包含外键(FK)连接维度表
通常是“宽表”,包含多个度量(Measures)
(2)维度表(Dimension Table)
存储业务数据的上下文信息(文本型,如产品名称、地区、客户信息)
提供“切片和筛选”分析能力
(3)星型模型(Star Schema)
事实表位于中心,多个维度表直接连接
查询性能优于雪花模型
适用于 BI 和数据分析
4)雪花模型(Snowflake Schema)
对星型模型的维度表进行进一步规范化
减少数据冗余,但查询时需要更多的表 JOIN
适用于数据量大但存储受限的情况
维度建模的关键技术
(1)慢变化维度(Slowly Changing Dimensions, SCD)
在数据仓库中,维度表的属性会发生变化,比如客户的地址变更、产品价格调整等,需要处理历史数据:
SCD Type 1(覆盖旧值):直接更新,不保留历史记录
SCD Type 2(增加历史版本):新增一条记录,保留历史
SCD Type 3(增加历史列):增加一个“历史值”字段,仅保存最近一次变更
(2)聚合(Aggregation)
为了提高查询效率,可以提前计算聚合数据:
按天/周/月聚合销售额
按地区/产品类别计算平均价格
(3)分区(Partitioning)
数据仓库的数据量巨大,可以通过时间分区、地区分区优化存储和查询性能:
按日期分区(常见于订单数据)
按地理区域分区(常见于用户行为数据)
案例
总结
数据仓库建模方法:维度建模(星型模型、雪花模型)、ER 建模
核心概念:事实表、维度表、慢变化维度(SCD)
优化技术:数据分区、索引、聚合
建模流程:业务需求分析 → 设计数据模型 → ETL → 性能优化