結論
絶対値ベースの具体的なパフォーマンス テスト結果が載っている、貴重で太っ腹な資料なので、設計者は要チェックです!
はじめに
プリセールス段階や要件定義段階で、ハードウェア構成(台数、スペック)、それに伴う課金の概算見積もりを求められることが多々あります。
特にクラウド時代になると、簡単にスケールアップ・スケールアウトができるので、逆に見積もりの振れ幅が大きくなり、予算管理の観点で、その振れ幅を含む概算を求められる事が増えてきています。
ただ、業務要件とシステム要件が固まっていない事が多い初期フェーズで、その概算見積もりをするのは至難の業で、実機テストをするにも工数やコストが合わず、頭を抱える事が多いです。
そんな課題に、このオフィシャル・ドキュメントのパフォーマンス ホワイトペーパーは、かなり役立つと考えます。
パフォーマンス ホワイトペーパー とは?
PolarDBのドキュメントページには、Performance White Paperがあり、その中では具体的なハードウェア構成および負荷テストの結果、さらには、QPS(クエリ/秒) ・TPS(トランザクション/秒)の絶対値が公開されており、概算を出すのに、具体的な数値を参考にして計算できます。
基本的に、製品・サービスベンダーがオフィシャルに、このようなデータを出すことは稀で、出したとしても絶対値ではなく相対値 (何%アップとか) だったりするので、痒いところに手が届かない感じが多いのですが、こちらの資料は前提条件やテスト手法やデータ、構成の違いによる絶対値の推移がきちんと記載されているので、かなり太っ腹な資料公開だと思います。
公開されているデータ
PolarDB for MySQL に関するパフォーマンス ホワイトペーパー(英語)および、PolarDB for PostgreSQL に関するパフォーマンス ホワイトペーパー(英語)が公開されており、利用データベースエンジンに合わせて、利用しましょう。
2023/12時点では、日本語版マニュアルだと情報が古かったので、英語版マニュアルのホワイトペーパーを見るのが良いと思います。
特に参考になった資料 3選
1. Performance test results of PolarDB for MySQL 8.0.2 (Cluster Edition)
Dedicated instance familyの章では、コア数/メモリを、段階的に増やした処理 (2コア/8GB, 4コア/16GB, 8コア/32GB, 16コア/128GB) がスケールすることが証明され、かつ面白いのはメモリを増やしただけのテスト(8コア/32GBと、8コア/64GBの比較)も入っていることです。
またスケールアウトのテストで、read-only nodesを1台から8台にして、かつスレッド数を変動させた場合のテストも入っているのも興味深いですね。
2. Performance comparison with similar PostgreSQL cloud-native databases
類似の PostgreSQL 14 クラウドネイティブデータベース(たぶん、アレ)と、PolarDB for PostgreSQLとを比較している資料です。
企画自体がなかなか攻めていますね!
3. Performance comparison with open-source PostgreSQL
オープンソースのPostgreSQLと実行環境をほぼ合わせた状態でテストをしています。
ストレージアーキテクチャの違いと、トランザクション管理・キャッシュ管理が、PolarDB for PostgreSQLのアドバンテージになっているようです。
参考文献
PolarDB for MySQL に関するパフォーマンス ホワイトペーパー(英語)
PolarDB for PostgreSQL に関するパフォーマンス ホワイトペーパー(英語)