采用ETL with RDBMS模式来实现ETL
目前Teradata数据仓库的ETL作业采用ELT方式, 因为loading太重了, 需要将ETL压力转移到专门的ETL Server上. 对于ETL工具, 市场上已有很成熟的商业/开源工具, 比如Informatica的PowerCenter, IBM的Datastage, 开源的Kettle.
下面是我自己的一些思考, 出发点是, 如何花比较小的代价将ELT模式切换到ETL模式. 我的推荐是:
采用ETL with RDBMS模式, 而不是传统的ETL工具. ETL with RDBMS这个词是我仿照SQL on Hadoop 造的, 我觉得很形象. 我们没有必要重新造轮子, 一个ETL和DB的组合就可以. 在这个组合中, ETL工具不需要有很强大的Transform功能, 只要有高效的Extract和Load功能即可, RDBMS需要有强大的SQL支持. 目前看比较好的一个选择是 SSIS + SQL Server 企业版, 这个组合License费用不高; 另一个更廉价的组合是Kettle + PostgreSQL.
Kettle我没有使用经验, 以下以SSIS说明该方案的一些特点:
1. 高效的E和L的性能
微软官网提供 Oracle 和 Teradata 专门的SSIS connector, download link(http://www.microsoft.com/en-us/download/details.aspx?id=29283).
2. 更小的迁移efforts
复杂ELT作业的迁移思路, 可以采用 ELT+EL 来做 ETL. 第1个ELT,完成数据抽取到SQL Server, 然后在SQL Server中使用SQL来做Transform, 这个SQL可以借鉴原Teradata中的SQL. 第2个EL, 将抽取转换后的结果数据到Teradata.
3. 更低的费用
Informatic 高级版的list price(1-core)大约为8万美元, IBM datastage的list price(1-core)大概是19万美元, 而SQL Server 2012企业版的list price(1-core)大概是7千美元, SSIS 是SQL Server企业版中内置的ETL工具, 无需专门的License.
4. 开发环境: 架构在Visual Studio 之上的作业设计器, 甩其他ETL tools几条大街
5. 扩展容易: 可以使用流行的C#/VB.NET语法来完成某些特殊的处理要求
6. 基于文件的作业载体: 每个作业本身就是一个文件, 部署容易, 天然适合做版本管理
7. 更强大的社区, 更丰富的文档(MSDN): 一般问题网上就能找到解决方法
8. Top down的作业设计思路: 更符合开发人员的思维习惯
我们在回过头来看看ETL工具宣称的优点:
1. 友好的作业设计界面(可视化拖拉组件)
ETL工具的用户往往是IT开发人员, 对他们而言, SQL的可读性往往比可视化的组件更友好
2. 扩展性
高端的ETL工具都宣称自己有比较好的线性扩展性. 经我测试, Datastage扩展性体现的还不错, PowerCenter没有体现出. ETL with RDBMS 这个方案因为计算引擎用的是RDBMS, 所以不具备线性扩展性. 但我个人认为线性扩展性意义其实并不大, 在绝大多少情况下, 单节点DB性能是足够的. 我反倒觉得如果能将多个ETL 作业压力平摊到几个ETL节点上, 意义更大, 这个粗粒度的负载均衡可以借助调度来实现, 难度并不大.
考虑到需要多个ETL Server, 所以采用传统的SSIS的package deployment model, 而不是SSIS 2012默认的project deployment model. Project deployment模式需要在SQL Server上创建SSISDB数据库.
采用ETL with RDBMS模式来实现ETL的更多相关文章
- ETL的两种架构(ETL架构和ELT架构)
ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词 ...
- Java采用内部构造器Builder模式进行对类进行构建
好处: 能保证重叠构造器模式的安全性: 能保证JAVABeans模式的可读性: package cn.lonecloud.builder; /** * 使用内部类构建器来对这个类进行构造 * @Tit ...
- [转载]DW数据仓库建模与ETL的实践技巧
一.Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源S ...
- 数据仓库建模与ETL实践技巧
数据分析系统的总体架构分为四个部分 —— 源系统.数据仓库.多维数据库.客户端(图一:pic1.bmp) 其中,数据仓库(DW)起到了数据大集中的作用.通过数据抽取,把数据从源系统源源不断地抽取出来, ...
- ETL构建数据仓库五步法
原文:http://huangy82.blog.163.com/blog/static/49069827200923034638409/ ETL构建企业级数据仓库五步法 在数据仓库构建中,ETL贯穿于 ...
- ETL脚本的版本管理方法和 SourceTree 使用
=============================使用git管理Kettle 作业的一个注意=============================之前 ETL 作业是用 svn 管理的, ...
- 微软BI SSIS 2012 ETL 控件与案例精讲课程学习方式与面试准备详解
开篇介绍 微软BI SSIS 2012 ETL 控件与案例精讲 (http://www.hellobi.com/course/21) 课程从2014年9月开始准备,到2014年12月在 天善BI学院 ...
- 使用ETL构建数据仓库的思考
使用ETL构建数据仓库的思考 背景:公司的数据仓库建设项目启动在即,所谓万事开头难,如何在我们数仓建设规划的前期做好业务数据准备和系统建设规划是我们需要思考的问题,这里根据之前的自己参与过的公司ODS ...
- 基于ETL技术的数字化校园共享数据中心设计
摘要:数据的抽取.转换与加载(ETL)是数据整合的核心过程.在分析高校信息化建设现状基础上,以建立数字化校园.整合数据资源.实现数据共享为目标,提出以ETL为基础建立共享数据中心实现数据整合的方案.介 ...
随机推荐
- IIS配置错误信息输出
Asp.net: 一.通过 IIS 配置 1.打开IIS管理器,或按住 WIN + R 打开命令行输入 inetmgr 打开 IIS 管理 2.左边目录选择目标站点,在右边 IIS 块中双击 “错误页 ...
- 数据结构算法C语言实现(五)---2.3重新定义线性链表及其基本操作
一.简述 ...由于链表在空间的合理利用上和插入.删除时不需要移动等的优点,因此在很多场合下,它是线性表的首选存储结构.然而,它也存在着实现某些基本操作,如求线性表的长度时不如顺序存储结构的缺点:另一 ...
- 64位CentOS源码编译方式安装wine
说明:本文仅作本人笔记的之用,仅供参考.可能因不同环境而不同. 1. 从官网下载最新版的wine-1.6.2.tar.gz 2. 安装相关的包(这里是我安装的,可能由于不同系统已经安装的包不同而不一样 ...
- Consuming a RESTful Web Service
本篇文章将介绍使用Spring来建立RESTful的Web Service. 我们通过一个例子来说明这篇文章:这个例子将会使用Spring的RestTemplate来从Facebook的提供的API中 ...
- 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Section 2 Random sampling with and without replacement
Stat2.2x Probability(概率)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...
- mysql错误
安装mysql之后提示(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:错误 具体就是: 安 ...
- python json.dumps() json.dump()的区别
以前写的很简单,只有几句话,最近发现本文是本博客阅读量最大的一篇文章,觉得这样有种把人骗进来的感觉,于是又细化了一些.如果还有不好的地方,欢迎指出. 首先说明基本功能: dumps是将dict转化成s ...
- C# 开源项目一
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
- 【Alpha版本】 第八天 11.16
一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 完成我要应聘的列表显示,完成账户信息设置界面 完成我要应聘的详情显 ...
- BZOJ1915: [Usaco2010 Open]奶牛的跳格子游戏
权限题,没有传送门. 这很显然是一道DP题,刚看完题目可能会比较懵逼.这道题如果不要求回去,那么就是一道很裸的DP题.但是本题要求回去而且回去的格子的前一个格必须是之前经过的. 先不考虑回去的路程,对 ...