在实际的项目过程中,我们会碰见许多需要在几个解决方案中作出权衡的情况,其中的一个权衡就是:对于数据的清洗、加载,我们是应该主要使用ETL控件还是主要使用存储过程而ETL只是作为调用存储过程的工具。
使用ETL控件的好处是:
- 数据处理过程可视化,比较容易理解
- 减少数据库的压力,把数据处理的压力转移到ETL服务器上
使用ETL的缺陷是:
- 对ETL的修改不容易做对比以及代码检查
- 在项目上线后,维护以及修改的开销比较大,我们必须打开ETL包来做修改,然后再部署
- 很难让多个人同时修改同一个ETL包
主要使用存储过程的好处是:
- ETL仅仅用于条用存储过程,这样一个包所使用的存储过程可以由不同的人来开发
- 后期维护和修改比较容易,只要打开存储过程修改就可以,不用动ETL包
其不足是:
- 数据处理过程不如ETL控件那么明显
- 将数据处理的压力交给了数据仓库,这样有可能降低数据仓库的响应能力