課題検討WG 2019年度活動報告
パブリッククラウド班 AWS調査編

PostgreSQL エンタープライズコンソーシアム
WG3(課題検討WG)
NES 湯村Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

検討テーマ：パブリッククラウドの検証（WG3）◼

昨今、パブリッククラウドの利用が企業内でも促進されており、特にPaaS型(およびマネージド型)と呼ばれる形態での利用が拡大、PGEConsにも調査要望が増えている（コンソーシアム内やセミナー等）。

◼

ニーズにこたえるため、PaaS型の機能面や制限事項の調査、および、PaaS型と通常のVM型で構築した場合の性能面の調査・検証を行うべく検証活動を実施◼

特に大手クラウドサービスでは、AuroraやHyperScaleなど、PostgreSQLを独自に拡張したプロダクトも提供されている。
こちらも調査対象とし、機能差異や性能データを調査検証した
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

2AWSにおけるPostgreSQL PaaS◼

調査対象として国内クラウドサービス筆頭であるAWSのPaaSを最初に選択。その後、Azureも調査対象とし、別資料にまとめている。

◼

2020年9月時点、AWSにおけるPaaSであるAWS Relational
Database ServiceのPostgreSQL系エンジンは、2種類のデータベースエンジンが利用可能
 Amazon RDS for PostgreSQL（以下、RDS）◼ ベーシックなマネージドRDBサービス

 Amazon Aurora with PostgreSQL compatibility（以下、Aurora）◼ クラウド向けに再設計されたPostgreSQLと互換性のあるマネージ

ドRDBサービス

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

3

成果物について◼ 調査期間/検証時期は2019年7月～2020年2月

以下の観点で机上調査、実機検証した成果をまとめた。
◼ 机上調査編
 RDSとAuroraとOSS版の違いを比較調査◼ IPA公開の「非機能要求グレード」を参考に比較項目を策定◼ 可用性、バックアップ/リストア、運用監視における違いや、PaaS型における制限事項や注意点などを明らかにしている◼ 実機調査編
 AWS上でEC2/RDS/Auroraを性能比較検証◼ スペックを揃えて、pgbenchとTPC-C(HammerDB)を測定

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

4測定ツールHammerDBについて◼

TPC-CとTPC-Hに相当するベンチマークのデータ生成とクエリ実行/測定までが実施できるツール◼

様々なRDBMSに対応
 Oracle SQLServer
 Db2
 MySQL/MariaDB
 PostgreSQL Redis◼

GUI/CUI両方での利用が可能
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

5机上調査編 可用性調査◼

耐障害性項目

比較の観点 オンプレ

サーバ HAとしての多重 サーバを多化方式 重化する
仕組みは何があるか

FTサーバやディ
スクミラーリン
グ、ストリーミン
グレプリケーション、などの手法で多重化

データ データの多 同上の多重 重化の仕化方式 組みとして何があるか

RDS

AuroramultiAZによる多重化が可能。
また、リージョン間のDRも可能。

ストレージ部分はEBSのため、多重化はEBS自体の仕様として担保。
単独AZ内での多重化であるため、AZ内の対象ストレージがすべて破損すればロストする

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

AZをまたいで複数ストレー
ジに対し、1AZあたり2か所への書き込みを3AZに行う。
計6か所のうちQuorumで書きこみ：４、読み込み：３で整合性を保証する

6机上調査編 OSS版PostgreSQLとの違い◼ パラメータ設定について
項目

比較の観点

RDS

Aurora

設定方
法

設定方法とSET/ALTERSYSTEMの利用可否など

AWSポータル上でGUIで設定
永続化にはパラメータグループを用いる
制約のないものはSETコマンドで設定可能。
ALTER SYSTEMコマンドは利用不可

コミュニ
ティ版との違い/制約事項

設定変更可
能なパラメータ、不可能なパラメータ、PaaSならではのパラメータ等

