使用ETL控件还是存储过程

在实际的项目过程中,我们会碰见许多需要在几个解决方案中作出权衡的情况,其中的一个权衡就是:对于数据的清洗、加载,我们是应该主要使用ETL控件还是主要使用存储过程而ETL只是作为调用存储过程的工具。

使用ETL控件的好处是:

  1. 数据处理过程可视化,比较容易理解
  2. 减少数据库的压力,把数据处理的压力转移到ETL服务器上

使用ETL的缺陷是:

  1. 对ETL的修改不容易做对比以及代码检查
  2. 在项目上线后,维护以及修改的开销比较大,我们必须打开ETL包来做修改,然后再部署
  3. 很难让多个人同时修改同一个ETL包

主要使用存储过程的好处是:

  1. ETL仅仅用于条用存储过程,这样一个包所使用的存储过程可以由不同的人来开发
  2. 后期维护和修改比较容易,只要打开存储过程修改就可以,不用动ETL包

其不足是:

  1. 数据处理过程不如ETL控件那么明显
  2. 将数据处理的压力交给了数据仓库,这样有可能降低数据仓库的响应能力
时间: 2024-10-31 13:31:17

使用ETL控件还是存储过程的相关文章

大数据数据仓库-微软BI SSIS ETL 控件与案例

一.Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源Systam.Data仓库中的Data是细节的.集成的.面向主题的,以OLAPSystam的分析需求为目的. Data仓库的架构模型包括了星型架构与雪花型架构两种模式.星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰

SSIS-SqlTask控件使用

使用SQL TASK控件 补充知识: EXECUTION_ID:是SSIS包每次执行的唯一标识: PACKAGE_NAME:是SSIS包的名称: MACHINE_NAME: 是机器名称:这些参数在SSIS包中的系统参数可查! 示例1:往目标数据库中插入数据,数据源来自SSIS包本身. 1.建立目标数据库:T_Logs create table T_Logs ( ID INT PRIMARY KEY IDENTITY(1,1), EXECUTION_ID NVARCHAR(255), PACKAG

从数据池中捞取的存储过程控件使用完以后必须unprepare

从数据池中捞取的存储过程控件使用完以后必须unprepare,否则会造成输入参数是仍是旧的BUG. 提示:动态创建的存储过程控件无此BUG.此BUG只限于从数据池中捞取的存储过程控件. function TServerMethods1.spOpen(const accountNo, spName: WideString; inParams: OleVariant): OleVariant;var d: TfrmDB; params: TParams; i: Integer; param: TFD

Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)

//前台控件代码:WebChartControl控件: <%-- 月采购量统计--%> <dxchartsui:WebChartControl ID="WebChartControl1" runat="server" Width="700px" Height="400px" CssClass="chartsui"></dxchartsui:WebChartControl>

SSIS 自测题-控制流控件类

说明:以下是自己的理解答案,不是标准的答案,如有不妥烦请指出.         有些题目暂时没有答案,有知道的请留言,互相学习,一起进步. 62.描述一下 Execute SQL Task 的作用,在 ETL 开发过程中哪些情况下会使用到 Execute SQL Task?     执行SQL语句,获取单个数据,获取数据集合 63.在 Execute SQL Task 中的 Parameter Mapping 中 Direction 有哪几种类型?     三种:Input ,Output,Re

dotConnect for Oracle控件免费下载及使用方法

原文来自龙博方案网http://www.fanganwang.com/product/1330转载请注明出处 dotConnect for Oracle完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它.是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件. 具体功能: 无需Oracle客户端,采用直接模式提供数据库连接 100%代码管理 具有高表现性能 支持Oracle 10g, 9i, 8i 和 8.0,包

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand

[转]Oracle分页之二:自定义web分页控件的封装

本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如果大量的页面要使用这个分页存储过程,如果利用上节的方式,势必要书写大量的代码.如何才能够少些代码书写量呢?当然了,利用自定义web控件进行一下封装,也许是一个好方法,但是如何进行封装呢? 首先,就是在项目中添加一个“Web 用户控件“的页面,我们定义为:MyPagination.ascx 然后,就是

Repeater控件-2

本文转自:http://www.cnblogs.com/foolin/archive/2011/08/31/2161342.html 文章最后更新于2011年9月2日,增加Demo代码. 一般开发绑定数据的时候,Repeater控件是非常好用的控件,但是很多.net开发人员苦恼于无法分页,于是开发一个基于Repeater的分页控件,现在拿出来和大家一起分享分享.写得不好大家可以尽管拍砖,源码在本文后面.其实这个分页控件非常简单,分页控件只是根据记录数和当前页数等设置而输出一个分页导航条而已,并没