來源:CSDN
作為關系型數據庫的標準語言,SQL 憑借著功能豐富、使用方便靈活、語言簡潔等特性備受歡迎,行業中如 MySQL、Oracle、SQL Server、Sybase、Informix 等主流數據庫都將 SQL 作為其標準處理語言。同時,據 2022 年 IEEE Spectrum 編程語言排行榜顯示,SQL 在就業需求中排名第一,是最吃香的熱門語言之一。
然而,正是這樣一款主流的語言,卻在近日慘遭棄用。據外媒 The Register 報道,一家名為 Fivetran 的自動化數據集成公司想要用一款開源工具 dbt(Data Build Tool)將 SQL 取而代之。萬萬沒想到,吐槽也接踵而至,行業中反對的聲音遠比支持的要大得多。
緣由
Fivetran 是一家創立于 2012 年的技術公司,主要是為公司開發 SaaS 數據集成服務,以提取、加載來自不同來源的數據并將其轉換到數據倉庫中。
在早期,Fivetran 之所以選擇自動化數據集成方向,是因為發現對于使用基于云的軟件和存儲的現代公司來說,傳統的 ETL(Extract-Transform-Load,用來描述將數據從來源端經過抽?。╡xtract)、轉換(transform)、加載(load)至目的端的過程)工具性能嚴重不足,且所需的復雜配置往往導致項目失敗,為此,Fivetran 在城里之初便聚焦于零配置、零維護的管道開發。簡單來看,Fivetran 主要是幫助企業將數據搬到云上數倉,其遵循的使命是,讓用戶使用數據就像用電一樣簡單,無論數據的來源如何。
2021 年 9 月,Fivetran 獲得了一輪 5.65 億美元的融資,估值達到了 56 億美元。領投方為網絡先驅馬克 - 安德森創建的投資公司 a16z。一時之間,Fivetran 被視為云計算時代的數據管道獨角獸,發展勢不可擋。
不過,近日一位 Twitter 博主、也是數據分析平臺 Cogniti 的首席技術官 @Matthew Mullins 突然發了一條推文,他寫道,"Fivetran 放棄支持 SQL,并強迫用戶轉向 dbt。但你可能會因為更為 " 現代化 " 而喜歡它。"
一石激起千層浪,很多人處于比較迷茫的狀態。相繼質問:
究竟是誰在負責 Fivetran 的產品管理?它似乎正在與外界脫節。數據集成中間件市場的過去歷史表明,這將會是一個巨大的戰略失誤。擁抱 " 模型 ",但不要在 SQL 的迅速崛起和擴張過程中放棄 " 代碼 "(即 SQL)。
而之所以發出這樣的聲明,Matthew Mullins 稱他收到了一封來自 Fivetran 的郵件,具體如下:
在 2023 年 4 月,我們將結束對 Basic SQL Transformations 的支持。你收到這封郵件是因為你的賬戶當前或者曾經有活躍的 Basic SQL Transformations。
兩年前,我們推出了現代的數據轉換方法:免費的 Fivetran Transformations for dbt Core。通過內置的版本控制、測試和可重復使用的宏,dbt 改進了數據轉換的體驗,同時仍然保持了基于 SQL 的簡單使用。我們相信這是建立你的 ELT 管道的最簡單和最有效的方法。
我們的許多客戶已經從 SQL 轉換到 dbt。通過免費的 Fivetran Transformations for dbt Core,你還可以利用先進的功能,如:
集成調度:在倉庫的連接器數據加載時自動觸發數據模型運行。
數據脈絡圖:通過可視化的數據管道端到端的日志、統計和狀態來增加你的可觀察性。
我們將幫助您完成這一轉變 ......
為什么要放棄 SQL,選擇 dbt?
其實對于很多公司而言,在新品中進行技術轉型也實屬正常。但是根據 Fivetran 資料顯示,其在全球已有超過 759 家公司,包括與 ASICS、Autodesk、DocuSign、Forever 21、WeWork 和 Urban Outfitters 等知名企業都有合作。除此之外,Fivetran 還支持數百個數據庫的連接,如 IBM、Oracle、SAP 和 Snowflake 等。
隨著這一計劃的執行,影響范圍也頗為廣泛。為此,也有不少人好奇,dbt 究竟有怎樣的魔力,使得 Fivetran 要放棄 SQL?
所謂 dbt,也被稱之為是 " 數據加工大師 ",它是一個使用 Python 語言編寫軟件的工具。它可以使分析工程師能夠通過編寫選擇語句來轉換其倉庫中的數據。dbt 能夠通過 SQL 實現數據轉換,將命令轉化為表和視圖。在功能上,dbt 主要聚焦于 ELT(提取、加載、轉換)中的 T(轉換數據)環節,它不提取或加載數據,但設計為在轉換倉庫內已經存在的數據時表現出色。
誕生于 2016 年的 dbt 一開始是開源的,不過在 2018 年,其背后的 dbt Labs 團隊推出了商業產品。當前 dbt 主要包含兩個版本,其中 dbt Core 是免費的,在 Apache 許可證下作為開源軟件發布。
另一個名為 dbt Cloud,屬于 Saas 云版本,它提供了一個基于網絡的 IDE,幫助團隊開發 dbt 項目和一個調度器。個人可以免費使用,但對于一些需要協作的功能,或者企業使用而言,則需要支付使用費用。
長期以來,SQL 一直是分析工程師開發轉換和執行分析的首選語言。dbt 的到來,其結合了 SQL,可以將 dbt 項目變成了 SQL 的編程環境,并提供使用編程語言功能的功能,例如在 SQL 中通常無法實現的寫函數和控制結構。這意味著分析師不需要學習新的語言或工具,可以像以前一樣自由地轉換數據。
一定程度上來看,dbt 簡化了使用 SQL 來創建數倉的門檻。
dbt 實則為累贅?
在發出這份郵件之后,Fivetran 公司表示,開發人員仍然能夠使用 dbt 的 SQL。話雖如此,但很多開發者并不買賬,紛紛怒斥道:
我知道如果你買了 Fivetran 來做 ELT,這會令人沮喪。我從不希望我的 SQL 依靠第三方平臺上,所以它感覺就像一個奇怪的附加組件(不要讓我開始考慮使用 Fivetran 觸發 dbt 運行的成本)。
強制供應商集成看起來很糟糕。dbt 不是行業標準——它只是一個受歡迎的開發商開發的工具。依賴某一個供應商似乎還挺危險的。
在這條極具爭議的推文下方,Fivetran 的 CEO George Fraser 也迅速現身進行了回應," 你可以為這件事責備我。必須集中精力,Basic SQL 和 dbt SQL 實際是做同一件事的兩種方法 "。同時,他也表示 Fivetran 也正在努力降低掃清采用 dbt 的障礙。
當前 dbt 已經成為一款主流開源數據轉換工具,不過不少人也對其使用門檻也表達了擔憂,稱 " 如果我們已經掌握了 SQL,再去了解 dbt 的學習曲線是否很難?" 而且,dbt 面向團隊也不是免費的。
在數據分析平臺 Cogniti 的首席技術官 Matthew Mullins 看來,Basic SQL 支持不需要任何額外的基礎設施,但使用 dbt,用戶只能創建表和視圖,且他們也需要額外的基礎設施來運行它們。這實際上是一個有點令人頭疼的問題。同時,他表示,"無論哪種方式,他們都是在把你逼上梁山。你將不得不設置運行 dbt 所需的一切,并對某人進行培訓,而且你現在被限制在 dbt 支持的內容和 dbt 的模式中。"
如今使用 dbt 的企業其實不在少數,在今年 2 月,dbt Labs 完成了 D 輪 2.22 億美元的融資,Snowflake 和 Databricks 均有參與,該公司估值也達到了 42 億美元。
不過,dbt 真的是擴展和增強 SQL 的最佳工具,并能成為云數據轉換行業的標準嗎?你使用過 dbt 嗎?