全部產品
Search
文件中心

PolarDB:PolarDB三層解耦(RDMA)

更新時間:Dec 09, 2025

本文介紹了PolarDB的分布式記憶體池(Distributed Memory Pool,簡稱DMP)技術,基於DMP技術PolarDB實現了計算-記憶體-儲存的三層解耦架構,並通過多機分布式高效能緩衝和one-sided RDMA(Remote Direct Memory Access)高速網路,大幅提升了在I/O密集型負載下的讀寫效能表現。您可以在業務完全無感無需中斷或阻塞叢集運行的情況下,秒級動態開啟和關閉DMP。

說明

當前功能目前處於灰階階段。如需使用該功能或對當前功能有任何疑問,請提交工單聯絡我們為您處理。

適用範圍

產品版本:企業版

原理介紹

資料庫的緩衝池(Buffer Pool)是記憶體中用於緩衝磁碟資料的地區。當需要訪問資料時,先從Buffer Pool中讀取,若資料在Buffer Pool未命中,則需要從底層儲存中擷取資料,相比記憶體訪問,IO操作會增加讀盤延遲(若涉及遠程儲存,還包括網路延遲),這將直接影響資料庫的效能。

出於單台主機的資源限制,當前PolarDB叢集是將CPU和記憶體按一定的比例進行售賣,這種售賣方式存在三個問題:

  • 不能靈活適配業務的使用情境:如記憶體密集型的業務更依賴大記憶體,計算密集型業務更需要多核;如果能將計算和記憶體解耦,業務便可進一步靈活配比,降本增效。

  • 記憶體上限受限:單叢集的記憶體上限受限於單台主機的記憶體上限。如當前大部分叢集規格上限為512 GB。

  • 變更配置有感:當前資源變更配置需要通過遷移實現,遷移期間業務有閃斷風險。大型商務活動前的變更配置往往需要提前數天進行,而且很難應對突發流量。

PolarDB DMP通過one-sided RDMA高速網路,將多台主機上的記憶體組合成了一個大容量、低延遲、可擴充的分布式共用記憶體池。掛載DMP後,PolarDB計算節點自動按照本機快取(Cache)-記憶體-分布式記憶體-分布式儲存的優先順序進行I/O操作,無需業務感知與適配,掛載後可動態擴縮容。

說明

掛載以及擴縮容期間,業務均無感。

在DMP的加持下,PolarDB單叢集記憶體上限可達10 TB,且16 KB隨機讀I/O延遲低至10微秒(約為儲存I/O的1/10),I/O bound情境效能大幅提升,TPC-H效能最大提升6.5倍。

核心優勢

  • I/O bound情境效能提升:one-sided RDMA加持下,DMP 16 KB隨機讀IO延遲可低至10us,讀延遲相較儲存IO降低10倍。

  • 記憶體上限突破:單節點最大記憶體可達10 TB。

  • 秒級無損彈性:DMP掛載時間<1秒,期間業務完全無感;

  • 配置靈活:DMP功能可以在叢集層級進行配置,也可以針對主節點或特定的唯讀節點進行單獨配置,以提升讀寫效能。