雷剛 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

阿里巴巴這份開源禮物,業內期待已久。

近期,中國科技互聯網巨頭正式宣布將實時計算平台Blink開源,該技術由開源的Flink改造而來,被廣泛應用在阿里眾多核心業務中。

比如淘寶天貓智能推薦系統、阿里媽媽廣告、高德地圖、城市大腦等,均有實時計算平台Blink的支持。

這一技術甚至被認為是引領「下一代計算」的 「計算王牌」。

之前阿里透露開源意向時,就已經在開源和開發者群體中引發期待。

實時計算

所謂實時計算,通俗來講,即能夠基於實時變化數據更新大數據處理的狀態和結果。

最典型的如天貓雙11搶購中,即便在萬千人同時湧入的第一分鐘,也能保證每個人點開App瞬間實現千人千面的智能推薦。

這背後正是阿里雲實時計算平台Blink保駕護航的結果。

此外,對於眾多AI項目來說,實時計算也關係到實時機器學習和實時測試的效果。

在阿里此前的探索中,歸納總結出三方面挑戰:

  • 業務龐大,場景多,大量的機器學習需求,這些因素一起導致了計算邏輯十分複雜;
  • 數據量大,作業多,因此整個實時計算的機器規模十分巨大;
  • 要保障低延遲和數據精確性,同時要滿足高吞吐量的需求。

Blink方案

為了應對上述挑戰,阿里內部在調研諸多計算框架後,最終選定了Flink。

首先,Flink很好地引入和設計了State,基於State複雜的邏輯計算如join能得到很好的描述。

其次,Flink引入了Chandy-Lamport 演算法,在此演算法的支撐下可以完美實現Exactly-Once,並能在低延遲下實現高吞吐量。

值得一提的是,為了解決Flink在State、Chandy-Lamport 演算法等方面的缺陷,阿里進一步結合Improvement,打造了Blink項目。

該項目可以分為2大板塊:

1、BlinkRuntime

包括存儲、調度和計算,不同公司在使用Flink時,存儲、調度以及底層優化等方面會有諸多不同,阿里巴巴的blink內部也對Runtime做了諸多個性化的優化。

2、Flink SQL

原生的Flink只有比較底層的DataStream API,用戶在使用時需要設計實現大量的代碼,此外DataStream本身也有設計上的缺陷。

為了方便用戶使用,阿里巴巴團隊設計了流計算的Flink SQL並推回了社區,取名Flink SQL。

此外,作為開源版Blink,跟社區版本還有幾點差異:

第一是穩定性方面,在某些場景會比社區版本更加穩定,特別是在大規模場景;

另外Blink擁有全新的 Flink SQL 技術棧,它在功能上,特別是在批處理的功能上比社區版本強大很多。

它支持現在標準 SQL 幾乎所有的語法和語義,在性能上,無論是在流式 SQL 還是批 SQL,當前版本在性能上都有很大的優勢。

特別是在批 SQL 的性能方面,當前 Blink 版本是社區版本性能的 10 倍以上,跟 Spark 相比,在 TPCDS 這樣的場景 Blink 的性能也能達到 3 倍以上。

阿里方面強調,如果用戶對批處理或者對 SQL 有著比較強的需求,這個版本會用戶可以得到很多好處。

(更多詳細技術解析詳見傳送門)

實戰效果

阿里方面還介紹說,現在,阿里集團的全部核心業務已經用上Blink。

除了技術大考雙11之外,ET城市大腦實時計算著杭州1300個信號燈路口、4500路視頻,保障著交通動脈的通暢;淘寶、天貓每天為數億用戶展現實時的「專屬」頁面。

未來,這項技術還會被應用到社會的各個場景:工廠設備的物聯網設備能實時分析數據、提高生產良品率;物流派送平台能第一時間下單,把商品及時送到消費者手中;導航軟體時刻緊隨出行軌跡,不再錯過轉彎口……

而面向業界開源,更是能將更前沿的計算技術讓更多開發者受益其中。

傳送門

Blink on GitHub:

github.com/apache/flink

技術詳解:

一文揭秘阿里實時計算Blink核心技術

量子位 · QbitAI?? ? 追蹤AI技術和產品新動態戳右上角「+關注」獲取最新資訊↗↗如果喜歡,請分享or點贊吧~比心?
推薦閱讀:
相关文章