展望 2022 年大資料趨勢:上雲短期不會是 ClickHouse 目標,現在仍是“黃金時代”

語言: CN / TW / HK

大資料如果從 Google 對外發布 MapReduce 論文算起,已經前後跨越近二十年。如今的大資料領域還像從前那麼火熱嗎?過去一年,大資料領域都有哪些技術創新需要關注?它又將走向怎樣的 2022 年?

在 12 月 28 日晚上的 InfoQ 年度技術展望大資料專場直播中,我們邀請到了螞蟻集團計算智慧部資深技術專家周家英,跟大家暢談大資料領域在 2021 年的重要進展和 2022 年的發展趨勢,希望能幫助你準確把握 2021 年大資料領域的核心發展脈絡,在行業內始終保持足夠的技術敏銳度。本文由直播內容整理而成,你也可以 點選這裡檢視完整影片回放

InfoQ:家英老師現在是螞蟻集團線上計算、虛擬數倉和特徵平臺三個資料平臺的負責人,或許您可以先跟我們聊聊線上計算的過去一年的進展。兩年前在 QCon 上我就跟您聊過分散式計算引擎 Ray,當時 Ray 還是一個非常新的專案,過去一年 Ray 有什麼新的動態嗎?現在 Ray 在螞蟻集團內部和業界使用情況怎麼樣?

周家英:

Ray 現在依然算是一個比較新的計算引擎,至少在國內,2021 年只是有更多人知道它,真正去使用的公司數量還遠遠少於使用像 Fink、Spark 這幾個傳統引擎的公司數量。

Ray 在 2021 年有兩個標誌性事件值得一提:第一個事件是在 2021 年年終,Ray 在 GitHub 上的 Star 數量已經超過了 Flink,從增速來看,這是一個非常迅猛的發展,而且它的發展曲線依然是上揚的狀態;第二個事件,可能比較關注投資圈或技術創業圈的朋友也聽說了,Ray 最早是從 UC 伯克利 AMPLab 孵化出來的一個專案,前年它已經獨立出來成立了一家商業公司叫 Anyscale,2021 年 12 月份,Anyscale 獲得了 1 億美元的 C 輪融資,這筆融資把 Ray 在資本圈的整體影響力也帶起來了。從資料技術發展趨勢來看,我們認為這個方向是未來始終值得關注的,螞蟻在這個方向上一直在做持續的投入,並且也得到了很多正向反饋。

螞蟻內部還是在繼續使用 Ray 去嘗試和解決一些問題,我們三年前提了一個概念叫 融合計算 ,現在這個方向依然沒有變,而且現在融合的概念也逐漸變得更清晰。首先融合有一個點是 AI 的計算和資料的計算可以有更好的融合;其次融合也體現在多模態計算領域,我們通過 Ray 的 Low level API 結合應用場景,打造成一個定製的計算 Pipeline,這方面我們最近兩年也有一些落地嘗試。在螞蟻 Ray 應用得比較多的場景比如線上機器學習,就是流加機器學習的模式,還有今年比較火的科學計算,可以認為是把分散式的 Pandas 的能力原生地跑在了 Ray 上面,而 Pandas 又可以接很多演算法繼續去探索和訓練,這也是一種融合。還有一些可能偏垂直方向,比如今年我們投入了一部分精力去做運籌計算,它也是需要一個比較靈活的分散式程式設計框架對各個演算法求解器做一些優化。另外還有我們之前做的圖計算,比如流加圖的模式,也是跑在 Ray 上面。目前 Ray 在螞蟻的使用規模已經達到了數十萬核 CPU 量級,發展很迅速,而且未來發展空間很大。

InfoQ:聽起來 Ray 相比兩年前已經有了挺多新進展,2022 年,您覺得 Ray 將會有什麼樣的發展?

周家英:

我個人覺得 Ray 現在比較清晰的方向有幾個。首先 Ray 是以 AI 為中心的一種計算方式,它更多是想構建一種分散式計算生態,可能通過模型訓練和推理,以 AI 這種偏靈活多實驗的方式去構建相關的計算能力,所以 AI 肯定是 Ray 會重點關注的一個方向。其次,Ray 社群也比較關注 Python 生態,因為以前的計算引擎可能更多是基於 Java 或 Scala 生態,而 Python 是 AI 領域的標準語言,為 Python 做定製優化,甚至打造 Python 天然的分散式能力會是比較關鍵的一個點,所以圍繞 AI 和 Python 的生態可能是第一個趨勢。

