The?Past,?Present?and?Future?of?Apache?Flink

摘要:本文整理自阿里云開源大數(shù)據(jù)負(fù)責(zé)人王峰(莫問)在 Flink Forward Asia 2024 上海站主論壇開場的分享,今年正值 Flink 開源項目誕生的第 10 周年,借此時機,王峰回顧了 Flink 在過去 10 年的發(fā)展歷程以及 Flink社區(qū)當(dāng)前最新的技術(shù)成果,最后展望下一個十年 Flink 路向何方。內(nèi)容主要分為這三個部分:

一、Apache Flink 10周年發(fā)展回顧

二、Apache Flink 當(dāng)前的發(fā)展現(xiàn)狀

三、展望新一代 Apache Flink

一、 The Past

Apache Flink 是大數(shù)據(jù)實時化升級的核心推動力

Apache Flink 起源于2009年德國柏林工業(yè)大學(xué)的一個研究項目 Stratosphere。2014 年,該項目的核心團隊將其捐贈給 Apache 基金會,并更名為 Flink(德語中意為“快”),同年成為 Apache 頂級項目。幾乎同時,F(xiàn)link的創(chuàng)始團隊成立了公司 DataArtisans公司 以支持其發(fā)展。

2015 年至 2016 年間,隨著阿里巴巴集團業(yè)務(wù)特別是電商領(lǐng)域(如“雙十一”購物節(jié))的迅速擴張,對實時數(shù)據(jù)處理的需求激增。盡管阿里已有成熟的離線數(shù)據(jù)處理系統(tǒng) ODPS,但對于秒級響應(yīng)的實時數(shù)據(jù)處理仍面臨挑戰(zhàn)。經(jīng)過評估,阿里選擇了Apache Flink作為其新的實時計算平臺解決方案。至 2016 年的“雙十一”,F(xiàn)link 已在阿里巴巴內(nèi)部大規(guī)模部署并成功支持了相關(guān)活動。

阿里巴巴對 Flink 社區(qū)進(jìn)行了持續(xù)的投資和支持,主要目的是推動 Flink 技術(shù)在中國乃至全球范圍內(nèi)的廣泛應(yīng)用,并促進(jìn)其成長。2018 年底成立了 Flink 中文社區(qū),并舉辦了首屆 Flink Forward Asia 大會。至今已連續(xù)舉辦七屆,即便在疫情期間也未中斷。2019 年,阿里收購了 Flink 的創(chuàng)始公司 Data Artisans,之后不久,為了更好地反映公司愿景及其在全球范圍內(nèi)的擴張計劃,Data Artisans 更名為 Ververica。同年,阿里巴巴向 Apache Flink 貢獻(xiàn)了內(nèi)部開發(fā)多年的 Blink 項目,涉及超過 150 萬行核心代碼。此舉極大地促進(jìn)了 Flink 社區(qū)自 2019 年起在全球范圍內(nèi)的快速發(fā)展。

Apache Flink 在過去十年中逐漸成為全球范圍內(nèi)廣泛認(rèn)可的實時流處理框架,得到了工業(yè)界和學(xué)術(shù)界的共同認(rèn)可。2023 年,F(xiàn)link 不僅被頂級機構(gòu) SIGMOD 授予系統(tǒng)大獎,還見證了多項技術(shù)創(chuàng)新,如阿里巴巴捐贈了 Flink CDC(一個實時數(shù)據(jù)集成框架)給 Flink 社區(qū),并孵化出了新一代實時數(shù)據(jù)湖 Paimon。至今,F(xiàn)link 擁有近 2000 位來自世界各地的貢獻(xiàn)者,其中約 40%來自中國,顯示出中國開發(fā)者在該開源項目中的活躍度。阿里巴巴對 Flink 的支持尤為突出,連續(xù)七年舉辦 Flink Forward 大會,促進(jìn)了技術(shù)交流與分享。此外,中國的 Flink PMC 成員及 Flink 開發(fā)者們通過微信公眾號等平臺積極推廣 Flink 相關(guān)知識和技術(shù)文章,極大地推動了 Flink 在中國乃至全球范圍內(nèi)的應(yīng)用和發(fā)展。

Flink 之所以能夠取得如此成就,關(guān)鍵在于它順應(yīng)了時代發(fā)展的需求,適應(yīng)了近年來大數(shù)據(jù)領(lǐng)域從離線處理向?qū)崟r處理轉(zhuǎn)變的趨勢,滿足了包括互聯(lián)網(wǎng)、金融、電信、能源、制造、物聯(lián)網(wǎng)等多個行業(yè)對于更高效數(shù)據(jù)分析的需求。

二、The Present

Apache Flink 已成為大數(shù)據(jù)流計算全球事實標(biāo)準(zhǔn)

