《数据仓库》读书笔记:第5章 数据仓库和技术

该系列博文为《数据仓库 Building the Data Warehouse》一书的读书笔记,笔者将书中重点内容进行概括总结。大致保留书中结构,一部分根据自己的理解进行调整。如发现问题,欢迎批评指正。

章节博文
1《数据仓库》读书笔记:第1章 决策支持系统的发展
2《数据仓库》读书笔记:第2章 数据仓库环境
3《数据仓库》读书笔记:第3章 设计数据仓库
4《数据仓库》读书笔记:第4章 数据仓库中的粒度
5《数据仓库》读书笔记:第5章 数据仓库和技术
6《数据仓库》读书笔记:第6章 分布式数据仓库
7《数据仓库》读书笔记:第7章 主管信息系统和数据仓库
8《数据仓库》读书笔记:第8章 外部数据与数据仓库
9《数据仓库》读书笔记:第9章 迁移到体系结构化环境
10《数据仓库》读书笔记:第10章 数据仓库和Web
11《数据仓库》读书笔记:第11章 非结构化数据和数据仓库
12  待续……

1. 数据仓库的技术需求

  • 管理大量数据的能力

管理大量数据的方法:
① 通过使用处理器存储和磁盘存储中数据灵活的寻址能力;
② 通过建立索引;
③ 通过数据的外延;
④ 通过有效管理溢出数据;
……

管理大量数据选择技术时需要考虑的因素:
① 容量; ② 效率; ③存储和处理的费用。

  • 能够管理各种介质上的数据(数据仓库中的基本技术应该能够解决多种存储介质的问题)

以下介质存取速度,费用逐渐降低:
主存,扩展内存,高速缓存,DASD(直接存储存取设备),磁带,近线存储,光盘,微缩胶片

在多种存储介质上构建数据仓库(双重环境)
① 在线的、交互式处理的DASD(直接存取存储环境);
② 磁带或其他的大容量存储环境。
很多情况下,支持DASD和大容量存储的底层技术不同,因此普遍采用混合技术。

  • 方便地索引和监视数据
    建立索引:方便数据快速方便的访问

  • 大量接口技术
    用各种不同地技术接收和传送数据。应支持批模式和在线模式。

  • 允许设计者/开发者在块/页级别上以一种最佳形式决定数据地物理存放位置
    合理安排调整数据的物理存放位置,提高数据访问效率和更新效率。

  • 能够并行管理数据
    通过数据的并行存储和访问提高性能。

  • 有很好地元数据控制

元数据在数据仓库中比传统操作性环境中更重要的原因:
① 由于服务人群不同,元数据作用不同。操作型数据由IT专业人员使用,元数据几乎被当作事后补记很偶然地使用。数据仓库数据给DSS分析者用,他们没有很高的计算机水平,需要元数据信息;
② 元数据涉及对操作环境和数据仓库之间的映射(转换、过滤、汇总、结构改变等)管理。
③ 数据仓库中数据会存在很长时间,结构可能会随之改变。

业务元数据:对业务人员有用或有价值的元数据
技术元数据:对技术人员有用或有价值的元数据

数据仓库的元数据应包含以下信息
① 数据仓库的表结构,表属性,源数据(记录系统,一般为原始日志等);
② 从记录系统到数据仓库的映射;
③ 数据模型的说明;
④ 抽取日志;
⑤ 访问数据的公用例行程序;
⑥ 数据的定义/描述;
⑦ 数据单元之间的关系。

  • 易操作、稳健的语言接口
    数据仓库应有丰富的语言规定,因此需要易操作,稳健的语言接口访问和操作数据。

数据仓库的语言接口的要求
① 能够一次访问一组数据;
② 能够一次访问一条数据;
③ 满足特定查询支持一个或多个索引;
④ 有SQL接口;
⑤ 能够增/删/改/查数据。

  • 能够高效地装载数据仓库

向数据仓库载入数据的方式:
① 通过语言接口一次载入一条记录;
② 使用工具批量载入。

有效装载大量数据的方法:
① 并行装载(将要装载数据分成几个工作流);
② 数据装载之前进行缓冲处理(数据装载之前先放入缓冲区进行编辑,汇总等操作);

  • 有效地使用索引

高效的索引访问方式:
① 位图;② 多级索引;③ 将部分或全部索引装入内存;④ (允许时)索引项压缩;⑤ 创建选择索引和范围索引。

  • 能够以压缩地方式存放数据
    节省空间,节省IO(解压缩时开销的是CPU)

  • 支持复合关键字
    数据仓库数据的时变特性;
    数仓中数据常见的主键/外键关系。

  • 有效管理变长数据
    变长数据经常更新改变时,会带来严重性能问题。

  • 有选择地开启/关闭锁管理
    加锁确保没有两个或两个以上的用户在同一时刻更新同一条数据;但一直加锁会消耗很多资源。

  • 能进行只涉及索引的处理
    有时,只查看索引,不查看数据的最初数据源就可以满足某些请求,而且有效。

  • 从大容量存储器迅速恢复
    支持恢复全部或部分数据库(需要自动侦测损坏的数据)

  • 其它技术等
    一些传统的DBMS(数据库管理系统)的技术会阻碍数仓中数据的高效处理,需要有选择的关闭。如:事务完整性;高速缓存;行/页锁定;参照完整性;数据视图;部分块载入等。

