現在我們要開始用 dbt 了,看官方文件介紹後可以發現 dbt 產品有分 dbt Cloud 和 dbt Core,dbt Cloud 洋洋灑灑介紹9行,還有一個專頁深入介紹各項特色。相對 dbt Core 介紹只有兩行,大意是 dbt Core 是個開源且可以用 command line 執行的 data transformation 工具。官方都那麼推薦 dbt Cloud 優點了,我應該就直接用了吧?
我的建議是,依據你的公司部門職責功能以及成本限制來決定,以下是四個考量的面向
1.你的資料部門在公司的定位
部門偏資料分析導向,負責資料下游邏輯的轉換,部分資料排程
→ 優先適合先用 dbt Cloud
部門偏資料工程部門,需要管理 data pipeline
→ 適合先研究 dbt Core,因為 dbt Cloud 的排程需在 dbt 雲端設定執行,會與團隊本來的排程管理器脫鉤
2.團隊成員背景
團隊成員熟 command line 和開源工具執行,能夠讀懂文件說明甚至有能力 debug
團隊或其他部門是否建置過基礎環境,例如: VM, Docker, Kubernates…等
開發及管理過 CI/CD 流程
→以上條件滿足越多,你的團隊越適合使用 dbt Core,因為以上情境使用 dbt Core 都會碰到
3.時間成本
4.預算成本
整體來說,我的心得是第一和第二點的決定性最大,因為若沒經驗,從頭建立 dbt Core 執行環境和 CI/CD 流程並非容易的事