以下に分類できるが大体のパラメータは変更可能①変更できないもの(WALアーカイブ関連など)②インスタンスのスペックに応じて自動で設定してくれるもの(shared_buffersなど)③RDS独自のパラメータ(rds.で開始)
この中で②については、それが変更できるものであれば任意の値を設定することもできる。また、①であるが、③に連動して変更されるため、③を通してのみ変更が可能といったパラメータも存在する
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

7

実機調査編 検証環境について◼ DB種類 Amazon RDS for PostgreSQL

 Amazon Aurora （PostgreSQL互換）
 PostgreSQL(community) on Amazon EC2◼ インスタンス PostgreSQLサーバ◼ r5.2xlarge （vCPU:8、メモリ：64GiB）◼ r5.12xlarge（vCPU：48、メモリ：384GiB）

 PostgreSQLクライアント（pgbench、HammerDB実行環境）◼ r5.2xlarge （vCPU:8、メモリ：64GiB）◼ 検証時期
 2019年7月下旬(初回測定)

2020年2月(追加測定)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

8

実機調査編 pgbench初回測定◼ 参照系検証
READ (r5.2xlarge)
4000
3500
3000

TPS

2500
2000
1500
1000
500
0

1

41632

48

6480

96

Clients
Aurora(2x.large)

RDS(2x.large)

PGonEC2(2x.large)→インスタンスが小さい場合は、環境による性能影響はほぼなかった。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

9

実機調査編 pgbench初回測定◼ 更新系検証
WRITE (r5.2xlarge)
40000

TPS

30000

20000
10000
0141632486480

96

Clients
Aurora(2x.large)

RDS(2x.large)

PGonEC2(2x.large)→マネージドサービスの性能は低め。チェックポイントやmax_wal_size等のパラメタ設定ができないのが影響していると思われる。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.
10実機調査編 TPC-C初回測定◼
◼

r5.2xlarge(8vCPU、64GBメモリ)
AuroraとEC2は単調増加。RDSが伸び悩み。

TPM
250000TPM
接続数

EC2RDS

200000

Aurora

12366

3182

10355

419327

23865

46307

166453752535

11827332

10156040452

15239448122611

39913

18916064114559

50546

18397780

12466341782

21308896139174

42663

20857315000010000050000

0141632EC248RDS

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

6480

96

Aurora11

実機調査編 TPC-C初回測定◼
◼
◼

r5.12xlarge(48vCPU、384GBメモリ)
Auroraが圧倒的かつ単調増加。EC2/RDSはr5.2xlargeと変わらず。
後に、EC2/RDS面の不利な設定を確認(IOPS制限など)
TPM
600000500000TPM
接続数

EC2RDS

Aurora

12461

1850

14461

422827

13941

40782

166329954889

1833003261879

34536

312879

48

88981

31667

34104264

10751929640

4533268010634629932

5207429610334629640

5519304000003000002000001000000141632
EC248
RDSCopyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

6480

96

Aurora12

実機調査編 追加測定について◼ 2019年7月の測定について、EC2/RDS側に不利となっていた設定や測定条件などを見直し。2020年2月に再測定を実施。EC2/RDSが改善
TPM
600000TPC-C (r5.12xlarge)

500000EC2/RDS
再測定分

40000030000020000010000001416

EC232RDS48

AuroraEC2再6480

96

RDS再Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

13

まとめ◼ 机上調査編

PaaS型PostgreSQLの特性について

 コミュニティ版における設計/運用と比較して、基本的には極端な制限や制約、注意事項はないという印象 OSログインができない点で大きいのは監視系の構築。
AWSの機能をよく理解し活用するか、CloudWatchのエクスポートで自前のSWと連携する◼ 実機調査編

性能測定について EC2とRDSはIO面に気を配らないと特にIOPS制限で性能に大きく蓋がかかる(インスタンスサイズだけ大きくしても無意味)ため注意が必要。
 Auroraはそういったものに気を配らずに性能を出せ、かつバックアップ/HA面も盤石なのは素晴らしいと改めて実感
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

14

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

15