一、数据仓库构建思想

构造数据仓库有两种方式:一是自上而下,一是自下而上。

Bill Inmon先生推崇“自上而下”的方式,即一个企业建立唯一的数据中心,就像一个数据的仓库,其中数据是经过整合、经过清洗、去掉脏数据的、标准的,能够提供统一的视图。要建立这样的数据仓库,并不从它需要支持哪些应用入手,而是要从整个企业的环境入手,分析其中的概念,应该有什么样的数据,达成概念完成整;(会考虑到很全面的设计)

Ralph Kimball先生推崇“自下而上”的方式,他认为建设数据仓库应该按照实际的应用需求,加载需要的数据,不需要的数据不要加载到数据仓库中。这种方式建设周期较短,客户能够很快看到结果。(针对客户的需求,需求要什么就做什么)

二者都要达到同一个目标:企业级数据仓库。实际上在建设数据仓库的时候,一般都参照这两种方式结合使用没有硬性规定。

二、ETL(Extract/Transformation/Load)

用户从数据源中抽取所需的数据,经过数据清洗、转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去;ETL是数据仓库系统中最重要的概念之一,ETL在一个数据仓库系统项目中要花一半以上的时间。

1) ETL调度目标

数据来源:数据库、数据库文件、文本文件、程序生成(派生列)

系统数目:单个系统、多个系统(过多的系统可以考虑接口实现)

数据库的类型:同种数据库/多种数据库

2) ETL调度参数设计

调度优先级/调度次序/中断标志/回滚标志/成功标志/调度开始结束时间等

3) ETL调度日志管理

文件记录/数据库记录

作业名称/作业执行开始-结束时间/作业执行结果/异常信息捕获/作业编号等

4) ETL调度JOB设计

数据文本文件加载/SQL在程序中调用/存储过程/ETL工具的WORKFOLW

5) ETL调度策略设计

全量数据加载:用户信息类数据,状态会更新发生变化的数据

增量数据加载:流水分批调度设计,抽取数据一般在比较闲暇的时候进行,凌晨时候比较多,而且按照要分析数据的周期,还分为按日、按月数据;由于涉及到的业务系统的数据量庞大,需要分批进行抽取,以及抽取数据后面的一系列处理过程。

调度并发设计:JOB并发涉及、并发冲突设计、异常处理设计、成功/错误退出方式

三、存储管理和模型设计

数据仓库的真正关键是数据的存储和管理。数据仓库一般遇到的几个问题:

1)大数据量的存储和管理

数据库的设计,安装、集成根据数据抽取详细设计要求设计数据库应用方案等;

2)针对决策支持查询的优化

分区表、索引、簇集索引、MQT、SQL优化等方式。

3)支持多维分析的查询方式

是否有相关报表软件及查询方式的优化。

数据仓库 - 2.数据仓库设计思路及ETL设计思路的更多相关文章

  1. 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

    本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理.设计.以及在我们大数据场景下的实现方式. 全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近 ...

  2. 大数据之ETL设计详解

    ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...

  3. ETL设计详解

    ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...

  4. BI项目中的ETL设计详解(数据抽取、清洗与转换 )(转载)

    原文:http://www.cnblogs.com/reportmis/p/5939732.html ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直 ...

  5. 设计和开发ETL系统(一)——ETL过程综述

    在这部分将按照设计和实现ETL系统的流程展开,将上一个部分的那些子系统按照提取数据.清洗和一致化.向呈现服务器提交以及管理ETL环境等四个方面进行了分类.(是不是说对ETL主要就是掌握这四个方面的内容 ...

  6. paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结

    paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结 响应式Web设计(Responsive Web design)的理念是: 1 #-----------自适应布局VS响应式布局 2 ...

  7. paip.自适应网页设计 同 响应 与设计的原理的差and实践总结

    paip.自适应网页设计 同 响应 与设计的原理的差and实践总结 响应式Web设计(Responsive Web design)的理念是: 1 #-----------自适应布局VS响应式布局 2 ...

  8. .NET Core实战项目之CMS 第九章 设计篇-白话架构设计

    前面两篇文章给大家介绍了我们实战的CMS系统的数据库设计,源码也已经上传到服务器上了.今天我们就好聊聊架构设计,在开始之前先给大家分享一下这几天我一直在听的<从零开始学架构>里面关于架构设 ...

  9. 基于 CSP 的设计思想和 OOP 设计思想的异同

    LinkerLin Go语言推崇的CSP编程模型和设计思想,并没有引起很多Go开发者包括Go标准库作者的重视.标准库的很多设计保留了很浓的OOP的味道.本篇Blog想比较下从设计的角度看,CSP和OO ...

随机推荐

  1. [物理学与PDEs]第2章习题1 无旋时的 Euler 方程

    试证明: 当流场为无旋, 即 $\rot{\bf u}={\bf 0}$ 时, 理想流体的 Euler 方程可写为如下形式: $$\bex \cfrac{\p {\bf u}}{\p t}+\n \c ...

  2. centos添加开放端口

    Centos 开放 80 端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙 firewall-cmd --reload ...

  3. Windows下的wget,命令行下载url

    1.进命令行(Win + R,输入"cmd") 2.输入:start powershell 3.等待PowerShell窗口启动 4.PowerShell窗口依次输入: $clie ...

  4. MySQL学习笔记:timediff、timestampdiff、datediff

    一.时间差函数:timestampdiff 语法:timestampdiff(interval, datetime1,datetime2) 结果:返回(时间2-时间1)的时间差,结果单位由interv ...

  5. Winform Focus()函数不起作用 解决办法

    private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabI ...

  6. 会跳高的字体插件jquery.beattext.js

    插件描述:字体特效,会弹跳的字体插件jquery.beattext.js,兼容性如下: 使用方法 导入如下3个js文件: <script type="text/javascript&q ...

  7. 必须了解的Object知识

    必须了解的Object知识 作为Java中所有类的根类,Object提供了很多基础的方法,我们经常会覆写它的方法,但很多时候因为不了解这些方法内在的含义以及与其他方法之间的关系而错误的覆写.下面介绍一 ...

  8. IOC应用之 Ninject

    什么是Ninject Ninject是一套.Net平台下的高效,超轻量级的依赖注入库.它可以帮助你实现应用程序的松耦合,高内聚,同时也能很灵活的把它们进行组合在一起.借助与Ninject的帮助,代码的 ...

  9. react-native清除android项目缓存的命令

    cd到android目录下执行: ./gradlew clean

  10. Linux环境搭建 | 手把手教你如何安装CentOS7虚拟机

    centos 下载地址: 可以去官网下载最新版本:https://www.centos.org/download/ 以下针对各个版本的ISO镜像文件,进行一一说明: CentOS-7.0-x86_64 ...