zoukankan      html  css  js  c++  java
  • 数据仓库之设计数据仓库—读书笔记

    数据仓库的需求只有在已经装载了部分数据并开始使用时才能弄清楚。数据仓库是在启发方式下建造的,

    一个阶段的开发完全依赖于上一阶段获得的结果。

    1. 载入一部分数据供 DSS 分析员使用和查看

    2. 根据最终用户的反馈,修改数据和/或添加其他数据

    3. 建立数据仓库的另一个部分,并返回到步骤 1

    上述反馈过程贯穿数据仓库的整个开发生命周期之中。

    从操作数据开始

    如何将数据放置在数据仓库中?

    将未经集成的数据载入到数据仓库是一个极端严重的错误。

    数据缺乏集成是抽取程序员不得不面对的一场噩梦,为了从操作型环境中适当的取出数据,必须对无数细节编程进行

    一致性处理。

    数据缺乏集成的情况

    1. 数据编码不一致

    2. 字段语义不一致

    3. 原有数据在不同的 DBMS 下可能以多种不同的格式存储

    数据仓库系统中数据转换工作的难点包括

    1.  对现有历史系统的集成

    2.  访问现有系统数据的效率,也就是判断现有系统的程序如何知道一个文件已经被扫描过

    3. 数据从操作型环境到数据仓库时要经历的时基变化(什么是时基?)

    4. 对数据仓库中已有的及要传入的数据规模进行管理(主要涉及到压缩)

    从操作型环境到数据仓库有 3 种装载工作要做

    1. 装载档案数据

    2. 装载在操作型系统中的现有数据

    3. 将上次数据仓库刷新依赖在操作型环境中不断发生的变化从操作型环境中装载到数据仓库中

    第 3种情况,即当操作型环境变化时,不断的将变化数据装载到仓库中是最困难的。当数据仓库刷新时,为了限制操作型

    数据量通常可以采用 5 种技术

    1. 扫描在操作型环境中那些被打上时间戳的数据

    2. 扫描增量文件

    3. 对作为事务处理的副产品产生的日志文件或者审计文件进行扫描

    4. 控制扫描数据量

    5. 将映像文件进行比较,迫不得已时才使用

    对于新零售来说,个人认为使用方法 1 就可以应对大部分情况了。

    数据仓库和数据模型

    企业数据模型应用到操作型系统时,需要的改动非常少。但将企业模型用到数据仓库中则需要相当多的改动。

    1. 去除纯粹用于操作型环境的数据

    2. 关键字中加入时间元素

    3. 将导出的数据加到企业数据模型中

    4. 在数据仓库中将操作型系统中的数据关系转变为 “人工关系”

    5. 稳定性分析,是指根据各个数据是否经常变化的特性将这些属性分组。

      将很少变化,不时变化,经常变化的各分成一组。

           稳定性分析的最后结果就是建立具有相似特性的数据分组

    企业数据模型是操作型数据模型与数据仓库数据模型的共同起源

    数据建模分成 3 个层次:

    1. 高层建模(实体关系图 ERD)

    2. 中间层建模(数据集或者 DIS)

    3. 底层建模(物理模型)

    数据模型与迭代式开发

    任何情况下,数据仓库都应当以迭代的方式进行建造。

    迭代式开发是说首先建造数据仓库的一部分,然后再建造另一部分,如此继续。

    这么做的重要原因如下

    • 业界成功的记录强烈的建议这么做
    • 最终用户在第一遍迭代开发完成前不能清晰的提出需求
    • 只有实际结果切实并且明确时,管理部门才会做出充分的承诺
    • 必须能很快的见到结果

    就像拼积木一样,一遍一遍的开发,就像开发出一个个积木,后一个积木是在前一个积木的基础上构建的,

    这样迭代循环,最终会产生一个内聚的,高度和谐的整体。

    元数据

    元数据是指数据的数据。

    元数据会对以下各项进行记录

    • 程序员所知的数据结构
    • DSS 分析员所知的数据结构
    • 数据仓库的源数据
    • 数据进入数据仓库时进行的转换
    • 数据模型
    • 数据模型和数据仓库的关系
    • 抽取数据的历史记录

    参照表管理

    数据仓库中既包含不停运行公司日常事务的一般大型数据库,还包括一类常被忽略的数据:参照数据。

    参照数据应该同数据仓库的其他部分一样加入时间元素以反映他们的时变特征

    数据周期——时间间隔

    是指操作型环境中的数据发生改变起,到这个变化反映到数据仓库中所用的时间。

    也就是指 DBMS 中的数据变化最快何时能反映到数据仓库中。

    采用时间间隔的原因如下

    1. 操作型环境与数据仓库间结合的越紧密,所需的技术就越复杂。24 小时时间间隔以现有技术容易实现,而 12小时, 6 小时等则一级比一级难

    2.  在转入数据仓库前,数据能达到稳定。数据在进入数据仓库前,仍然可以在操作型环境中进行调整。

      而如果数据被马上送到数据仓库中,一旦发现必须对这些数据进行调整,那么调整就必须同时在操作

        型环境和数据仓库中进行

    待续... 3.8 转换和集成的复杂性 p70

  • 相关阅读:
    BZOJ 2048 2009国家集训队 书堆 数学算法
    maven自动打包上传nexus仓库配置
    让maven项目使用nexus作为远程仓库
    python备份网站,并删除指定日期文件
    Linux系统下yum镜像源环境部署记录
    nginx下后端节点realserverweb健康检测模块ngx_http_upstream_check_module
    Linux新系统的安全优化和内核参数优化
    linux挂载磁盘
    LVS负载均衡下session共享的实现方式-持久化连接
    使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
  • 原文地址:https://www.cnblogs.com/reycg-blog/p/9083015.html
Copyright © 2011-2022 走看看