第2章 数据仓库开发模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细
维
类别
度
表
表
维
维
详细
度
度
类别
雪花模型对星型表模型的维度表进行了规范化处理。
2.3 数据仓库逻辑模型
账号 姓名 客户类型 初次交易 时间
账号 省 市 县 街道 邮政编码
客户编号
交易记录 账号 现金交易 额 信用交易 额 信用状况 账号 最大信用 额 最近信用 信 发生息时反间馈 账号 记录人 反馈类型 反馈时间
2.4.2 数据仓库物理模型的索引构建
位图索引
女性索引 0 1 1 0 1 0 0 1 1 0 1
客户性别 男 女 女 男 女 男 男 女 女 男 女
客户所在地 北京市 江苏省 北京市 山东省 北京市 上海市 江苏省 上海市 北京市 浙江省 广东省
上海市索引 0 0 0 0 0 1 0 1 0 0 0
做一枚螺丝钉,那里需要那里上。20. 12.404: 59:3904 :59Dec- 204-De c-20
日复一日的努力只为成就美好的明天 。04:59: 3904:5 9:3904: 59Friday, December 04, 2020
安全放在第一位,防微杜渐。20.12.42 0.12.40 4:59:39 04:59:3 9Dece mber 4, 2020
一年数据
五年数据
数据量(行数)
粒度划分策略
数据量(行数) 粒度划分策略
10,000,000 1,000,000
100,000 10,000
双重粒度并仔细设计 双重粒度 仔细设计 不考虑
20,000,000 10,000,000 1,000,000
100,000
双重粒度并仔细设计 双重粒度 仔细设计 不考虑
数据仓库开发模型
2.1数据仓库开发模型 2.2数据仓库概念模型 2.3数据仓库逻辑模型 2.4数据仓库的物理模型 2.5数据仓库的元数据模型 2.6数据仓库的粒度和聚集模型 练 习
2.1 数据仓库开发模型
模型是对现实世界进行抽象的工具。在信 息管理中需要将现实世界的事物及其有 关特征转换为信息世界的数据才能对信 息进行处理与管理,这就需要依靠数据 模型作为这种转换的桥梁。这种转换一 般需要经历从现实到概念模型,从概念 模型到逻辑模型,从逻辑模型到物理模 型的转换过程。
2.5 数据仓库的元数据模型
2.5.1 元数据的类型与组成
元数据 静态元数据
名称 描述 格式
数据类 型
关系 生成 来源 索引 时 间
类别 域 业务 规 则
元数据 动态元数据
入库时 间
更新周 期
数据 质量
统计信 状态 处理 息
存储 存储大小 引
位置
用
处
2.5.2 元数据在数据仓库中的作用
元数据描述了数据的结构、内容、键、索引等项内容。在数据 仓库中,元数据定义了数据仓库中的许多对象——表、列、查 询、商业规则或是数据仓库内部的数据转移。元数据是数据仓 库的重要构件,是数据仓库的指示图(roadmap)。 1.数据仓库的元数据重要性 为数据仓库服务与DSS分析员及高层决策人员服务提供便利 解决操作型环境和数据仓库的复杂关系 数据仓库中数据的管理 2.元数据在数据仓库开发期间的使用 确认数据质量 、同步化和刷新 、映射 3.元数据在数据源抽取中的作用 资源领域的确定 、跟踪历史数据结构变化的过程 、属性到属性 的映射 、属性转换 4.元数据在数据求精与重构工程上的作用 数据的分割 、概括与聚集 、预算与推导 、转换与再映像
现实世界 信用 张三 客户
客户与产品
概念世界 特性 个体 整体
整体间联系
逻辑世界 属性 实体
同质总体 异质总体
计算机世界 列(字段、数据
项) 记录
表文件
数据库
现实世界
元数据模型
概念模型 逻辑模型 物理模型
数据 粒度 和聚 集模 型
数据仓库
数据仓库的设计就是在概念模型、逻辑模型和物理模 型的依次转换过程中实现的。作为数据仓库的灵魂— —元数据模型则自始至终伴随着数据仓库的开发、实 施与使用。数据粒度和聚集模型也在数据仓库的创建 中发挥着指导的作用,指导着数据仓库的具体实现。
2.4 数据仓库的物理模型
2.4.1 数据仓库物理模型的存储结构 确定数据的存储结构 并行存储结构——RAID(Redundant Array of Inexpensive Disk,廉价冗余磁盘阵列)。 ·RAID
·RAID1级。 ·RAID2级。 ·RAID3级。 ·RAID4级。 ·RAID5级。
2.6.3 数据仓库的聚集模型确定
聚集数据主要是为了使用户获得更好的查询性能 聚集模型设计时应该注意将聚集数据存储在其事实表中,并与 其底层数据相区别。 设计聚集模型时,首先需要考虑用户的使用要求。 其次要考虑数据仓库的粒度模型和数据的统计分布情况。 数据仓库的聚集模型的设计与数据仓库的粒度模型紧密相关 建立聚集模型时还需要考虑作为聚集属性的数量因素
北京市索引 1 0 1 0 1 0 0 0 1 0 0
2.4.2 数据仓库物理模型的索引构建
上海 OR 北京 = 地区 AND
市索
市索
索引
引
引
0
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
女性 = 最后
索引
索引
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
0
2.4.2 数据仓库物理模型的索引构建
数据仓库的数据模型扩充了关键字结构,增加了 时间属性作为关键字的一部分
数据仓库的数据模型中还增加了一些由基本数据 所导出的衍生数据,这些导出的衍生数据主要 用于对企业的管理决策进行分析
指标实体 名
维度实 体名
指标实体(事 实实体)
维度实 体
详细类 别实体
名
详细类别实 体(引用 实体)
2.2.2 规范的数据模型
2.事实表中的事实特性 事实表中一般包含两部分,一是由主键和外键所组成的键部 分,另一是用户希望在数据仓库中所了解的数值指标。 派生事实主要有两种,一是可以用同一事实表中其他事实计 算得到,还有一类派生事实是非加法性事实。
2.3.2 维模型设计
客户主题维度表模型 时间维度表(年Date,月Date,日Date)。 地点维度表(省Character20,市Character20,县Character20, 街道Character20)。
2.5.3 元数据的收集
1.数据源的元数据 2.数据模型的元数据 3.数据源与数据仓库映射的元数据 4.数据仓库应用的元数据
2.6 数据仓库的粒度和聚集模型
粒度级别 综合性 数据细 节
低(如事
低
非常高
务)
高
中等到
高(如汇
低
总)
粒度可定义成数据仓库中数据细节的最低层次,如事务层次。
这种数据层次是高度细节化的,这样就能使用户按所需的任何
第2章数据仓库开发模型
在创建数据仓库之时,需要使用各种数据模型 对数据仓库进行描述。数据仓库的开发人员依 据这些数据模型,才能开发出一个满足用户需 求的数据仓库。使开发人员能够将注意力集中 在数据仓库开发的主要部分。模型有更好的适 应性,更易于修改。当用户的需求改变时,仅 对模型做出相应的变化就能反映这个改变。
加强自身建设,增强个人的休养。202 0年12 月4日上 午4时5 9分20. 12.420. 12.4
精益求精,追求卓越,因为相信而伟 大。202 0年12 月4日星 期五上 午4时5 9分39 秒04:59: 3920.1 2.4
让自己更加强大,更加专业,这才能 让自己 更好。2 020年1 2月上 午4时59 分20.1 2.404:5 9December 4, 2020
现金交易 信用交易
商品交易
账号 商品编号 时间 交易量 服务交易
账号 服务种类 时间 服务费用 贵颜宾色卡 账号 交易额 信用额 信用时间 签字
2.3.1 事实表模型设计
1.事实表 (1)客户事实表
客户基本情况表(账号Integer9,姓名Character12,出生地 Character20,初次交易时间Date,……)。
2.2 数据仓库概念模型
2.2.1 概念数据模型
财务部门 销售收入账 应收账 应付账 成本账
销售部门 销售计划 销售合同 销售统计
人事部门 员工业绩记录 员工技能情况 员工薪酬表
企业数据模型
销售部 门
…
财务部 门
……
人事部 门
……
图2.3 企业数据模型
数据仓库的数据模型中不包含操作型的数据,数 据仓库的数据模型只包含用户所感兴趣的分析 数据、描述数据和细节数据。
层次进行汇总。
根据粒度的划分标准可以将数据划分为:详细数据、轻度总结、
高度总结三级或更多级粒度。粒度的具体划分将直接影响到数 据仓库中的数据量以及查询质量。
2.6.1 数据粒度的划分
第一步,是估算数据仓库中将来要使用的数据行数和所需的直 接存取存储设备数。
每一个表的存储空间,应该是每一个表的数据存储空间和索引 存储空间之和。
数据仓库的数据
长期的框架 静态 数据通常是汇总的 特殊查询访问 定期更新 数据驱动
普通数据库系统的数据
短期的框架 快速变化 记录级的访问 标准查询访问 实时更新 事件驱动
第一范式、第二范式、第三范式数据仓 库的反规范化处理
2.2.3 星型模型
星型模型是最常用的数据
仓库设计结构的实现模
式。使数据仓库形成了
2.6.4 聚集模型的处理
聚集事实表已经独立存在并且可以与基本事实表一同保存 通过将当前加载数据添加到系统中的累积“桶”中 将数据的聚集与数据仓库的加载过程组合为同一处理过程 在将数据仓库数据加载以后,再进行聚集处理 每次在加载数据仓库数据时,都需要对各种聚集进行计算和增 加,及时保持聚集与基本数据的同步性
amou_mone
agelevel_id time_id geo_id produ_id
全连接 结果
time_id geo_id
time_id year_id month_id
produ_id 连接索引A
连接索引B
2.4.3 数据仓库物理模型的优化问题
1.合并表:几个表的记录分散存放在几个物理块中时,多个表的 存取和连接操作的代价会很大。 2.建立数据序列:按照某一固定的顺序访问并处理一组数据记录 。将数据按照处理顺序存放到连续的物理块中,形成数据序列。 3.引入冗余:一些表的某些属性可能在许多地方都要用到,将这 些属性复制到多个主题中,可以减少处理时存取表的个数。 4.表的物理分割:每个主题中的各个属性存取频率是不同的。将 一张表按各属性被存取的频率分成两个或多个表,将具有相似访 问频率的数据组织在一起。 5.生成派出数据:在原始数据的基础上进行总结或计算,生成派 出数据,可以在应用中直接使用这些派出数据,减少I/O次数, 免去计算或汇总步骤,在更高级别上建立了公用数据源,避免了 不同用户重复计算可能产生的偏差。
2.6.5 聚集模型的管理
要根据使用情况删除不经常使用的聚集 需要减少层次过于接近的聚集生成 注意将聚集独立存储在自己的事实表中
生活中的辛苦阻挠不了我对生活的热 爱。20. 12.420. 12.4Frid ay, December 04, 2020
人生得意须尽欢,莫使金樽空对月。0 4:59:39 04:59:3 904:59 12/4/20 20 4:59:39 AM
2.6.2 确定粒度的级别
考虑因素: 要接受的分析类型、可接受的数据最低粒度和能存储的数据量。 粒度的层次定义越高,就越不能在该仓库中进行更细致的分析。 在同一模式中使用多重粒度。 如果存储资源有一定的限制,就只能采用较高粒度的数据粒度 划分策略。 粒度的确定实质上是业务决策分析、硬件、软件和数据仓库使 用方法的一个折衷。 数据粒度划分策略一定要保证数据的粒度确实能够满足用户的 决策分析需要,这是数据粒度划分策略中最重要的一个准则。
agelevel_i d
geo_id prov_id city_id county_id
agelevel_id time_id year_id month_id geo_id prov_id city_id county_id produ_id
amou_mone
2.广义索引的构建 3.连接索引
agelevel_id time_id geo_id produ_id
维度 表
一个集成系统,为用户 提供分析服务对象。
维度 表
事实表
维度 表
维度 表
维度 表
核心是事实表,围绕事实表的是维度表。通过事实表将各种不 同的维度表连接起来,各个维度表都连接到中央事实表。
2.2.4 雪花模型
维
度
维
表
度
表
事实表
雪花模型是对星型模型 的扩展,每一个维度 都可以向外连接到多 个详细类别表。