另外我們也能看到,官方 Ray 社群在擴充套件一些核心 API 時是很謹慎的,社群始終沒有把高階 API 擴展出來,比如我們說的 Streaming 或者 Batch 這樣的能力,反而是擴充套件了一些儲存層面的能力。從這個角度看,我個人覺得 Ray 本身還是希望大家去利用這些偏低階的 API 在上面去構建自己的能力,這些能力很可能是,比如說用這些低階的 API 來組成一個天然的分散式 Pipeline,或者說在上面構建一些適用於自己場景的框架,這個框架有可能是我剛才提到的線上學習,有可能是運籌計算。從整個 API 的角度看,它應該是一個持續在分散式底層,持續徘徊和深耕的一個分散式計算引擎。

還有一些趨勢可能會偏技術一點,比如說它現在開放了比較多的儲存介面,而且我們在和社群溝通的時候發現,他們也會在儲存的層面更多發力,從這個角度看,分散式計算如何更好地結合儲存,無論是從 Ray 的發展方向,還是從大資料的發展方向,都是未來一個很大的趨勢,這兩者的結合肯定可以有更好的效能和更大的可能性。

InfoQ:所以作為大資料領域的從業者,2022 年大家還是很有必要多瞭解一下 Ray 這個引擎。過去一年跟很多領域內專家老師交流的時候,有很多人認為 Ray 未來的發展潛力非常大。

周家英:

過去一年我們也搞了一些 Ray 的活動,確實發現國內參與進來的公司和開發者越來越多,頭部企業像 Uber、位元組、英特爾等,都開始有一定規模的團隊探索 Ray 這個方向,甚至是跑一些生態系統,從整個商業環境來講,對 Ray 也是越來越認可。

InfoQ:下一個問題,想請家英老師從全域性一些的視角,跟我們分享一下,您所觀察到的過去一年大資料領域有哪些比較重要的變化和趨勢?

周家英:

我個人覺得,現在大資料在國內的發展趨勢主要還是靠網際網路公司和網際網路應用場景來帶動。這兩年,從所有頭部網際網路公司商業發展的角度來看,實時化是現在非常明顯的一個趨勢。業務的實時化帶來的第一個點就是資料和計算的實時化,如果我們幾年前聊實時化,可能更多說的是某些點的實時化,比如報表的實時化或者 UV、PV 指標的實時化,但目前已經進入了全面實時化的模式。這個實時化可能包括整個從傳統的 T+1 數倉到實時數倉,資料洞察變得更快了。同時,實時決策也被提到了一個比較重要的位置。我認為 全面實時化 肯定是一個很關鍵的趨勢。

另外,這一年我個人感覺,也跟一些網際網路公司的同事交流過,大家的關注點從對某一兩個引擎非常熱衷,現在逐漸轉變成,思考到底可以用哪些引擎解決哪些問題,也就是把 計算場景化 ,從單引擎轉向資料應用場景,技術最後還是要回到本源,即什麼引擎能處理什麼問題,以及什麼問題和場景需要有哪些引擎一起處理和搭配,這樣來通盤地看。

之前可能大家唯引擎論比較多,一個引擎可能想做 ABCD 幾件事情,但有些是明顯不擅長的。這一年計算場景化意味著迴歸到了資料和計算、還有技術應該天然是為業務服務的,從這個角度看,這是一個很好的趨勢。

還有一個我們一直在提的,就是大資料和 AI 的融合。傳統的資料計算從單一的計算模式變成有更多的融合,AI 與資料計算兩套體系如何更好地融合在一起?圍繞這個問題出現了很多有意思的方向和領域。還有一些可能是從 AI 的角度看,比如 AI 怎麼能幫助資料計算做得更好,包括提升效能、更加智慧化等等,也是很有意思的趨勢。

InfoQ:剛才您提到實時化,確實可以感覺到這幾年大家對於資料的實時性確實越來越重視了。不過我們同時也聽到另一種說法是,未來可能會興起近實時化架構,介於離線處理和實時處理之間的這麼一種架構,它會比離線計算實時性更好,但是比實時計算成本低,大部分應用會使用這個近實時化架構,因為沒有那麼多工作非要用實時計算不可。您對此怎麼看?離線、實時和近實時,未來分別將會如何發展?

