当前位置:首页 > TAG信息列表 > 数据仓库建模基础为什么建数据仓库需要使用ETL工具?

数据仓库建模基础为什么建数据仓库需要使用ETL工具?

数据仓库建模基础 为什么建数据仓库需要使用ETL工具?

为什么建数据仓库需要使用etl工具?

一、什么是etl

etl是将业务系统的数据经抽取、彻底清洗可以转换之后运行程序到数据仓库的过程,目的是将企业中的聚集起来、零乱、标准不统一的数据整合到一起,为企业的决策能提供讲依据。

二、etl的组成部分

数据仓库建模基础 为什么建数据仓库需要使用ETL工具?

etl的设计分三部分:数据吸纳、数据的清洗转换、数据的打开程序。

在设计etl的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ods(operationaldatastore,操作型数据存储)中——这个过程也是可以做一些数据的清洗和转换的),在注入的过程中必须搜找不同的抽取方法,尽可能的提高etl的运行效率。etl三个部分中,花废时间最长的是“t”(transform,彻底清洗、转换)的部分,一般情况下这部分工作量是整个etl的2/3。数据的加载一般在数据清洗完了之后然后读取dw(datawarehousing,数据仓库)中去。

(一)数据的收集(extract)

这一部分必须在调研阶段做大量的工作,是需要要搞清楚数据是从几个业务系统中来,各个业务系统的数据库服务器运行什么dbms,是否需要必然手工数据,手工数据量有多大,如何确定存在非结构化的数据等等,当收集到完这些信息之后才这个可以接受数据收集的设计。

1、对于与贮放dw的数据库系统完全相同的数据源处理方法

这一类数据源在设计上也很太容易。一般情况下,dbms(sqlserver、oracle)都会提供数据库链接功能,在dw数据库服务器和原业务系统之间组建真接的链接关系就是可以写select语句直接访问。

2、对此与dw数据库系统相同的数据源的处理方法

相对于这一类数据源,一般情况下也也可以实际odbc的成立数据库链接——如sqlserver和oracle之间。如果不是肯定不能建立数据库链接,也可以有两种成功,一种是通过工具将源导出数据成.txt也可以是.xls文件,接着再将这些源系统文件导入到到ods中。另外一种方法是程序接口来能完成。

3、是对文件类型数据源(.txt,.xls),可以不陪训业务人员用来数据库工具将这些数据导入到委托的数据库,后再从重新指定的数据库中灌注。也可以还可以不的力量工具利用。

4、增量更新完的问题

对于数据量大的系统,要考虑增量抽取。一般情况下,业务系统会记录业务再一次发生的时间,我们这个可以为了做增量的标志,每次来灌注之前简单确定ods中记录的最的时间,后再依据什么这个时间去业务系统取大于1这个时间所有的记录。借用业务系统的时间戳,一般情况下,业务系统也没的或部分有时间戳。

(二)数据的清洗转换(cleaning、transform)

一般情况下,数据仓库统称ods、dw两部分。常见的做法是从业务系统到ods做擦洗,将脏数据和不完整数据过滤后掉,在从ods到dw的过程中转换,并且一些业务规则的计算和聚合。

1、数据清洗

数据清洗的任务是过滤处理那些不符要求的数据,将水中的杂质的结果丢给业务主管部门,去确认是否需要过滤处理掉还是由业务单位修正之后再进行吸纳。

不符合规范的数据主要注意是有不求下载的数据、错误`的数据、重复一遍的数据三大类。

(1)不求下载的数据:这一类数据通常是一些应该有的信息缺失,如供应商的名称、分公司的名称、客户的区域信息缺失、业务系统中主表与明细表又不能匹配等。这对这一类数据过滤杂质出来,按缺乏的内容三个中写入完全不同excel文件向客户重新提交,要求在明确规定的时间内最后的神。补全后才写入文件数据仓库。

(2)错误`的数据:这一类错误产生的原因是业务系统太少比较完备,在收得到输入后就没通过推测然后写入到后台数据库会造成的,诸如数值数据输成全角数字字符、字符串数据后面有一个回车你操作、日期格式不正确、日期越界等。这一类数据也要分类,是对传说中的全角字符、数据前后有绝不可以见字符的问题,只能按照写sql语句的找不出来,然后再特别要求客户在业务系统修正之后收集。日期格式不正确的的或则是日期越界的这一类出现错误会可能导致etl运行失败,这一类出错不需要去业务系统数据库用sql的挑不出来,丢给业务主管部门要求限期修正,关于修改〈公司法〉的决定之后再注入。

