在海量數據分析中,追求高性價比已成為各大企業的主流趨勢。ARM 架構憑藉其高能效和低成本的特點,逐漸在數據中心崛起,成為理想的高性價比選擇。基於 ARM 架構的 AWS Graviton 系列處理器,正是這一趨勢的典型代表。Graviton 處理器不僅在計算性能上表現優異,同時顯著降低了運行成本,尤其在數據密集型任務中展現出明顯優勢。與傳統的 x86 架構處理器相比,Graviton 提供更高的每瓦性能,使其愈發成為極具吸引力的選擇。

Apache Doris 是基於 MPP 架構的高性能、實時的分析型數據庫,能夠對大規模實時數據進行極速分析,滿足報表分析、即席查詢、統一數倉構建、湖倉一體等多種使用場景數據處理及分析需求,SelectDB 是飛輪科技基於 Apache Doris 打造的現代化實時數據倉庫,通過實時、統一、彈性、開放的核心能力,為企業提供高性價比、簡單易用、安全穩定、低成本的實時大數據分析支持。SelectDB 及 Apache Doris 現已支持 AWS Graviton,結合 ARM 處理器的低能耗及高性能特點,使其在處理大規模數據時,不僅能提供強勁的性能,還能保持較低的能耗,極大提升了性價比。

SelectDB 與 AWS Graviton 的適配

SelectDB 針對 ARM 架構做了進一步的深入優化,通過精細化的內核調度和內存管理調整,顯著提升了在 ARM 處理器上的查詢處理速度。具體優化措施如下:

  • 全面支持 ARM 下算子向量化。 在數據處理過程中,利用 CPU 的 SIMD(向量化)指令,能夠提升單位時間的數據吞吐量,尤其在 OLAP 負載場景下更為明顯。我們將 x86 下 SSE、AVX 指令遷移到 ARM 的 NEON 向量化指令,使得 SelectDB 在 ARM 下具備同樣極致的數據處理能力。目前還在基於 SVE 對 ARM 的 SIMD 指令進行更深度的適配,預期將實現進一步的性能提升。
  • 高效的多線程同步方式。 與 x86 架構相比,ARM 架構具備更寬鬆的內存序實現,使得多線程能夠更加充分地並行執行。SelectDB 在執行過程中充分利用 ARM 的多線程能力,能夠根據具體的性能瓶頸準確選擇線程同步方式,將多線程的同步負擔降至最低,確保 CPU 時間能夠更有效地投入到核心數據處理任務中。
  • 高效的任務調度模型。 SelectDB 具備高負載下處理大量並行任務的能力,這源於其高效率查詢執行引擎。該引擎能夠完全釋放現代 CPU 的多核並行能力,在調度過程中充分將查詢分解、並行。結合 ARM 架構的低能耗、低成本特點,用户可以在工作負載上部署更多的 CPU 核心,SelectDB 完全有能力充分利用多核 CPU 提升 SQL 執行速度。

<video width="100%" controls poster=""><source src="https://cdn.selectdb.com/static/Google_Chrome_545ac54727.mp4" type="video/mp4" /></video>

SelectDB 在 ARM 架構上的性能表現

為直觀表現 SelectDB 的在各機器上的性能表現,我們在 AWS EC2 雲服務器上分別搭建了 x86 和 ARM 集羣,並使用業界主流性能測試集對 SelectDB 進行了評估。

從下方測試數據彙總可知:在五個測試集的測試中,SelectDB 在 AWS EC2 ARM(c7g.4xlarge) 集羣上的性能表現,均明顯優於同等規格的 x86 (c6i.4xlarge)集羣。 此外,綜合 AWS Graviton 機器更低的使用成本,ARM 的 c7g.4xlarge 相較於 x86 的 c6i.4xlarge 也表現出了更高的性價比,在 Clickbench 測試集中甚至達到了 36% 的提升。

SelectDB 在 ARM 架構上的性能表現.PNG

SelectDB 在 ARM 架構上的性能表現-2.PNG

01 集羣配置

我們在 AWS EC2 雲服務器服務中,分別選取 x86 和 ARM 機器搭建 SelectDB 集羣進行測試,集羣配置均為 1FE + 3BE。

  • x86 架構:c6i.4xlarge 機型,搭載 Ice Lake 8375C 處理器;
  • ARM 架構: c7g.4xlarge,搭載 AWS 專屬的 Graviton3 處理器。

具體配置如下:

集羣配置.PNG

02 測試方法及數據集

使用 5 個最具代表性的性能測試集(如下表),全面測試 SelectDB 在各場景下的性能表現:

測試方法及數據集.PNG

在每個測試集中,順序執行測試集中的所有 SQL,每條 Query 連續執行 4 次(1 次冷查和 3 次熱查)。在熱查中,取最快的一次查詢作為該 SQL 的實際耗時,並彙總得出最終結果。

**詳細測試步驟, 可參考文檔

03 ARM 與 x86 在各測試集下的性能比較

  • Clickbench ARM 與 x86 在各測試集下的性能比較-Clickbench.PNG

  • SSB 100G ARM 與 x86 在各測試集下的性能比較-SSB100G.png

  • SSB-FLAT 100G ARM 與 x86 在各測試集下的性能比較-SSB-FLAT-100G.png

  • TPC-H 100G ARM 與 x86 在各測試集下的性能比較-TPCH100G.png

  • TPC-DS 100G ARM 與 x86 在各測試集下的性能比較-TPC-DS-100G.png

結束語

綜上所述,SelectDB 在 AWS Graviton 上的性能表現展現了其作為高性價比數據分析解決方案的巨大潛力。結合 ARM 處理器的低能以及 SelectDB 的高性能特點,滿足了企業對高效、低成本數據處理的需求。隨着數據量的不斷增長,這種融合將成為未來企業數據分析的關鍵趨勢。