周家英:

首先我覺得這兩個說法都對,而且能夠呼應上我們聊的前一個問題,就是大家不再片面地看問題了。 純離線和純實時是資料的兩個極端 ,這兩個極端以前是由兩種引擎能力代表的,一個是 T+1 的批引擎,一個是 Streaming 流引擎。從以前傳統的唯引擎論,現在發展到圍繞場景,有一些場景可以接受時效性不好,T+1 就夠了,然後逐漸過渡到 T+H 小時級,再到分鐘級、秒級,甚至再往前走到毫秒級。一方面是大家對於資料的時效性看得更加理智和客觀了;另一方面,時效性真正反映的是背後應用場景的需求,比如傳統的報表分析更多是從原來的天級別做到分鐘級別,那對於這個場景來說已經是實時的了;再往前走秒級和毫秒級的實時,可能更多針對的是線上決策的場景。實時化在目前這個階段,可能描述的更是一個趨勢,而不再是形容某個引擎。

同時,實時化現在更多是個形容詞,以前我們說數倉,今年會說實時數倉,原來說分析,今年會說實時分析,決策會說實時決策。這就意味著我們需要將很多能力結合起來,把一個傳統離線的事情變成實時的,而不是用一個引擎去搭建一套能力,我覺得這是一個很關鍵的改變。比如現在實時數倉一定是有多種引擎配合,很少有用了一個引擎就變成了一個實時數倉。

另一個是從系統層面來說,各個廠商也不再只追求單一模式,流批引擎一直在互相追趕,今年 Spark 對流模式做了很多增強,Flink 也對批模式做了很多增強,甚至在往更強的 OLAP 能力去走。從這個角度看,其實廠商們也知道單獨的一種能力已經沒有太多的核心競爭力,或者說他們也希望有更強的能力去補全自己的技術版圖,同時也可以提供更好的時效性的選擇給不同的應用場景。所以回到剛才你的問題,近實時也好或者叫準實時也好,它一定是在純流和純批、離線和線上中間更細化的一個場景。大家更多從應用的角度來看,不同場景解決不同問題,背後一定是不同的計算能力和儲存能力結合,來達到不同的資料時效性。

InfoQ:既然聊到實時化 OLAP,就不得不提今年非常火爆的 ClickHouse,它也是實時架構裡面非常重要的一個開源元件。ClickHouse 其實在 16 年就已經開源了,但似乎直到去年熱度和關注度才一下子變得特別高,您覺得這背後可能是因為什麼原因?

周家英:

先不說 ClickHouse,其實 OLAP 本身從今年和去年就是一個重新被反覆提到的關鍵點,我覺得背後是一個非常好的趨勢,就是大家更加關注資料的使用場景,而非它的技術形態了。OLAP 重回高光是一個訊號,意味著大家從關注資料過程計算(ETL 等等)回到了關注 資料查詢計算的能力 。即“我用什麼樣的方式,可以在多少時間,得到多大量的資料計算結果”。前一陣很火的流引擎,更多是一種計算模式,只是一個數據鏈路中間的一環,很難成為終結者。

另一方面,OLAP 火了以後,今年整個 OLAP 圈還是挺熱鬧的,國外有剛才提到的效能很好的 ClickHouse、Snowflake、AWS 的 Redshift 等等,國內有 Doris、StarRocks、Hologres 等等。當我們真正回到從使用資料的角度來去看大資料架構設計之後,帶出了一系列不同的系統,這些系統各有各的優勢,各有各的解決方式。但是今年我覺得大家核心的一點還是拼效能,就是隻要效能好就是可以委以重任的好引擎,其他的一些缺點,可能各個大廠都可以克服,但效能是很關鍵的一個點。

回到剛才你問的 ClickHouse,它確實算是所有這些引擎當中的一個佼佼者,一方面開源、沒有所謂的技術壁壘,另一方面效能確實很好,再者它的架構比較簡單,便於部署和二次開發,所以它是 OLAP 很好的一個代表。

InfoQ:不過業界一直也有一些唱衰 ClickHouse 的聲音,上雲一直是 ClickHouse 的痛點,因為它為了追求極致效能,沒有選擇存算分離、彈性擴充套件的技術方案,但現在又是雲原生的時代。您認為雲原生對於大資料來講是必選項嗎?所有的大資料技術都必須具備雲原生能力嗎?上雲這個痛點是否會影響 ClickHouse 在 2022 年的發展?