(3)反复重复的数据:对此这一类数据——特别是维表中会直接出现情况——将重复数据记录的所有字段导进去,让客户去确认并整理。

数据清洗是一个疼时的过程,不可能在几天内完成,唯有断的的发现到问题,解决问题的方法。对于有无过滤杂质,有无抵消象没有要求客户确定,这对过滤杂质掉的数据,写入excel文件也可以将过滤数据写入到数据表,在etl开发的初期是可以每天晚上向业务单位发送过滤数据的邮件,催进他们及时地自我提高,同时也也可以做为将来修改密保数据的依据。数据清洗需要注意的是最好别将没有用的数据过滤掉,相对于每个过滤规则诚恳进行修改密保,并要用户确定。

2、数据转换

数据转换的任务通常接受不一致的数据转换、数据粒度的转换,这些一些商务规则的计算。

(1)不一致数据转换:这个过程是一个整合起来的过程,将不同业务系统的同一类型的数据统一,诸如同一个供应商在结算系统的编码是xx0001,而在crm中编码是yy0001,那样的话在灌注进来之后统一转换的成一个编码。

(2)数据粒度的转换:业务系统就像储存相当明细的数据,而数据仓库中数据是单独结论的,不要非常明细单的数据。一般情况下,会将业务系统数据通过数据仓库粒度进行聚合。

(3)商务规则的计算:相同的企业有完全不同的业务规则、不同的数据指标,这些指标有的时候也不是很简单加加减减就能能够完成,这会儿必须在etl中将这些数据指标换算再说之后储存在数据仓库中,以供讲不使用。

(三)数据加载(load)

将数据缓冲区的数据再运行程序到数据库随机表中,假如是全量则按结构load,如果是增量则依据业务规则merge进数据库

三、etl实现程序

etl的实现有多种方法,具体用法的有三种。

借助于etl工具:**(如oracle的owb、sqlserver2000的dts、sqlserver2005的ssis服务、informatic等)基于,sql实现程序:**sql的方法优点是身形灵活,增强etl运行效率,可是编码复杂,对技术要求比较高。etl工具和sql相结合**,前两种方法各有各的优缺点,自身工具是可以迅速的建立起etl工程,被屏蔽了复杂的编码任务,能提高了速度,减少了难度,综合考了前面二种的优点,会如此大地增加etl的开发速度和效率。

四、数据仓库ods、dw和dm概念判别

ods——执行性数据

dw——数据仓库

dm——数据集市

数据仓库的整理一番架构,各个系统的元数据实际etl离线到操作性数据仓库ods中,对ods数据进行正向主题域建模形成dw(数据仓库),dm是是对某一个业务领域组建模型,详细用户(决策层)栏里点dm生成的报表。

数据仓库的ods、dw和dm概念

维度建模和范式建模的本质?

1范式建模

inmon所倡导人的范式建模那就是关系数据库用的三范式建模方法,数据仓库模型的建设方法和业务系统的数据模型类似于。有一些区别是:

1)数据仓库的域模型肯定真包含业务数据模型到域模型之间的关系,和各主题域定义,数据仓库的域模型概念比业务系统的主题域模型范围更广。

2)在数据仓库的逻辑模型必须从业务系统的逻辑模型中抽象化实体、实体的属性、实体的子类、实体关系等。

优点:从关系型数据库角度向北出发,特点了业务系统的数据模型,更方便基于数据仓库的建模。

缺点:某些时候限制了整个数据仓库的灵活性、性能等。最重要的在底层数据向数据集市汇总资料时是需要通过在量的数据处理工作。

2维度建模

kimball主张维度建模法,那是按维度表、事实表来构建体系数据仓库、数据集市。维度建模有星形、雪花型两种最常见的一种类型。

优点:维度模型可极大实力提升数据仓库的处理能力;牢牢地围绕业务模型,形象直观的反映业务问题。

缺点;形成完整模型之前是需要通过大量的数据预处理,当业务变化后不需要原先定义,定义维度时,是需要然后再进行维度数据的预处理;没法可以提供一个发下地描述虚无飘渺业务实体之间古怪关系的抽象方法。

辩解;对此这些缺点,大都片面的,而且数据仓库总线架构和维度处理方法能挺好的能解决以下问题。

数据业务数据仓库系统数据库


森贝号 彩铃号

  • 关注微信关注微信

猜你喜欢

微信公众号