--By Ralph Kimball, 2004年4月
建立一个成功的数据仓库系统,依靠的是最佳实践而不是直觉。
三个简单的字母,E-T-L,很容易的让大家忽视了38个ETL子系统在数据仓库建设中的重要性。
抽取-转换-加载(ETL)系统,或者非正式的称为“后台系统”,在建立整个数据仓库系统中占据了70%的工作量和时间。但是这还不足以说明ETL系统的复杂性。每个人都理解这三个字母的含义,E,从源系统中将数据取出来;T,对这些数据做处理;L,加载到最终用户访问的表中。
但是当我们问及如何来分解这三大步骤时,很多设计人员都会说,“具体问题,具体分析”。例如,这依赖于不同的数据源;这依赖于数据的特性;这依赖于脚本语言以及可以使用的ETL工具的情况;这依赖于员工的技术能力;这还依赖于最终用户使用的查询和报表工具。
“具体情况,具体分析”是一个很危险的事情,因为它很容易称为系统混乱的一个借口。伴随着几千个成功数据仓库项目的经历,我们整理出了一系列的最佳实践。
最近的18个月,我们一直在钻研ETL的实践和ETL的产品。我们标识出了在每一个数据仓库项目的后台部分都会涉及到的38个子系统。坏消息是ETL系统确实占据了数据仓库项目的大部分资源。好消息是如果你能掌握所有的这些子系统,你就可以很容易的使用你的经历来建立成功的数据仓库系统。
1.抽取系统(Extract System)
主要功能包括源数据的适配器,推/拖/搬运数据的工作调度,对源数据的过滤和排序功能,数据格式的转换,迁移到ETL环境后的数据暂存功能。
2.变化数据捕获系统(Change Data Capture System)
主要功能包括对源数据日志文件的阅读功能,源数据日期和序列号的过滤功能,基于CRC算法的记录比较功能。
3.数据概况分析系统(Data Profiling System)
主要功能包括字段属性分析,如参照域的分析;结构分析,如主外键关系分析;数据规则分析;值规则分析等。
4.数据清洗系统(Data Cleansing System)
主要功能包括一个典型的数据字典驱动的系统,用于解析个体和组织的名称、地址等信息,也用来解析产品、场所等内容&#
建立一个成功的数据仓库系统,依靠的是最佳实践而不是直觉。
三个简单的字母,E-T-L,很容易的让大家忽视了38个ETL子系统在数据仓库建设中的重要性。
抽取-转换-加载(ETL)系统,或者非正式的称为“后台系统”,在建立整个数据仓库系统中占据了70%的工作量和时间。但是这还不足以说明ETL系统的复杂性。每个人都理解这三个字母的含义,E,从源系统中将数据取出来;T,对这些数据做处理;L,加载到最终用户访问的表中。
但是当我们问及如何来分解这三大步骤时,很多设计人员都会说,“具体问题,具体分析”。例如,这依赖于不同的数据源;这依赖于数据的特性;这依赖于脚本语言以及可以使用的ETL工具的情况;这依赖于员工的技术能力;这还依赖于最终用户使用的查询和报表工具。
“具体情况,具体分析”是一个很危险的事情,因为它很容易称为系统混乱的一个借口。伴随着几千个成功数据仓库项目的经历,我们整理出了一系列的最佳实践。
最近的18个月,我们一直在钻研ETL的实践和ETL的产品。我们标识出了在每一个数据仓库项目的后台部分都会涉及到的38个子系统。坏消息是ETL系统确实占据了数据仓库项目的大部分资源。好消息是如果你能掌握所有的这些子系统,你就可以很容易的使用你的经历来建立成功的数据仓库系统。
1.抽取系统(Extract System)
主要功能包括源数据的适配器,推/拖/搬运数据的工作调度,对源数据的过滤和排序功能,数据格式的转换,迁移到ETL环境后的数据暂存功能。
2.变化数据捕获系统(Change Data Capture System)
主要功能包括对源数据日志文件的阅读功能,源数据日期和序列号的过滤功能,基于CRC算法的记录比较功能。
3.数据概况分析系统(Data Profiling System)
主要功能包括字段属性分析,如参照域的分析;结构分析,如主外键关系分析;数据规则分析;值规则分析等。
4.数据清洗系统(Data Cleansing System)
主要功能包括一个典型的数据字典驱动的系统,用于解析个体和组织的名称、地址等信息,也用来解析产品、场所等内容&#