周家英:

雲原生是一種能力,是一系列功能的組合,它從中遠期看是一個趨勢,就是說我們未來希望有更多的計算系統和引擎具備這些能力,但是它不應該成為一個盲目的“潮流”,“潮流”更多就有點偏盲從了。我個人認為, 很多好的技術產品要商業化,一定會朝雲原生這個方向走 ,可能這兩年叫雲原生,後面又叫其他名字,叫法都沒關係,但是肯定是朝這個方向往前走。

從另外一個角度講,是不是任何一個大資料產品都要上雲?都要去做雲原生?也不一定。首先看雲原生本身,它代表的是更靈活的擴充套件、儲存計算分離、按需訂閱和靈活的組合。上雲的優勢,可能要分兩種角色來看,對於售賣能力的服務商來說(比如阿里雲、華為雲、騰訊雲等等),肯定是想把更好的計算能力售賣給客戶,那好的技術產品一定要上雲,否則很難銷售;對使用者來講,雲原生代表的是更低成本的使用能力,無論是開箱即用,還是免運維、雲 DevOps 這些能力,都是使用者的紅利。

但是刨除這兩點,雲原生本身也會帶來一些問題。比如全雲端儲存+計算的組合會導致效能降低,極致的效能可能會被打破,我們確實看到很多產品,走雲原生化以後,上到 K8s、儲存和計算完全分離之後,帶來的效能下降可能會有一兩倍,甚至更多。

所以還是要看具體的應用場景下需要哪種產品,以及這個產品到底是要服務於內部業務,還是要服務於外部客戶,還有目前二者的關係是在一個什麼階段。我個人覺得, 應該在一兩年內,上雲這件事情對於 ClickHouse 社群來講,並不會是一個非常關鍵的目標 ,但是不排除很多公司希望把它做到雲化,這也很正常。但是從 ClickHouse 本身來看,至少我覺得它目前的最大優勢還是在效能和架構設計上。

InfoQ:除了實時化,前面您其實也有提到大資料智慧化的趨勢,包括經常說的 BI 和 AI 相結合,您覺得 2022 年這個方向上可能會有哪些新的趨勢,BI+AI 結合會產生哪些具體的技術價值及應用價值?

周家英:

可以從巨集觀的結合與微觀的結合兩個方面來說,

  • 巨集觀的結合,即 BI+AI 平臺一體化,打通資料研發及模型研發體系,平臺上全鏈路打通,使兩種計算更加融合,典型的例子比如 Ray 的線上學習、科學計算、特徵訓練一體化等;

  • 微觀的結合,即把 AI 應用到 BI 的各個體系,打造智慧數倉;或者通過 AI 來優化計算效率,包括用 AI 來優化物化檢視、實現自動調參及無人值守、大規模排程等。

InfoQ:前面我們聊了實時化、聊了 OLAP,也聊了大資料智慧化,基本上對大資料領域比較重要的一些方向和趨勢都做了探討。正好最近我看到了一篇 文章 ,是 dbt 的 CEO-Trisan Handy 寫的,他在文章裡討論了現代資料技術棧的過去現在和未來,並總結了未來可能會出現的一些創新點。其中有一些創新點跟我們前面聊的不謀而合,也有一些方向目前在國內大家討論和關注的還不太多。

比如資料技術棧的易用性是很多人都覺得非常重要的一點。元件太多太複雜其實是大資料開源生態被詬病了很久的問題,當前業界很多企業都在沿著“融合”的方向做一些工作,在您看來,未來可能會出現什麼都能做的統一資料平臺/引擎嗎?還是會繼續保持現在這樣各種引擎百花齊放、各有所長的局面?

周家英:

這篇文章是挺有意思的一篇文章,裡面有些觀念還是比較新銳的。首先說融合,各個層面的融合一定是趨勢,現在應用場景是連續的,但是產品平臺、計算系統、儲存都可能是獨立的,想做一件事需要拼接,費人費錢,所以趨勢一定是慢慢融合。

