爲什麼用datastage而不直接用sql

我在用datastage的時候發現有些stage例如join stage,aggregate stage,sort stage等,
不就實現了order by ,sum ,連接等sql功能嗎,那麼我幹嘛不在數據源的時候就做好這些事情呢,何必用這些stage呢?

例如我搞個odbc stage,自定義 sql select count(1),a from A group by a不就可以了嗎



--

我也感覺得是性能問題。比如用lookup做關聯匹配的速度,比在Oracle裏面用存儲過程處理要快,當然原因有很多方面的,比如DS服務器性能和數據倉庫的服務器性能差異,網絡因素等。


--

數據量不大的話,在數據庫端做確實比較好。
數據量大的話,全丟給數據庫壓力吃不消(況且數據庫和etl平臺不是同一機器),比如100G和100G的表做關聯。。。數據庫會down掉
在ds平臺的話,中間過程全丟到數據庫服務器外,通過etl的並行機制,效率大大提高

--

常見的一個場景是:數據源非關係數據庫,例如文本、EXCEL,這時候你就需要用這些STG實現JOIN、AGGREGATE、SORT。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章