930 likes | 1.21k Views
数据仓库结构设计与开发. 提纲. 1. 数据仓库的发展 2. 数据仓库的概念及特性 3. 数据仓库的结构 4. 数据仓库的开发过程 5. 数据仓库的典型应用. 数据仓库的发展 Development of DataWarehouse. 数据仓库的发展( 1 ). NCR 公司为 Wal-mart 建立了第一个数据仓库。 1996 年,加拿大的 IDC 公司调查了 62 家实现了数据仓库的欧美企业,结果表明数据仓库为企业提供了巨大的收益。 IBM 的实验室在数据仓库方面已经进行了 10 多年的研究,并将研究成果发展成为商用产品。
E N D
提纲 • 1. 数据仓库的发展 • 2. 数据仓库的概念及特性 • 3. 数据仓库的结构 • 4. 数据仓库的开发过程 • 5. 数据仓库的典型应用
数据仓库的发展(1) • NCR公司为Wal-mart建立了第一个数据仓库。 • 1996年,加拿大的IDC公司调查了62家实现了数据仓库的欧美企业,结果表明数据仓库为企业提供了巨大的收益。 • IBM的实验室在数据仓库方面已经进行了10多年的研究,并将研究成果发展成为商用产品。 • 其他数据库厂商在数据仓库领域也纷纷提出了各自的解决方案。
数据仓库的发展(2) • IBM: 在其DB2 UDB发布一年后的1998年9月发布5.2版,并于1998年12月推向中国市场,除了用于联机分析处理( OLAP )的后台服务器DB2 OLAP Server外,IBM还提供了一系列相关的产品,包括前端工具,形成一整套解决方案。 • Informix公司: 在其动态服务器IDS(Informix Dynamic Server)中提供一系列相关选件,如高级决策支持选件(Advanced Decision Support Option)、OLAP选件(MetaCube ROLAP Option)、扩展并行选件(Extended Parallel Option)等,这种体系结构严谨、管理方便、索引机制完善,并行处理的效率更高,其中数据仓库和数据库查询的SQL语句的一致性使得用户开发更加简便。
数据仓库的发展(3) • 微软公司: 在其SQL Server7.0以及SQL Server2000中集成了代号为Plato的OLAP服务器。 • Sybase: 提供了专门的OLAP服务器Sybase IQ,并将其与数据仓库相关工具打包成Warehouse Studio 。 • Oracle公司: 则推出从数据仓库构建、OLAP到数据集市管理等一系列产品包(如Oracle Warehouse Builder、Oracle Express、DataMart Suit等)。
为什么要建立数据仓库 • 数据大量积累 • 数据丰富、知识贫乏 • 数据—>信息—>知识—>效益的转换需求(DSS) • OLTP的局限性
OLTP的局限性 • 事务处理(操作型处理)和分析处理的性能特性不同 • OLTP对数据的存取操作频率高而每次操作处理的时间短; • 在分析处理环境中,某个DSS应用程序可能需要连续几个小时,从而消耗大量的系统资源。 • 数据保留最新,量少 • 数据松散,集成度不高 • 数据面向应用而非主题 • 数据质量问题
数据库应用的规模和深度的发展—高级数据库 • 从在线事务处理(OLTP)到在线分析处理(OLAP)、数据挖掘(Data Mining)和决策支持(DS)
突出的问题 • 数据库适于存储高度结构化的日常事务细节数据,决策者可能并不关心具体的细节信息;存取操作频率高,操作处理的时间短; • 决策型数据多为历史性、汇总性或计算性数据,多表现为静态数据,周期性刷新;多维性,分析内容复杂; 细节数据量太大严重影响分析效率,分散决策者的注意力;连续运行,消耗大量的系统资源;数据来自企业内部或企业外部,在分析时直接对这些数据操作会造成分析混乱。外部一些非结构化数据,数据库系统常无能为力。
多库系统的限制 • 可用性:源站点或通信网络故障将导致系统瘫痪, 源站点不能通过网络在线联入多库系统。 • 响应速度:全局查询多级转换和通信传输, 延迟和低层效率影响响应速度。 • 系统性能:总体性能取决于源站点中性能最低的系统, 影响系统性能的发挥; • 系统开销: 每次查询要启动多个局部系统, 通信和运行开销大。
实施数据仓库的条件 • 数据积累已达到一定规模 • 面临激烈的市场竞争 • 在IT方面的资金能得到保障
数据仓库的概念 • 数据仓库已被多种方式定义,使得很难提出一种严格的定义。按照W. H. Inmon这位数据仓库系统构造方面的领头设计师的说法:数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程。 • 与其他数据库应用不同的是,数据仓库更像一种过程,对分布在企业内部各处的业务数据的整合、加工和分析的过程——建立数据仓库看作构造和使用数据仓库的过程。
数据仓库特性 • 面向主题 • 典型的主题领域:客户;产品;交易;帐目 • 集成的 • 数据提取、净化、转换、装载 • 非易失的 • 数据仓库的数据通常是一起载入和访问的,但并不进行一般意义上的数据更新 • 随时间的变化性 • 数据仓库中的时间期限要远远长于操作型系统中的时间期限(5~10年); • 数据仓库中的数据是一系列某一时刻生成的复杂的快照; • 数据仓库的键码结构总是包含某时间元素。
数据仓库 OLTP数据库 管理层使用 一线工人使用 战略性价值 策略性价值 支持战略定向 支持日常操作 用于联机分析 用于事务处理 面向主题 面向应用程序 存储历史数据 仅存储当前数据 不可预测查询模型 可预测查询模型 数据仓库与OLTP数据库
数据集市 • 数据集市(data mart)是数据仓库的一个部门子集,它针对选定的主题,对于特定的用户是有用的。 • 数据集市分为独立的和依赖的两类。独立的 数据集市中,数据来自一个或多个操作的系统或外部信息提供者,或者来自在一个特定的部门或地域局部产生的数据。数据集市中的数据直接来自企业数据仓库。
操作型数据存储 • 很多情况下,DB-DW的两层体系结构并不能涵盖企业所有的数据处理要求。 • 日常管理和控制决策的问题并不是联机事务处理,又算不上高层决策分析,需要企业全局一致的、细节的、当前或接近当前的数据,又需要面向主题、集成的数据环境。因此需要DB-DW之间存在着一个中间层次,即操作型数据存储 ODS(Operational Data Store )。
操作型数据库、ODS和DW的比较 比较项目 操作数据存储 数据仓库 数据内容 当前和最近的值 存档、归纳数据和经计算得出的数据 数据组织 根据主体域---数据集成 面向主题 数据性质 动态(经常变化) 静态(刷新时除外) 数据结构和格式 复杂到简单 简单:适于商业分析 访问概率 高到中 中到低 数据更新 无更新 访问和生成:没有直接地更新 数据访问 每个事务访问几条记录 每个事务访问多条记录 用途 高度结构化、重复处理和事务处理和交互式 分析处理 对响应时间的要求 低于1秒到2~3秒 几秒到几分,有时几小时 对性能的要求 中到高 中 ODS和DW的比较
数据仓库的结构 Structure ofData Warehouse
操作型数据和外界数据 信息发布 系统 管理平台 数据抽取 数据净化 数据载入 数据仓库 报表,查询, EIS工具 MRDB OLAP 工具 MDDB 数据挖掘工具 数据集市 管理平台 元数据 数据仓库结构
OLAP工具 查询/报表工具 数据挖掘工具 前端开发工具 可视化用户接口 数据仓库 元数据及其管理工具 集成器 集成器 转换器 转换器 源数据 源数据 数据仓库体系结构
数据仓库组成 • 数据源 • 数据抽取(Extraction)、转换(Transformation)、集成、装载(Load)和刷新(Refresh)工具:格式、净化和汇总 • 数据建模工具(Modeling Tools) • 元数据仓储(Metadata Repository) • 数据仓库监控(Monitoring)和管理(Administration)工具:维护数据仓库中的数据,备份、恢复数据以及管理数据的安全权限问题。 • 数据仓库及数据集市的目标数据库(Target DataBase) • OLAP服务器 • 前端数据访问和分析工具
开始 连接源数据库 读源数据 检查数据准备区? N 创建数据准备区 Y 创建DTS包 执行DTS包 更改元数据(时间,数据状态) 成功 结束 转换器 • 转换器的功能: • 数据结构转换和数据类型转换 • 非结构化数据的转换
数据准备区 • 从源数据中提取数据,转换成数据仓库所要求的格式后存储在数据仓库的一个称为数据准备区的缓冲区中。在该区域中,可以暂时存储原始数据,然后由集成器对数据进行清理、集成后再装载到数据仓库中。 数据仓库 源数据 数据准备区
集成器 • 数据净化(有效值和范围检验) • 维表与事实表的引用完整性检验:当维表和事实数据表之间的引用完整性破坏时,这类查询可能会导致检索数据不准确或不同查询之间数据的不一致性错误。 • 统一数据编码 • 日期格式转换 • 测量单位的转换
监控器捕捉数据变化的途径 • 时标方法:在记录中插入新的时标或加上更新时的时标,然后根据时标判断哪些数据是变化的,并把变化的数据追加到数据仓库中去。 • DELTA文件:该文件是由应用产生的,并记录了应用所改变的所有内容。利用DELTA文件记录数据的变化,不需要扫描整个数据库,所以效率较高,但生成的DELTA文件的应用并不普遍。 • 映象文件:在上次提取数据库数据到数据仓库之后及本次提取数据库数据之前,对数据库分别作一次快照,然后通过比较两幅快照的不同来确定要追加的数据。这种方法需要占用大量的系统资源,对系统的性能影响比较大。 • 日志文件:由于日志文件是数据库的固有机制,所以它对系统性能的影响比较小,另外它还有DELTA文件的优点,提取数据只局限于日志文件而不用扫描整个数据库。日志文件是最可行的一种方法。
三层结构的数据仓库(1) • 仓库数据库乎总是一个关系数据库系统; • OLAP服务器用于多维分析; • 客户层,包括查询和报告工具、分析工具和/或数据挖掘工具。
三层结构的数据仓库(2) • 客户端: • 可视化的用户界面 • 客户端通信组件 • 应用服务器端: • 服务器端通信组件 • 调度组件 • 安全组件 • 元数据管理器 • 转换器 • 集成器 • 数据库服务器端 • 源数据 • 元数据库 • 数据准备区 • 数据仓库
数据仓库中的数据组织 高度综合级 轻度综合级 多级数据 当前综合级 早期细节级 从事务型处理环境中提取的源数据经过综合后,首先进入当前细节级,并根据需要进行进一步的综合进入轻度综合级或高度综合级,老化的数据将进入早期细节级。
粒度 • 粒度影响数据仓库中的数据量和查询的种类; • 聚合是构成维内不同层次的数据集,使用户能够在维度内的不同层次上观察数据。
元数据 • 要有效的管理数据仓库,必须设计一个描述能力强、内容完善的元数据。 • 元数据描述了数据仓库中源数据和目标数据本身的信息,定义了从源数据到目标数据的转换过程。元数据可用文件存在元数据库中。
元数据的种类 • 转换元数据:为了从事务处理型环境向数据仓库中转换而建立的元数据,它包含了所有源数据的信息、事务描述、数据结构的定义、提取数据和传送数据的算法、综合数据和净化数据的规则、数据访问和传送的记录等。 • DSS元数据:在数据仓库中用来与终端用户的多维商业模型/前端工具之间建立映射,常用来开发更先进的决策支持工具。
元数据的内容 • 与数据库的数据字典中相似的内容 • 数据仓库的主题描述 • 外部数据和非结构化数据的描述 • 记录系统定义 • 逻辑模型的定义 • 数据进入数据仓库的转换规则 • 数据的提取历史 • 粒度的定义 • 数据分割的定义 • 广义索引 • 有关存储路径和结构的描述 • 关于源数据的元数据 • 关于数据仓库映射的元数据 • 关于系统安全的元数据。 • 与设计时采用的具体技术以及具体应用环境有关的内容 • 与传统数据库系统的数据字典中相似的内容。 • 数据仓库的主题描述。 • 外部数据和非结构化数据的描述。 • 记录系统定义。 • 逻辑模型的定义。 • 数据进入数据仓库的转换规则。 • 数据的提取历史。 • 粒度的定义。 • 数据分割的定义。 • 广义索引。 • 有关存储路径和结构的描述
数据仓库的虚拟存储方式 • 数据仓库中的数据仍然存储在源数据库中,只是根据用户的多维分析需求而形成多维视图,临时在源数据库中找出并提取所需要的数据,完成多维分析。 • 优点:比较简单、花费少、使用灵活 • 缺点:要求源数据库的组织比较规范、数据完备并没有冗余,同时又比较接近多维数据模型时,而一般数据库难以满足这些要求,在实际应用中难以有效建立。
每日事务处理 操作型数据 每日综合 1月1日 1月2日 1月3日 。。。 2月1日 2月2日 2月3日 。。。 3月1日 3月2日 3月3日 。。。 数据仓库的数据组织形式(1) • 简单堆积文件:每天从操作型数据库中提取加工后的数据逐日积累的存储起来。存储的数据细节化程度很高,可以应付多种细节查询,但分析时查询的效率较低。
每日事务处理 操作型数据 每日综合 第1天 第2天 第3天… 第7天 第1周 第2周 第3周… 第5周 第1月 第2月 第3月… 第12月 第1年 第2年 第3年… 第n年 数据仓库的数据组织形式(2) • 轮转综合文件:数据存储单位被分为日、周、月、年等几个级别,逐级综合。
1月份彩电销售 2月份彩电销售 海尔 68 长虹 100 东芝 20 熊猫 10 ………… 海尔 150 长虹 90 东芝 40 熊猫 30 ………… 海尔 1月份至今 218 长虹 1月份至今 190 东芝 1月份至今 60 熊猫 1月份至今 40 ………… …… 数据仓库的数据组织形式(3) • 简单直接文件:类似于简单堆积文件,但它是间隔一定时间的数据库快照,比如每隔一星期或一个月作一次。 • 连续文件:通过两个比较简单直接文件的不同而生成的。
数据仓库的数据模型 星型图模型 物理数据模型 面向用户的需求 概念模型 细 化层次 信息包图 逻辑模型 物理模型 更详细的 技术细节
信息包图(概念模型) • 信息包图:数据仓库的数据模型的最高层。由于大多数商务数据是多维的,但传统的数据模型表示三维以上的数据有一定困难。这种模型集中在用户对信息包的需要,信息包提供了分析人员思维模式的可视化表示。 • 工作: • 确定系统边界:决策类型、需要的信息、原始信息 • 确定主题域及其内容:主题域的公共键码、联系、属性组 • 确定维度:如时间维、销售位置维、产品维、组别维等 • 确定类别:相应维的详细类别 • 确定指标和事实:用于进行分析的数值化信息
销售分析的信息包图 信息包: 销售分析 维度 类别
多维数据模型 • 数据仓库基于多维数据模型。 • 该模型将数据看作数据立方体 (data cube)形式,允许以多维对数据建模和观察。它由维和事实定义。维是关于一个组织想要记录的透视或实体。每一个维都有一个进一步描述维的表相关联,即维表。
以四维角度观察销售数据 4-D立方体看成 3-D 立方体的序列,依此类推
数据模型(逻辑模型) • 最流行的数据仓库数据模型就是多维数据模型,这种模型可以以星型模式、雪花模式或事实星座模式存在。 • 数据仓库通常使用事实星座模式 ,因为它能对多个相关的主题建模。对于数据集市,流行星型或雪花模式,因为它们都适合对单个主题建模。 • 多维数据模型围绕中心主题组织。该主题用事实表表示。事实表:用来存储事实的度量值和各个维的码值,维表用来存放维的元数据(维的层次、成员类别等描述信息)。
Market Table Period Table Market_id Time_id Sales Table Market_Desc Period_Desc District Quarter Region Time_id Year Product_id "Dimension Table" "Dimension Table" Market_id Scenario Product Table Dollars Product_id Units Scenario Table Product_Desc Discount% Scenario Brand "Fact Table" Actual Size "Dimension Table" Profit "Dimension Table" 星型模型(Star Schema) Budget
雪花模式(snowflake schema) • 雪花模式是星型模式的变种,其中某些维表是规范化的 ,因而把数据进一步分解到附加的表中。 • 雪花模式和星型模式的主要不同在于雪花模式的维表可能是规范化形式,以便减少冗余。 • 由于执行查询需要更多的连接操作,雪花模型可能降低浏览的性能。