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

PolarDB:オープンソースPostgreSQLとのパフォーマンス比較

最終更新日:Jun 04, 2024

このトピックでは、PolarDB for PostgreSQL 14およびオープンソースのPostgreSQL 14のOLTPパフォーマンステストの結果について説明します。

概要

PolarDB for PostgreSQL 14は、オープンソースのPostgreSQL 14と比較して、次の機能を最適化し、全体的なパフォーマンスを向上させます。
  • PolarDB for MySQLは、3D XPointストレージメディアのOptaneソリッドステートドライブ (SSD) 、NVMe SSD、RDMA over Converged Ethernet (RoCE) などの主要なハードウェアテクノロジーを採用しています。
  • PolarDB for MySQLは、新しいハードウェアに基づいてユーザーモードで実行される一連のI/Oおよびネットワークプロトコルスタックを実装します。 これにより、パフォーマンスが向上し、待ち時間が短縮されます。
  • PolarDB for PostgreSQLは、Polar Commit Sequence Number (CSN) 機能を使用して、ネイティブPostgreSQLのxidトランザクションを単調増加する64ビット整数に置き換え、並行性の高いシナリオでのOLTPパフォーマンスを向上させます。
  • 先読み、事前拡張、およびrel_size_cacheの機能は、I/O読み取りおよび書き込みの数を減らし、パフォーマンスを向上させるために提供されます。
説明 テスト手順の詳細については、「OLTPパフォーマンステスト」をご参照ください。

テスト環境と仕様

次の表に、PolarDB for PostgreSQL 14およびオープンソースのPostgreSQL 14の環境と仕様を示します。 テストでは、オープンソースのPostgreSQL 14がECSインスタンスにデプロイされます。
パラメーターPolarDB for PostgreSQL 14オープンソースPostgreSQL 14
コアとメモリ8コアと64 GBのメモリ8コアと64 GBのメモリ
ECSインスタンスタイプecs.c5.4xlargeecs.c5.4xlarge
同時実行256256
PostgreSQL バージョン1414
ディスク性能レベルPSL5cloud_essd + PL3
予約済みディスク領域自動スケーリングと制限なし4テラバイト
説明 カーネルパラメーターの場合、PolarDB For PostgreSQL 14とオープンソースのPostgreSQL 14はパフォーマンスパラメーターに同じ値を使用し、その他のパラメーターはデフォルト値を採用します。

ワークロードのテスト

Sysbenchには、oltp_insert、oltp_point_select、oltp_read_only、oltp_read_write、oltp_update_index、oltp_update_non_index、oltp_write_onlyの7つのシナリオがあります。 次の表に、各シナリオのテストの詳細を示します。
パラメーターシナリオテストの詳細
書き込み専用oltp_insertテーブルを挿入します。
oltp_update_indexインデックス付きのテーブルを更新します。
oltp_update_non_indexインデックスなしでテーブルを更新します。
oltp_write_onlyテーブルを挿入、更新、および削除します。
読み取り専用oltp_point_selectポイントクエリ。
oltp_read_only点クエリと範囲クエリ。
Read と writeoltp_read_writeoltp_write_onlyおよびoltp_read_only。

メトリクス

1秒あたりのトランザクション (TPS): データベースで1秒あたりに実行されるトランザクションの数。 コミットされたトランザクションのみがカウントされます。

テストデータ

次の表にテストデータを示します。
パラメーター説明
テーブル数8
行数64,000,000
総データサイズ128 GB

パフォーマンス比較結果

  • 書き込み専用 Write-only
    TPSまたはインスタンスタイプPolarDB for PostgreSQL 14オープンソースPostgreSQL 14
    oltp_insert43129.0841161.66
    oltp_update_index32492.363710.60
    oltp_update_non_index30929.045367.59
    oltp_write_only9492.401294.47
  • 読み取り専用 Read-only
    TPSまたはインスタンスタイプPolarDB for PostgreSQL 14オープンソースPostgreSQL 14
    oltp_point_select88967.6014566.05
    oltp_read_only4834.21570.62
  • 読み取りと書き込み Read and write
    TPSまたはインスタンスタイプPolarDB for PostgreSQL 14オープンソースPostgreSQL 14
    oltp_read_write1738.51306.39