回覆列表
  • 1 # HELIX人工智慧實驗室

    大資料與現有的科技手段結合,對大多數產業而言都能產生巨大的經濟及社會價值。這也是當下許多企業,在大資料上深耕的原因。大資料分析場景需要解決哪些技術挑戰?目前,有哪些主流大資料架構模式及其發展?今天,我們都會一一解讀,並介紹如何結合雲上儲存、計算元件,實現更優的通用大資料架構模式,以及該模式可以涵蓋的典型資料處理場景。

    大資料處理的挑戰

    現在已經有越來越多的行業和技術領域需求大資料分析系統,例如金融行業需要使用大資料系統結合 VaR(value at risk) 或者機器學習方案進行信貸風控,零售、餐飲行業需要大資料系統實現輔助銷售決策,各種 IOT 場景需要大資料系統持續聚合和分析時序資料,各大科技公司需要建立大資料分析中臺等等。

    抽象來看,支撐這些場景需求的分析系統,面臨大致相同的技術挑戰:

    1. 業務分析的資料範圍橫跨實時資料和歷史資料,既需要低延遲的實時資料分析,也需要對 PB 級的歷史資料進行探索性的資料分析;

    2. 可靠性和可擴充套件性問題,使用者可能會儲存海量的歷史資料,同時資料規模有持續增長的趨勢,需要引入分散式儲存系統來滿足可靠性和可擴充套件性需求,同時保證成本可控;

    3. 技術棧深,需要組合流式元件、儲存系統、計算元件;

    4. 可運維性要求高,複雜的大資料架構難以維護和管控。

    Lambda plus:Tablestore + Blink 流批一體處理框架

    Lambda plus 是基於 Tablestore 和 Blink 打造的雲上存在可以複用、簡化的大資料架構模式,架構方案全 serverless 即開即用,易搭建免運維。

    表格儲存(Tablestore)是阿里雲自研的 NoSQL 多模型資料庫,提供 PB 級結構化資料儲存、千萬 TPS 以及毫秒級延遲的服務能力,表格儲存提供了通道服務(TunnelService)支援使用者以按序、流式地方式消費寫入表格儲存的存量資料和實時資料,同時表格儲存還提供了多元索引功能,支援使用者對結果檢視進行實時查詢和分析。

    Blink 是阿里雲在 Apache Flink 基礎上深度改進的實時計算平臺,Blink 旨在將流處理和批處理統一,實現了全新的 Flink SQL 技術棧,在功能上,Blink 支援現在標準 SQL 幾乎所有的語法和語義,在效能上,Blink 也比社群Flink更加強大。

    在 TableStore + Blink 的雲上 Lambda 架構中,使用者可以同時使用表格儲存作為master dataset 和 batch&stream view,批處理引擎直讀表格儲存產生 batch view,同時流計算引擎透過 Tunnel Service 流式處理實時資料,持續生成 stream view。

    如上圖,其具體元件分解:

    Lambda batch 層:

    Tablestore 直接作為 master dataset,支援使用者直讀,配合 Tablestore 多元索引,使用者的線上服務直讀、ad-hoc 查詢 master dataset 並將結果返回給使用者;Blink 批處理任務向 Tablestore 下推 SQL 的查詢條件,直讀 Tablestore master dataset,計算 batch view,並將 batch view 重新寫回 Tablestore;

    Streaming 層:

    Blink 流處理任務透過表格儲存 TunnelService API 直讀 master dataset 中的實時資料,持續產生 stream view;Kappa 架構的 backfill任務,可以透過建立全量型別資料通道,流式消費 master dataset 的存量資料,從新計算;

    Serving 層:

    為儲存 batch view 和 stream view 的 Tablestore 結果表建立全域性二級索引和多元索引,業務可以低延遲、ad-hoc方式查詢;

    針對上述 Lambda 架構1-4的技術問題,Lambda plus 的解決思路:

    1. 針對資料寫入的問題,Lambda plus 資料只需要寫入表格儲存,Blink 流計算框架透過通道服務 API 直讀表格儲存的實時資料,不需要使用者雙寫佇列或者自己實現資料同步;

    2. 儲存上,Lambda plus 直接使用表格儲存作為 master dataset,表格儲存支援使用者 tp 系統低延遲讀寫更新,同時也提供了索引功能 ad-hoc 查詢分析,資料利用率高,容量型表格儲存例項也可以保證資料儲存成本可控;

    3. 計算上,Lambda plus 利用 Blink 流批一體計算引擎,統一流批程式碼;

    4. 展示層,表格儲存提供了多元索引和全域性二級索引功能,使用者可以根據解決檢視的查詢需求和儲存體量,合理選擇索引方式。

    總結,表格儲存實現了 batch view、master dataset 直接查詢、stream view 的功能全集,Blink 實現流批統一,Tablestore 加 Blink 的 Lambda plus 模式可以明顯簡化 Lambda 架構的元件數量,降低搭建和運維難度,拓展使用者資料價值。

    大資料輿情分析系統:

  • 中秋節和大豐收的關聯?
  • 怎麼在工作上被領導認可,又不擔心是搶他們飯碗的心理負擔呢?