2. DBMS和数据仓库

2.1 基于事务的DBMS和基于数据仓库的DBMS之间的区别

基于事务的DBMS
(Database Management System数据库管理环境)
基于数据仓库的DBMS
关注重点事务和更新的有效执行有效查询处理以及对装载和存取工作的处理
数据更新方式必须将记录级的、基于事务的更新作为一个正常的操作部分(只读时也需提供更新和锁定开销)数据一旦装载,通常不更新,如果更正也是在数据仓库没有分析操作的空闲时间,改变也是通过加入一个当前数据快照完成
物理块级上对基本数据的管理对数据在块级上的管理需要包括一些附加空间,用于以后更新和插入数据时块的扩展不需要自由空间(数据一旦载入,不需要更新)
索引限制在有限数据量的索引(当有数据更新和插入时,索引本身需要空间和数据管理)能够应用更稳健和更完善的索引结构(有必要对数据访问进行优化,也有多种索引的比要和机会)
数据在物理上优化(以适应不同类型的访问)的对象只针对事务访问对数据进行优化针对DSS(Decision Support System)访问和分析在物理上对数据进行优化
改变DBMS技术的可行性在事务处理过程中改变DBMS技术不可行改变数据仓库DBMS可行(首次载入数据的DBMS技术不一定适用,数据增长,数据的使用增加,等原因导致需要考虑新的DBMS技术。技术难点:改变DBMS的转换程序)

2.2 多维DBMS和数据仓库

  • 数据仓库和多维DBMS的区别
数据仓库多维DBMS(OLAP
有大量数据数据比数据仓库中少的多
只适于少量的灵活访问适合大量的不可预知的数据访问和分析
存储了很长时间范围内的数据只存储较短时间范围内数据
只允许分析人员以受限的形式访问数据允许自由的访问
  • 多维DBMS和数据仓库的联系
    互补关系
    将二者结合,可以在多维DBMS中高效操作,同时向下钻取到最低层次的细节数据,数据存放时长也互补。
    依存关系
    通常,数据仓库作为流入多维DBMS的数据的基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取。

  • 多维DBMS的技术基础
    ① 关系模型;
    ② 多维立方体(立方体基础/OLAP基础)建立在能优化“切片和分块”的数据基础上。

  • 从长期应用角度论证以数据仓库和数据集市为基础构建多维DBMS的必要性

考虑以下两条数据处理流:

应用程序–>数据仓库的当前细节级 --> 集成转换 --> 多维DBMS数据集市
历史应用程序数据 --> 多维DBMS数据集市
众多多维DBMS直接从历史应用程序获取数据的问题:
① 抽取数据,维护所需开发量巨大,所需硬件资源很大。(多维DBMS从数据仓库抽取数据时,需要一套集成和转换程序,因此每个部门多维DBMS都需要定制开发自己的抽取,一旦应用改动会影响很多抽取程序,且数据重复传送);
② 每个新的多维DBMS都必须返回传统操作型环境获取自己的数据;
③ 在分析中没有协调分歧的基础(缺乏数据一致性,从历史环境将数据导入多维DBMS过于复杂,无法有效管理元数据);
④ 在不同的DBMS环境中存在大量冗余。

3. 上下文和内容

  • 操作型系统将注意力集中在企业当前数据上;
    数据仓库能够对一段时间内数据进行存储、管理和访问(比如查看历史看到发展趋势)。

  • 需要管理三种级别的上下文信息:
    简单上下文信息
    与上下文信息与数据本身的基本结构有关。常通过字典、目录、系统监视器等进行管理。
    复杂上下文信息
    外部上下文信息
    处于企业之外的,在理解随时间变化的信息方面起重要作用的信息。

  • 捕获管理上下文信息困难的原因:
    ① 复杂上下文和外部上下文信息都是非结构化的;
    ② 上下文信息变化很快,没有固定状态。

4. 刷新数据仓库

  • 刷新数据仓库的方式:(从传统数据库中读取数据对数据仓库进行刷新)
    ① 直接重复读取历史数据
    开销大,传统DBMS必须在线和活动,且相同历史数据会多次传输,刷新会100%扫描整个传统文件。
    ② 变化数据捕获(CDC)
    在传统环境中捕捉正在被修改的数据。通过使用日志磁带来捕获和确定在线过程中发生的变化。

5. 测试问题

  • 操作型环境中一般设置两个并行的环境:生产环境,测试环境。
  • 数据仓库很多情况下根本不需要测试环境,原因:
    数据仓库很大;
    数据仓库的开发生命周期是反复式的,多数时候程序以启发模式运行。

参考书籍

[1] 《数据仓库》William H.Inmon著,王志涛等译,机械工业出版社。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值