Flink 十年磨一劍,除了阿里巴巴付出非常多的努力來推動它的成長,也離不開中國廣大企業(yè)、廣大開發(fā)者的支持,使得 Flink 成為全球范圍內(nèi)大數(shù)據(jù)流計算的實時標(biāo)準(zhǔn)。其成功不僅源于時代需求,更在于優(yōu)秀的技術(shù)架構(gòu)設(shè)計、扎實理論基礎(chǔ)和開放繁榮生態(tài)。作為業(yè)界首款實現(xiàn)流批融合的計算引擎,F(xiàn)link 支持Java/SQL/Python 等多語言 API,滿足了從大數(shù)據(jù)開發(fā)者到 AI 領(lǐng)域用戶的廣泛需求。通過豐富的 Connector 和 CDC 子系統(tǒng),F(xiàn)link 無縫連接數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)湖等多種存儲系統(tǒng),成為促進(jìn)不同數(shù)據(jù)系統(tǒng)間實時流動與分析的關(guān)鍵橋梁,堪稱大數(shù)據(jù)生態(tài)中的“數(shù)據(jù)高速公路”。

Flink 社區(qū)一直在探索實時計算和大數(shù)據(jù)處理的邊界,并對其架構(gòu)進(jìn)行了重大升級,其中最重要的升級是場景化擴展,使得 Flink 從最初的流式數(shù)據(jù)處理發(fā)展到了更廣泛的流式湖倉(Lakehouse)架構(gòu)。自 2022 年起,F(xiàn)link 開始孵化子項目 Flink Table Store,旨在開發(fā)一種支持實時更新的數(shù)據(jù)湖存儲格式;到 2023 年,該項目獨立孵化并更名為 Paimon,現(xiàn)已成長為 Apache 基金會的一個頂級項目。結(jié)合使用 Flink 與 Paimon,可以實現(xiàn)從計算到存儲的一體化解決方案,適用于構(gòu)建流批一體化的新一代湖倉系統(tǒng)。

在這種架構(gòu)下,通過 Flink CDC 工具可將外部數(shù)據(jù)實時導(dǎo)入 ODS 層,隨后利用 Flink 提供的流批一體 SQL 功能在 Paimon 上執(zhí)行 ETL 操作,從而形成一個完整的實時離線一體化處理平臺。這種基于Flink+Paimon的流式湖倉架構(gòu)被認(rèn)為是傳統(tǒng) Lakehouse 架構(gòu)的一種進(jìn)化版本,它不僅保留了原有 Lakehouse 的優(yōu)點,還額外提供了全鏈路實時處理能力和統(tǒng)一的流批處理體驗。

流式湖倉作為一種創(chuàng)新技術(shù)架構(gòu),引起了業(yè)界不少公司的關(guān)注,并在 2024 年的多個場景中得到了實際應(yīng)用。特別是在上個月剛剛結(jié)束的阿里巴巴“雙十一”活動中,通過采用 Flink+Paimon 這一最新的流式湖倉架構(gòu),實現(xiàn)了重要業(yè)務(wù)場景的成功落地,如天貓營銷分析大屏。該案例展示了如何利用統(tǒng)一的技術(shù)棧來處理實時與離線數(shù)據(jù)處理需求,從而保證了數(shù)據(jù)口徑的一致性,并顯著降低了存儲和計算成本。具體來說,由于采用了同一套架構(gòu),避免了重復(fù)開發(fā) SQL 邏輯以及雙份數(shù)據(jù)存儲的需求,使得整體解決方案更加高效、經(jīng)濟。此外,這種架構(gòu)還支持運營人員實時查看商品成交來源及流量調(diào)配情況,同時允許數(shù)據(jù)分析師在夜間進(jìn)行更精確的數(shù)據(jù)回刷以獲取最終結(jié)果,比如反作弊信息的更新等。未來,隨著更多企業(yè)對效率提升及成本控制需求的增長,預(yù)計這種新型架構(gòu)將在更廣泛的行業(yè)范圍內(nèi)得到推廣和應(yīng)用。

三、The Future

新一代 Apache Flink 即將發(fā)布

Flink 經(jīng)過十年的發(fā)展已成為流處理領(lǐng)域的事實標(biāo)準(zhǔn),接下來面對 AI 新時代、面向全面云原生時代,F(xiàn)link 的技術(shù)架構(gòu)也需要與時俱進(jìn)的升級。在 Flink 十周年之際即將推出新一代的 Flink 架構(gòu)——Flink2.0,這是自 2016 年發(fā)布 Flink 1.0 以來最大規(guī)模的技術(shù)架構(gòu)升級。

Flink 2.0 的主要升級方向包括:

  1. 全面云原生架構(gòu):采用存算分離設(shè)計,將狀態(tài)存儲遷移至云存儲中,從而顯著提高系統(tǒng)的容錯性、災(zāi)難恢復(fù)能力和彈性。

  2. 改進(jìn)的流批一體計算范式:簡化用戶操作流程,實現(xiàn)更自動化、更易用的流批一體處理能力,降低用戶使用門檻,提供更加端到端的服務(wù)體驗。

  3. 增強AI支持:加強與AI技術(shù)特別是大模型系統(tǒng)的集成,使Flink能夠更好地服務(wù)于 AI 應(yīng)用場景,并優(yōu)化與向量數(shù)據(jù)庫等數(shù)據(jù)基礎(chǔ)設(shè)施之間的交互,促進(jìn)數(shù)據(jù)與AI的深度融合。

總結(jié)來說,F(xiàn)link 2.0 還有非常多的新特性,在此僅做簡單的預(yù)告,可以期待后續(xù)更深入地探討,以全面揭示 Flink 2.0 的強大功能和潛力。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容