對於一個網際網路公司或者一個商業公司來說,在產品和平臺這層,我個人覺得最終很可能會有兩種產品可以常保永駐,一種是從計算層面上來看通用的一個計算能力研發平臺,這個平臺可以支援運維、研發、觀測、報警等等工作儘可能一站式地完成,這肯定是一個大勢所趨,而且很多公司都是這樣做的;另外一種是應用平臺,它更多的是面向某種場景下的業務研發。這兩層未來肯定是大勢所趨,而且從提高效率的角度來講是必不可少的。現在這兩者往往是不統一的,無論是在計算引擎的平臺層,還是在業務研發的使用層,都是割裂的。

再往下是計算層和儲存層,這兩者我反而覺得,就像我前面說到的,它 有統一的好處,也有分而治之的優勢 。從計算引擎的角度來看,一個引擎一定有某一個最強的能力,是被別人不可超越和代替的,這是它的立足之本,這種引擎還是會持續存在,但可能會慢慢往另外一個方向去延伸,這個延伸的過程是擋不住的。任何一個引擎在發展到一定階段之後,絕大多數都會開始做一些所謂走出自己舒適圈的事情,但是在引擎這一層,我覺得很難出現一個真正在任何方面都很強大的系統、能統領所有的引擎,這個難度實在是太大了,而且從體系結構上來講也不容易,計算引擎層面是這個樣子的。

從儲存的角度看,首先儲存的格式未來一定會有兩個方向,一個是行存,一個是列存,大資料領域可能列存更多被認為是一種標準的儲存,未來這兩者都會存在,但是這兩種格式到底會是一個儲存,還是兩個儲存,還是多種儲存,我個人覺得他們可能會逐漸往統一的一種體系發展。因為儲存往往是一層儲存的 API,有行存、列存、檔案等等,這是一層 API,下面是格式層,然後再往下才是真正的儲存介質這一層,也就是我們說的 HDFS 這一層。未來儲存可能還會有一到兩個很好的儲存產品湧現出來,但最終可能從企業的角度來講,還是期望部署一套儲存、但可以支援多類格式,這會是更好的一個選擇。

從整個技術棧來看,從上面的應用層往計算再往儲存,越往上統一的可能性越大,而且對於使用者體驗的角度一定是更好的。但是在下面可能還是會有各個靠自己核心能力吃飯的系統持續存在,而且在某一些點上會有一些比較深入的體系出來,這個我覺得還是會百花齊放。融合不代表著生態引擎的減少,會有更多更好更專一的引擎出來,只是更容易聯合了。

InfoQ:前面聊了很多技術和趨勢,最後我們收個尾,早幾年我們經常會聽到“現在是大資料的黃金時代”這類說法,在您看來現在還是“黃金時代”嗎?

周家英:

首先我覺得現在依然是“黃金時代”,甚至是從“黃金時代”開始往所謂“淘金時代”去走。以前還在黃金時代的時候,很多人還在仰望,還是想著開源的這幾個東西會用就行,但是最近這一兩年國內有越來越多廠商做出了自己的引擎,大家都開始真正參與其中。我經常說的一句話就是,大家去用一個系統,遠沒有去研發一個系統,或者說去製造一個系統更有感覺。目前國內整個趨勢是開始越來越多地往真正去參與研發這個方向去走,所以是從“黃金時代”走向“淘金時代”。

InfoQ:那您覺得 2021 年大資料領域技術發展的速度算是快的嗎?

周家英:

肯定是越來越快的,而且大家開始從不同的維度去看大資料,從單一的引擎、單一的計算逐漸開始看到更多層面。近幾年依然有很多新的元件推出,只是成熟的時間和具體位置不一樣,比如說國外目前正在關注的一些東西,可能在國內暫時關注的不太多,或者說兩年以後國內才會開始關注多起來,這個可能大家會有不同的關注點。但我覺得整體從數量上來講,不管是創業公司也好,創業的專案也好,開源專案也好,都是越來越多的。現在一定是一個非常強的爆發期,我覺得大資料還是一片藍海。

InfoQ:感覺跟我最近從另一位老師交流中聽到的想法不謀而合。現在大資料領域可能發展到了一個相對穩定的階段,已經有了很多不同的元件,基本可以解決大部分問題,但是每一個不同的細分方向依然有很多可以創新的機會。從引擎的角度來講,就只是能用、但未必好用。

周家英:

是的,很多一線工程師在做很多工作的時候還是很痛苦的,所以整個發展的過程還有很長,而且機會很多,我依然認為這是一個大資料領域蓬勃發展和爆發的時代。