《数据仓库开发实例课件.ppt》由会员分享,可在线阅读,更多相关《数据仓库开发实例课件.ppt(76页珍藏版)》请在三一办公上搜索。
1、数据仓库与OLAP,广东工业大学 艾丹祥,数据仓库开发实例,案例背景,Pub是美国的一家图书出版公司,希望构建数据仓库。其中销售部门的需求比较急迫,希望能在短时间内实现对销售业绩的分析。,根据Pub公司的情况,考虑采用金博尔的DMDW的开发模式,即先为销售部门设计一个数据集市,其他部门数据集市的设计可参照此模型。,收集项目需求,准备:研究选定的业务过程(术语、步骤、度量方法)采访:钻研选定的业务过程(理解使其运作所需的分析、数据模型和技术)分析:业务过程相关的数据资源归档,对于Pub公司:选定“销售”业务过程后,通过采访了解其与销售分析相关的问题,如通过什么方式销售、有哪些销售地区等。,收集项
2、目需求,基本业务状况Pub公司在美国各地均有出版社,出版社负责联系作者、出版图书,已出版的图书将由各地的代销书店进行销售。,收集项目需求,业务分析需求销售部门最关心销售的业绩,主要通过销售额和销售量进行考核。,数据仓库开发实例,业务分析需求希望针对每个出版社作图书销售业绩分析。希望针对每个国家的出版社作图书销售业绩分析。希望针对每个州的出版社作图书销售业绩分析。希望针对每城市的出版社作图书销售业绩分析。希望针对每本图书作销售业绩分析。希望针对每类图书做销售业绩分析。希望针对每年出版的图书做销售业绩分析。希望针对每位作者所编写的图书做销售业绩分析。希望针对每个书店作图书销售业绩分析。希望针对每个
3、州的书店作图书销售业绩分析。希望针对每个城市的书店作图书销售业绩分析。希望针对年、月、日作销售业绩分析。,数据仓库开发实例,销售业务的总线矩阵,收集项目需求,数据资源状况公司的业务数据库为Pubs数据库,收集项目需求,数据资源状况Pubs中与销售业务有关的表,根据总线矩阵建立模型气泡图,建立多维数据模型,销售日期,建立多维数据模型,销售日期日期维度的粒度级别通常为一天日期维度表需要专门生成(如利用Excel工具)日期维度表中的时间范围根据业务需求决定,建立多维数据模型,销售日期日期维度至少要包含年、月、日期三个属性,建立多维数据模型,其中FullDate、Month、MonthName形成层次
4、。,出版社,建立多维数据模型,出版社,建立多维数据模型,出版社出版社维度可以直接包含出版社名、市、州、国家等属性,建立多维数据模型,其中pub_name、pub_city、pub_state、pub_country形成层次。,书店,建立多维数据模型,书店,建立多维数据模型,书店书店维度可以直接包含书店名、市、州等属性,建立多维数据模型,图书,建立多维数据模型,图书,建立多维数据模型,图书图书维度可以直接包含图书名、类型、出版年等属性,建立多维数据模型,其中book_name、book_type形成层次结构。,图书图书维度无法直接包含作者属性,建立多维数据模型,作者,建立多维数据模型,作者,图书
5、作者关系,作者,建立多维数据模型,作者作者维度可以直接包含作者名等属性,建立多维数据模型,图书作者关系,建立多维数据模型,作者,图书作者关系,图书作者关系,建立多维数据模型,建立多维数据模型,图书作者关系图书作者关系事实表只包含键值列,不包含度量值列,其目的是为了记录图书和作者之间的关系事实。,订单,建立多维数据模型,作者,图书作者关系,订单,建立多维数据模型,建立多维数据模型,订单订单事实表中要包含日期、出版社、书店、图书等键值列,还要包含销售额、销售量2个度量值列,其目的是为了记录销售事实。,建立多维数据模型,订单,建立多维数据模型,最终,确定数据集市包括以下多维数据模型:,主题图书销售业
6、绩度量值图书销售量图书销售额维度出版社(国别-州-城市-出版社)作者(作者姓名)图书(图书类别-单一图书,图书出版年)书店(州-市-书店)销售日期(年-月-日),Microsoft 数据仓库工具集,核心数据仓库工具集SQL Server关系引擎(RDBMS):实现关系数据库SQL Server Integration Service(SSIS):实现ETL系统SQL Server Analysis Service(SSAS):实现多维数据库,支持OLAP查询,实现数据挖掘SQL Server Reporting Service(SSRS):定义报表开发和管理工具:SQL Server BI D
7、evelopment Studio(BIDS)和SQL Server Management Studio。,Microsoft 数据仓库系统的体系结构,ETL过程,利用SQL Server Integration Service 对Pubs数据库进行抽取和整理,形成Pubs_DW数据仓库。先将数据从源事务数据中提取到中间数据库Pubs_Stage再对中间数据库的数据进行转换并加载到目标关系数据仓库Pubs_DW,ETL过程,Date.xls,ETL过程,利用DTS和SQL Server Integration Service 对Pubs数据库进行抽取和整理,形成Pubs_DW数据仓库。先将数据
8、从源事务数据中提取到中间数据库Pubs_Stage(DTS工具)再对中间数据库的数据进行转换并加载到目标关系数据仓库Pubs_DW(SSIS工具),ETL过程,利用DTS将pubs数据库和date.xls中的数据直接导出到pubs_stage数据库中。,Pubs_Stage的结构,ETL过程,新建pubs_DW数据仓库,ETL过程,pubs_DW数据仓库中的DimDate表,ETL过程,pubs_DW数据仓库中的DimPublisher表,ETL过程,pubs_DW数据仓库中的DimStore表,ETL过程,pubs_DW数据仓库中的DimBook表,ETL过程,pubs_DW数据仓库中的Di
9、mAuthor表,ETL过程,pubs_DW数据仓库中的FactBookAuthor表,ETL过程,pubs_DW数据仓库中的FactSales表,ETL过程,新建SSIS项目,并将pubs_stage数据库中的数据转换并加载到pubs_DW数据仓库中。SSIS项目由若干SSIS程序包的构成,其中一个为主程序包(启动)。SSIS程序包由一个控制流和若干个数据流构成。,多维数据集和OLAP,OLAP的提出(1993年),1981年图灵奖获得者:埃德加科德(Edgar Frank Codd)“关系数据库之父”,多维数据集和OLAP,1995年OLAP专门研究机构OLAP Report提出关于OLA
10、P的简明定义FASMI(Fast Analysis of Shared Multidimensional Information)。,快速性(Fast)OLAP系统必须能快速响应用户的分析查询要求,对于用户大部分分析要求在5秒钟内作出反应,否则超过30秒用户可能会失去分析的主线索,影响分析质量。,多维数据集和OLAP,1995年OLAP专门研究机构OLAP Report提出关于OLAP的简明定义FASMI(Fast Analysis of Shared Multidimensional Information)。,分析性(Analysis)OLAP系统能处理任何与用户和应用有关的逻辑分析和统计
11、分析,在需要的情况下还允许用户无需编程就可为分析和生成报表定义一些新的特殊运算,将其作为分析的一部分,并以用户理想的方式给出报告。用户可以在OLAP平台上进行数据分析,也可以与其他外部分析工具交互信息,同时应提供灵活开放的报表处理功能,保存分析结果。,多维数据集和OLAP,1995年OLAP专门研究机构OLAP Report提出关于OLAP的简明定义FASMI(Fast Analysis of Shared Multidimensional Information)。,共享性(Shared)OLAP系统应能实现在多用户环境下的安全保密要求和并发控制。多个用户同时使用,能够根据用户所属的安全级别
12、,让他们只能看到自身权限下的信息。,多维数据集和OLAP,1995年OLAP专门研究机构OLAP Report提出关于OLAP的简明定义FASMI(Fast Analysis of Shared Multidimensional Information)。,多维性(Multidimensional)OLAP系统能对数据进行多维视图和分析,是OLAP的关键属性。,多维数据集和OLAP,1995年OLAP专门研究机构OLAP Report提出关于OLAP的简明定义FASMI(Fast Analysis of Shared Multidimensional Information)。,信息性(Inf
13、ormation)OLAP系统具有管理数据和获得信息的能力,能管理大量的数据并即时地获得用户所需信息。,多维数据集和OLAP,OLAP与数据仓库关系紧密,OLAP分析与数据仓库的关系十分紧密。数据仓库的建立,解决了依据主题进行数据存储的问题,提高了数据的存取速度;而OLAP分析构成了数据仓库的表现层,将数据仓库中的数据通过不同的维和指标,灵活地展现出来,提高了数据的展现能力,进而提高了数据的分析能力。,多维数据集和OLAP,多维数据集,多维数据集(cube)OLAP中的主要对象,通常也称作多维立方体。cube是一个数据集合,通常由数据仓库的子集构造,把一组维度和度量值合理组织,最后汇总成多维结
14、构。,多维数据集和OLAP,多维数据集,多维数据集和OLAP的实现,以Pubs_DW数据库为基础,利用SQL Server Analysis Service开发Pubs AS多维数据库以支持OLAP分析。,Pubs_DW(关系数据库)FactSalesFactBookAuthorDimPublisherDimBookDimAuthorDimStoreDimDate,SSAS,Pubs_AS(多维数据集),Sales Cube(Sales多维数据集)Sales度量值组:Sales AmountSales QtyBookAuthor中间度量值组维度:BookAuthorStorePublisher
15、Date,多维数据集和OLAP的实现,SSAS多维数据库体系结构,多维数据集和OLAP的实现,分析服务项目开发步骤创建数据源创建数据源视图创建维度(公共维度)创建多维数据集(度量值)处理、部署项目浏览多维数据集,多维数据集和OLAP的实现,分析服务项目开发要点每个分析服务项目必须至少包含一个数据源每个分析服务项目必须至少包含一个数据源视图每个分析服务项目必须包含至少一个维度和多维数据集多维数据集必须包含在一个分析服务项目中每个分析服务项目可以包含多个多维数据集,多维数据集和OLAP,多维数据分析方法,OLAP多维分析对多维数据集中的数据进行上卷、下钻、切片、切块、旋转等各种分析操作,以便剖析数
16、据,使用户从多个角度、多个侧面、多个层次来观察多维数据,从而发掘数据中蕴涵的对自己有用的信息。,多维数据集和OLAP,多维数据分析方法,多维数据集和OLAP,多维数据分析方法切片,切片(Slice)对多维数据集的某个维选定一个维成员,这种选择操作就称为切片。例如:Cube(维1,维2,维i,维n,度量值)对维i选定了某个维成员,则(维1,维2,维i成员,维n,度量值)就是该Cube在维i上的一个切片,切片的数量取决于维i上的维成员的个数。,多维数据集和OLAP,多维数据分析方法切片,“时间第1季度”,在三维立方体上切片的结果是得到一个二维的平面数据,4.1 OLAP概述,多维数据分析方法切块,
17、切块(Dice)在一个多维数据集中对两个及两个以上的维选定维成员的操作可以称为切块。例如:Cube(维1,维2,维i,维k,维n,度量值)对维i,维k,选定了维成员,则(维1,维2,维i成员,维k成员,维n,度量值)就是该Cube在维i,维k上的一个切块。显然,当i=k时,切块操作就退化成切片操作。,多维数据集和OLAP,多维数据分析方法切块,(贷款“正常”or“次级”)And(时间“1季度”or“2季度”)And(经济性质=“集体“or”个人”or”其它“),切块的结果是得到了一个子立方体,多维数据集和OLAP,多维数据分析方法上卷,上卷(Roll-up)上卷是对数据进行更为宏观的观察。通过
18、在维的等级中上升或通过消除某个或某些维来观察更概括的数据。,多维数据集和OLAP,多维数据分析方法上卷,上卷(1)在维的等级中上升,沿着时间维上卷,由“季度”上升到半年,4.1 OLAP概述,多维数据分析方法上卷,上卷(2)消除一个或多个维,消除“经济性质”维度,多维数据集和OLAP,多维数据分析方法下钻,下钻(Drill-down)下钻是对数据进行更为详细的观察。通过在维的等级中下降或通过引入某个或某些维来更细致的观察数据。,多维数据集和OLAP,多维数据分析方法下钻,沿时间维下钻,多维数据集和OLAP,多维数据分析方法旋转,旋转(Pivot)旋转又称为转轴(Rotate),将多维数据集中各个维的角度进行转动,将不同维进行交换显示,以使用户更加直观地观察数据集中不同维之间的关系。,多维数据集和OLAP,多维数据分析方法旋转,交换“时间”和“经济性质”轴,