全部產品
Search
文件中心

ApsaraDB for SelectDB:產品架構

更新時間:Jan 03, 2025

ApsaraDB for SelectDB是基於Apache Doris研發的現代化即時數倉服務,採用全新的雲原生存算分離架構。本文為您介紹ApsaraDB for SelectDB的產品架構及基本原理。

架構圖

image

組件說明

應用系統或用戶端

應用系統或用戶端是您訪問ApsaraDB for SelectDB的產品或工具。由於ApsaraDB for SelectDB相容MySQL連線協定和標準SQL文法,因此MySQL生態中的命令列工具、JDBC/ODBC驅動以及視覺化檢視等,均可串連訪問ApsaraDB for SelectDB執行個體。

說明

為了減少網路延時和不穩定的影響,建議應用程式或用戶端ApsaraDB for SelectDB執行個體部署在相同地區。

執行個體

ApsaraDB for SelectDB 的執行個體是購買和使用資料庫服務的基本單元。在購買ApsaraDB for SelectDB 的執行個體後,執行個體以及相關叢集的資源歸屬於您。ApsaraDB for SelectDB採用雲原生存算分離架構,包含執行個體入口(負責接收請求,包含一組FE節點)、叢集(負責實際請求執行的分布式系統,包含一組BE節點)、儲存(Object Storage Service)等組件。其中執行個體入口由ApsaraDB for SelectDB託管並按需伸縮,您無需管理。ApsaraDB for SelectDB的多執行個體之間的資源是完全物理隔離的,可用於滿足完全獨立的或敏感性差別較大的業務情境。

在使用ApsaraDB for SelectDB執行個體進行讀寫操作時,主體流程如下:

  • 寫入請求:您可通過ApsaraDB for SelectDB提供的寫入介面或者已有的匯入工具,向ApsaraDB for SelectDB發起寫入請求。執行個體入口接收到請求後,根據您選擇或者預設設定將請求重新導向給目的地組群。目的地組群具體處理寫入請求,其將資料寫入Object Storage Service及緩衝中,在Object Storage Service完成持久化後,返回成功提示。

  • 查詢請求:您可通過執行SQL向ApsaraDB for SelectDB發起查詢請求。執行個體入口接收到查詢請求後,首先會對請求的SQL進行解析,然後智能最佳化器對SQL進行最佳化,產出高效的查詢執行計畫,最後將請求轉寄給目的地組群。目的地組群對查詢請求進行大規模並發調度執行(Massively Parallel Processing),查詢按需讀取緩衝或Object Storage Service中的資料,完成後通過MySQL協議將結果返回。叢集在查詢處理過程中,採用了Pipeline執行架構、索引技術、緩衝技術、向量化技術等技術,使得查詢速度加快,讓您體驗到ApsaraDB for SelectDB更好的資料分析效能。以下為ApsaraDB for SelectDB處理一個查詢請求的過程圖。

    image

叢集

ApsaraDB for SelectDB的叢集是包含一個或多個BE節點的分布式系統,每個節點包含計算資源和緩衝資源。由於存算分離架構中Object Storage Service訪問較慢,所以引入緩衝用以加速資料訪問。ApsaraDB for SelectDB支援記憶體、硬碟等多級緩衝機制。叢集支援靈活的Auto Scaling能力,伸縮過程會進行緩衝的預熱與遷移,儘可能為您提供平滑的分析體驗。

ApsaraDB for SelectDB支援多叢集架構,一個執行個體中可以包含多個叢集,類似經典分布式架構中的計算隊列、計算群組。同一執行個體中的多個叢集具有如下特性:

  • 資料共用:多叢集共用底層Object Storage Service,均可訪問底層資料,避免了冗餘資料存放區。

  • 計算隔離:多叢集間的計算與緩衝資源是完全獨立的,可用於隔離不同的工作負載。每個叢集可以按需購買不同規格的計算資源和儲存資源,並根據自身訪問規律進行資料緩衝。

  • 多讀多寫:多叢集在資料讀寫方面具有獨立對等的特性,能夠並行寫入資料。一旦資料提交生效,所有叢集均可立即查詢到最新的資料。

基於上述特性,多叢集通常用於實現讀寫隔離、線上與離線業務隔離以及生產與測試環境隔離等情境。

儲存

ApsaraDB for SelectDB採用高可靠、低成本的Object Storage Service作為儲存系統,用於持久化儲存資料。基於Object Storage Service本身的高可靠性,ApsaraDB for SelectDB無需在分布式數倉系統中維護資料副本。此外,基於Object Storage Service的低成本特性,SelectDB的單位儲存成本相比傳統數倉可降低90%以上。

ApsaraDB for SelectDB的儲存資源無需預設大小,其採用隨用隨付的計費方式,並支援使用儲存資源套件進行抵扣,從而進一步降低了儲存成本。

為了提供更好的分析效能,ApsaraDB for SelectDB對儲存和計算進行了深度結合設計,具體體現在以下幾個方面。

  • 數組組織:為提升資料的訪問效率,ApsaraDB for SelectDB對底層資料群組織進行了精緻的設計。

    • 資料分區:資料按照時間段或Hash值進行劃分打散,以充分利用分布式叢集的處理能力,同時有利於查詢時資料裁剪。

    • 支援行列混合儲存:預設的列式儲存可滿足海量資料的高效分析,按需開啟的行式儲存可支援高效能的點查詢。

    • 豐富的索引能力:可結合過濾條件精準定位元據,數量級提升查詢效能。

  • 資料模型:ApsaraDB for SelectDB對於不同的資料分析情境,提供了不同的資料模型。

    • 主鍵模型(Unique模型):適用於對資料有唯一主鍵要求或高效更新要求的情境。例如電商訂單、使用者屬性資訊等資料分析情境。

    • 明細模型(Duplicate模型):適用於保留所有未經處理資料記錄的情境。例如日誌、賬單等詳細資料分析情境。

    • 彙總模型(Aggregate模型):適用於通過預彙總提升查詢效能的彙總統計情境。例如網站流量分析、定製化報表等資料分析情境。

外部生態

ApsaraDB for SelectDB支援與周邊資料生態中的資料來源及視覺化檢視進行整合,顯著提升資料分析的便捷性。

  • 豐富的資料匯入工具:ApsaraDB for SelectDB可從多種資料來源(阿里雲資料來源、自建資料來源)進行資料匯入,提供穩定、高效、簡單易用的Data Integration方案。具體操作,請參見資料匯入工具

  • 豐富的資料視覺效果整合工具:ApsaraDB for SelectDB可與MySQL協議相容的視覺化檢視進行無縫對接,大幅提升資料開發、可視化分析的效率。具體操作,請參見資料視覺效果

  • 聯邦查詢能力:ApsaraDB for SelectDB與外部資料湖、資料庫進行整合,支援進行資料的讀取和寫回,提供湖倉一體的資料分析體驗,降低資料分析技術棧的資源及維護成本。具體操作,請參見湖倉一體