すべてのプロダクト
Search
ドキュメントセンター

PolarDB:PolarDB の3層デカップリング (RDMA)

最終更新日:Dec 09, 2025

このトピックでは、PolarDB の Distributed Memory Pool (DMP) 技術について説明します。DMP を使用することで、PolarDB はコンピューティング、メモリ、ストレージを分離する3層アーキテクチャを実現します。この技術は、マルチノードの分散型高性能キャッシュと高速な片側 RDMA (Remote Direct Memory Access) ネットワークを利用して、I/O 負荷の高いペイロードの読み取り/書き込みパフォーマンスを大幅に向上させます。DMP は、サービスに影響を与えることなく、またクラスターの操作を中断またはブロックすることなく、数秒で動的に有効化または無効化できます。

説明

この機能はカナリアリリース段階です。この機能のご利用やご質問については、チケットを送信してください。

適用範囲

エディション:Enterprise Edition

仕組み

データベースのバッファープールは、ディスクデータをキャッシュするために使用されるメモリ内の領域です。データがリクエストされると、システムはまずバッファープールからの読み取りを試みます。データがバッファープールにない場合は、基盤となるストレージから取得する必要があります。この I/O 操作は、リモートストレージに対するディスクレイテンシとネットワーク遅延の両方を含む読み取りレイテンシを増加させ、データベースのパフォーマンスに直接影響します。

単一ホストのリソース制限により、PolarDB クラスターは、CPU とメモリが固定比率で提供されます。このモデルには、次の3つの課題があります:

  • さまざまなビジネスシナリオへの柔軟性の欠如:例えば、メモリ集約型サービスには大量のメモリが必要ですが、コンピューティング集約型サービスにはより多くの CPU コアが必要です。コンピューティングとメモリが分離されていれば、サービスをより柔軟に構成して、コストを削減し効率を向上させることができます。

  • 限られたメモリ容量:クラスターの最大メモリは、単一ホストの最大メモリによって制限されます。例えば、現在のほとんどのクラスター仕様では、最大メモリは 512 GB です。

  • スケーリング中のサービスへの影響:リソースのスケーリングには移行が必要であり、サービスに瞬断が発生する可能性があります。これは、大規模なビジネスイベントのためのスケーリングを数日前に計画する必要があることを意味し、突然のトラフィックの急増に対応することが困難になります。

PolarDB の DMP は、片側 RDMA 高速ネットワークを使用して、複数のホストのメモリを大容量、低レイテンシ、かつスケーラブルな分散共有メモリプールに統合します。DMP がアタッチされると、PolarDB のコンピューティングノードは、ローカルキャッシュ、ローカルメモリ、分散メモリ、そして分散ストレージの順にデータを検索することで、I/O リクエストを自動的に処理します。このプロセスはサービスに対して透過的であり、アプリケーションの変更は不要です。アタッチ後はリソースを動的にスケーリングできます。

説明

アタッチおよびスケーリングプロセスは、サービスに影響を与えません。

DMP を使用すると、単一の PolarDB クラスターの最大メモリは 10 TB に達します。16 KB のランダム読み取り I/O レイテンシは 10 us と低く、これはストレージの I/O レイテンシの約10分の1です。これにより、I/O バウンドシナリオでのパフォーマンスが大幅に向上し、TPC-H パフォーマンスは最大で 6.5 倍に向上します。

主な利点

  • I/O バウンドシナリオのパフォーマンス向上:片側 RDMA により、DMP は 16 KB のランダム読み取り I/O レイテンシを 10 us まで低減します。これは、ストレージからの I/O 読み取りレイテンシの10分の1です。

  • 画期的なメモリ容量:シングルノードの最大メモリは 10 TB に達します。

  • 数秒でのシームレスな弾力性:DMP のアタッチは1秒未満で完了し、サービスに影響を与えません。

  • 柔軟な構成:DMP はクラスターレベルで構成することも、プライマリノードや特定の読み取り専用ノードに個別に構成して、読み取り/書き込みパフォーマンスを向上させることもできます。