数据仓库 - 2.数据仓库设计思路及ETL设计思路

一、数据仓库构建思想

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

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并发涉及、并发冲突设计、异常处理设计、成功/错误退出方式

原文地址:https://www.cnblogs.com/MR-zhang-01/p/9180787.html

时间: 2024-10-28 10:10:43

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

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

ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据. ETL的设计分三部分:数据抽取.数据的清洗转换.数据的加载.在设计ETL的时候也是从这三部分出发.数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率.ETL三个部

淘宝的设计印证了我的思路正确

前一段在设计一个电商平台,站内会有很多家居装修装饰的图片展示,所以我的设计思路是黑白色显示简洁.逼格高,另外介于站点的内容特点,这种颜色搭配最容易让内容出彩.此思路当时并没有被采纳. 今天看到淘宝出了big这一子域名的站点,(big.taobao.com),这个站点的内容也以图片为主,为了显示逼格高,采用了黑白色作为背景色,加上头部醒目的红色menu部分,背景 VS menu VS 绚烂内容 这三层视觉层次就显得非常清晰.淘宝的设计印证了我的思路正确. 下面是截图:(一个是只有menu和背景:另

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

在这部分将按照设计和实现ETL系统的流程展开,将上一个部分的那些子系统按照提取数据.清洗和一致化.向呈现服务器提交以及管理ETL环境等四个方面进行了分类.(是不是说对ETL主要就是掌握这四个方面的内容) ETL处理步骤 提取数据 清洗和一致化 向呈现层提交 管理ETL环境 计划 创建一个高层的.单页的源到目标示意流程 * 测试.选择和实现一种ETL工具 为维度管理.错误处理和其他有关过程设计默认的策略 * * * 通过目标表向下钻取,给出任何复杂数据重组或转换的图形示意,并且设计初步的作业序列

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

LinkerLin Go语言推崇的CSP编程模型和设计思想,并没有引起很多Go开发者包括Go标准库作者的重视.标准库的很多设计保留了很浓的OOP的味道.本篇Blog想比较下从设计的角度看,CSP和OOP到底有什么区别. 下面,我们来看一个例子,如果我们有一个项目,需要做一个TCP连接中继器(请原谅我的用词).我们先按照OOP来设计下: 系统的结构:需要有一个客户端和一个服务器端.分两个进程分别跑在不同机器上. 系统对象关系拆分(这里有所简化,E-R图等省略):连接中继器类--系统的主类.conf

软件设计入门1 架构设计

热爱编程才能做优秀的软件设计师! 软件设计有一些方法可以参考.但更重要的是要有好的需求分析.丰富的技术知识和设计经验(多动手!)不断追求更好的精神(多动脑!). 遇到别人的系统想一下自己能否实现,如何实现? 一.优秀设计的标准:性价比高的设计. 1)优秀的设计都是需求驱动的,不熟悉需求就做出来的设计是不靠谱的: 2)优秀的设计应该是当前团队能理解能实现的,太超前的设计项目团队做不出来,这个设计只能是摆设: 3)优秀的设计应充分考虑当前各种限制条件,适当做出平衡,能保证达成项目的目标: 4)优秀的

《转》禅意设计:网络简洁设计的缘起和未来

自从苹果的设计旷世惊奇地重新回归了点.线.面这种基础视觉元素后,远在太平洋彼岸的日本,以无印良品设计风潮的兴起为标志,也掀起了一场设计简单化.生活质朴化运动.而地处北纬55度以北,寒冷严酷的北欧,不甘落后地兴起了回归人性.回归自然的设计生活方式,其中以B&O.宜家家具为典型代表. 无简洁.不设计,在20世纪末21世纪初风靡全球,形成了一股继包浩斯时代以来的最大规模的简约设计风潮. 如果说现代设计中,有一个词是所有设计师都推崇标榜的,那非“简洁”二字莫属了.正如中西方绘画最终不约而同地走向写意,世

简洁至上的Web设计 - 创意要素及设计技巧

简洁,不等于简单.这与弹琴是一个道理,你也许有能力弹得很快,但你并不需要在所有地方都弹得这么快.在很多时候,让速度慢下来反而比弹得飞快要来的更加困难.实际上,味道往往最能体现在从容自然.舒缓平淡的韵律当中.接下来进入原文作者人格:我发现自己在很大程度上就是一Dummy System来着. 简洁的Web页面设计风格是当前圈子当中的风潮之一.在本文中,我们首先将对这类风格当中的那些最具代表性的组成要素进行分析,随后,我(英文原文作者)还会向各位分享一些工作中的实战技巧. 简洁风格的创意组成要素 固定

产品经理到底要不要懂技术?(要拥有的是框架思维:产品分层与模块化设计,使用路径设计,良好的商业思维设计。人生时间有限,不需要将编程技术吃透)

前段时间,我面试了一个国内一线门户客户端的产品经理,她是学计算机出身的PM,但是由于编程能力比较弱,所以做了产品经理.后来在工作中,有时和技术同学打交道比较费劲,所以自己吭哧吭哧开始学习SQL和PHP. 我不太认可这种直接去学习编程的方式,因为产品经理应该是很忙的,你的宝贵时间不该花在学习编程这件小事上.(多说一句,我也是学计算机出身,毕业于国内某最好的大学之一的计算机系.我并无贬低编程之意,恰好相反,我身边很多优秀的产品经理都是学计算机专业出身.) 所以,结合自己的工作和创业经历,以及后来与诸

交互设计和新媒体设计的区别

好些人搞混了交互设计和新媒体设计之间的区别.甚至于把交互设计和新媒体设计混为一谈.但是交互设计和新媒体设计其实是两个概念.交互设计和新媒体设计在艺术留学专业划分上,都被纳入新媒体动画设计方向,好多人竟然还把这两个和视觉传达混在一起,视觉传达算是平面设计方向的.打个比方,新媒体动画是A公司,平面设计是B公司,交互和新媒体都是A公司旗下的艺人,视觉传达是B公司的,所以,压根不是一回事,不要混为一谈. 接下来了解交互设计和新媒体设计有什么区别? 交互设计,小名互动设计,英文Interaction De