2019/12/20数据仓库与数据挖掘1第2章数据仓库的数据存储与处理2019/12/20数据仓库与数据挖掘2数据仓库的数据存储与处理是数据仓库系统实施的三个关键环节之一,因此本章主要探讨数据的存储结构设计和数据处理技术的研究。遥想当年我基本上是暑假2个月的时间在公安局进行数据的ETL处理,悲催的是还仅仅针对一张表而已,说起来都是泪啊。。。。。。2019/12/20数据仓库与数据挖掘32.1数据仓库的三层数据结构导出数据(如:数据集市)数据集市元数据调和数据(EDW&ODS)EDW元数据操作型数据(如:业务处理系统)操作型元数据企业数据模型OLAP数据库OLTP应用OLAP应用什么是ODS?ODS全称为OperationalDataStore,即操作型数据存储,是“面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求”。ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征。2019/12/20数据仓库与数据挖掘42.1数据仓库的三层数据结构ODS的出现系统应用集成中一般对各系统中数据分为两类:操作型数据,有细节化,分散化的特点;决策型数据,有综合化,集成化的特点。数据仓库概念的提出也把数据处理划分为了操作型处理和分析型处理两种不同类型,从而建立起了DB-DW的两层体系结构。。2019/12/20数据仓库与数据挖掘52.1数据仓库的三层数据结构2019/12/20数据仓库与数据挖掘92.2数据仓库的数据特征状态数据与事件数据描述对象的状态即为状态数据;描述对象的发生的事件即为事件数据;(前)状态数据事件数据(后)状态数据2019/12/20数据仓库与数据挖掘102.2数据仓库的数据特征当前数据与周期数据当前数据仅保留当前的最新数据;商品编号商品名称现有库存量更新日期A001A方便面1002008-7-25B002B方便面2002008-7-25商品编号商品名称现有库存量更新日期A001A方便面852008-7-26B002B方便面2102008-7-26C003C方便面3002008-7-262019/12/20数据仓库与数据挖掘112.2数据仓库的数据特征当前数据与周期数据周期数据则相反,一旦保存就不再改变和删除.商品编号商品名称现有库存量更新日期A001A方便面1002008-7-25B002B方便面2002008-7-25商品编号商品名称现有库存量更新日期A001A方便面1002008-7-25B002B方便面2002008-7-25A001A方便面852008-7-26B002B方便面2102008-7-26C003C方便面3002008-7-262019/12/20数据仓库与数据挖掘122.2数据仓库的数据特征数据仓库中的元数据在传统的数据库中,元数据是对数据库中各个对象的描述,数据库中的数据字典就是这么一种元数据.比如在管理、维护SQLServer或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息:某个数据库中的表和视图的个数以及名称;某个表或者视图中列的个数以及每一列的名称、数据类型、长度、精度、描述等;某个表上定义的约束;某个表上定义的索引以及主键/外键的信息。2019/12/20数据仓库与数据挖掘132.2数据仓库的数据特征数据仓库中的元数据系统存储过程sp_databases返回当前服务器上的所有数据库的基本信息。sp_server_info返回当前服务器的各种特性及其对应取值。sp_sproc_columns返回指定存储过程的的输入、输出参数的信息。sp_statistics返回指定的表或索引视图上的所有索引以及统计的信息。sp_stored_procedures返回当前数据库的存储过程列表,包含系统存储过程。sp_tables返回当前数据库的所有表和视图,包含系统表。系统函数COLUMNPROPERTY返回有关列或过程参数的信息,如是否允许空值,是否为计算列等。COL_LENGTH返回指定数据库的指定属性值,如是否处于只读模式等。DATABASEPROPERTYEX返回指定数据库的指定选项或属性的当前设置,如数据库的状态、恢复模型等。2019/12/20数据仓库与数据挖掘142.2数据仓库的数据特征数据仓库中的元数据在数据仓库中,元数据定义了数据仓库中的对象,例如表,列,查询,业务规则以及数据仓库内部的数据转移信息等.管理员:数据仓库中包含的所有内容和过程的完整知识库及其文档;最终用户:数据仓库的信息地图;2019/12/20数据仓库与数据挖掘152.2数据仓库的数据特征数据仓库中的元数据业务元数据,从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据;技术元数据,是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据。业务用户和技术用户借助元数据管理层提供的功能和应用,能更有效的理解和使用数据仓库数据。2019/12/20数据仓库与数据挖掘16数据ETL是用来实现异构数据源的数据集成,即完成数据的抽取(Extract)、转换(Transform)、装载(Load)等数据调和工作.ETL的过程就是调和数据的过程。2.3数据仓库的数据ETL过程2019/12/20数据仓库与数据挖掘17数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)2019/12/20数据仓库与数据挖掘18数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)数据抽取从源数据库中获取相关数据用于填充数据仓库的过程;静态抽取以及增量抽取的区别;Select…Into的用法请使用SQL语句练习数据的静态抽取以及增量抽取。2019/12/20数据仓库与数据挖掘19数据的ETL过程描述数据抽取增量抽取的集中实现方法:2019/12/20数据仓库与数据挖掘20数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)数据清洗数据清洗的目的是为了纠正源数据库中数据值的错误可能存在的数据问题列举如下:1.错误拼写的名字和地址如小王小王2.不可能的或错误的出生日期如2023-12-93.不匹配的地址和电话区号如温州05764.缺失的数据、重复的数据、不一致的数据等等。2019/12/20数据仓库与数据挖掘21数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)数据转换将数据从源数据库系统格式转换到数据仓库的数据格式;数据转换有可能只是简单的数据格式变化,也有可能是高度复杂的数据组合变化;数据转换通常和数据清洗功能是混合在一起的.数据转换的目的是把源系统中的数据格式转换成目标系统的数据格式。2019/12/20数据仓库与数据挖掘22数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)数据转换记录级转换功能:选择连接聚集规范化字段级转换功能:单字段:算法表查找多字段:映射请使用SQL语句练习选择、连接、聚集等操作。请使用SQL语句练习针对时间的各个项的提取操作。2019/12/20数据仓库与数据挖掘23数据的ETL过程描述操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)数据加载把数据加载到目标数据仓库中,并且创建所需要的索引.刷新方式:定期对目标数据进行批量重写;更新方式:将源数据中的改变数据写进数据仓库;2019/12/20数据仓库与数据挖掘24数据ETL过程的实施要点ETL过程是一个数据流动的过程,中间的“T”(转换)是关键;ETL工具的选择非常重要,运用合适的工具会事半功倍;如何保证数据质量?数据质量在一定程度上决定了数据仓库的价值。数据ETL论文ETL实验内容---SQLServer2005OLTP各表的解释OLTP各表的解释OLTP各表的解释OLTP各表的解释第三次课程主要完成SSIS实验