オンプレからクラウドまで
PostgreSQL高可用性選択のポイント！
2023年12月7日
db tech showcase 2023
SRA OSS LLC
佐藤 友章
sato@sraoss.co.jp© 2023 SRA OSS LLC

1

自己紹介
佐藤 友章 (さとう ともあき)• SRA OSSでデータベース事業の責任者を務める• 今でもエンジニアとしてPostgreSQLのサポートやトレーニング、コンサルに携わる• PostgreSQLとの出会いは大学院時代• 趣味はお酒と海外旅行© 2023 SRA OSS LLC

2

会社紹介
SRA OSS LLC• 事業内容• 所在地: 東京都豊島区南池袋• 設立日: 2022年6月27日• 出資: SRA OSS, Inc.
• 資本金: 7,000万円• 社長: 稲葉 香理• 顧問: 石井 達夫• 技術顧問: 増永 良文

PostgreSQL
サポート開始1999

SRA OSS, Inc.
設立

2003

PowerGres
販売開始2005• オープンソースソフトウェア (OSS)
関連のサポート、コンサル・構築、製品開発・販売• OSSの教育、開発、コミュニティ運営• ソフトウェアの研究開発

Sylpheed Pro
販売開始

2007

libTextConv
販売開始

2009

Hinemos/Zabbix
サポート開始2011

2012

OSS包括サポート開始© 2023 SRA OSS LLC

2014

Premija Viewer
販売開始

SRA OSS LLC
設立

2018

2022

Pgpool-II単体サポート開始

3

PostgreSQLとは• リレーショナルデータベース管理システム (RDBMS)• ポストグレス・キュー・エル、または単にポストグレスと呼ぶ• 無償で使え、商用に劣らぬ機能・性能を備える
開発体制

コアチーム
41名

メジャー
コントリビュータ
コントリビュータ• Peter Eisentraut (EDB)• Andres Fraud (Microsoft)• Magnus Hagander(Redpill Linpro)• Jonathan Katz (AWS)• Tom Lane (Crunchy Data)• Bruce Momjian (EDB)• Dave Page (EDB)

支援企業 (主要スポンサー)• Tatsuo Ishii (SRA OSS)
• Yugo Nagata (SRA OSS)
他92名

開発コミュニティ© 2023 SRA OSS LLC

4

PostgreSQLにおいて高可用性とは© 2023 SRA OSS LLC

5

可用性とは• システムがいかに稼働し続けられるか？
• 一定時間に占める稼働時間の割合 = 稼働率で表す
停止時間
36.5日

稼働率

稼働率90%

稼働時間
328.5日年間停止時間低90%

36日12時間

99%
99.9%

3日15時間36分 可用
8時間46分 性

99.99%

52分34秒

99.999%

5分15秒© 2023 SRA OSS LLC

高6

RPO/RTOとはシステムのデータ消失、停止時間をどこまで許すか？
RPO

RTO

(目標復旧時点)(目標復旧時間)

1日前

1時間後
障害バックアップ
データ消失

停止時間
リカバリ

© 2023 SRA OSS LLC

7

PostgreSQLの高可用性方式
稼働率99.9%以上は停電対策、24時間監視が必要
バックアップ

停電対策

24時間
監視

レプリケーション• 論理バックアップ• 物理バックアップ• WALアーカイブ

フェイルオーバ• HAクラスタソフト• PostgreSQL関連ソフト• マネージドサービス

分散データベース• ストリーミング
レプリケーション• 論理レプリケーション

稼働率 90%99%

99.9%© 2023 SRA OSS LLC

99.99%

99.999%8

PostgreSQLのバックアップ方式
論理バックアップ

物理バックアップ• pg_basebackup• pg_backup_start/stop + tar等
• サーバ停止 + tar等

• pg_dump• pg_dumpall

SQL

稼働率 90～99%

WALアーカイブ
データ更新

アーカイブWAL

データ
消失

多い

多い

少ない(～数時間)(～数時間)

(～数分)

復旧時間

長い

短い

短い + α

ディスク
使用量

小さい

大きい

大きい + α

運用
しやすさ

やさしい

やさしい

やや難しい

© 2023 SRA OSS LLC

9

PostgreSQLのレプリケーション方式
ストリーミングレプリケーション
参照・更新

論理レプリケーション

参照のみ参照・更新

参照・更新

WAL
デコード 変更
情報

WAL
レコード

プライマリ

稼働率 99～99.9%

スタンバイ

パブリッシャ

同じメジャーバージョン・プラットフォーム間

サブスクライバ

異なるメジャーバージョン・プラットフォーム間

高可用性や負荷分散が目的であれば、ストリーミングレプリケーション
データ移行やデータ集約、部分的なデータ共有が目的であれば、論理レプリケーション© 2023 SRA OSS LLC

10

PostgreSQLレプリケーションの同期モード
同期、完全同期はデータ消失なし
1. データ更新

5. WAL適用

3. WAL転送

2. WAL書き込み

同期モード(synchronous_commit)(off)

ローカルでWAL書き込みを待たない(local)

ローカルでWAL書き込みを待つ

非同期

4. WAL書き込み© 2023 SRA OSS LLC

動作

準同期(remote_write)

リモートへのWAL転送を待つ

同期(on)

リモートでWAL書き込みを待つ

完全同期(remote_apply)

リモートでWAL適用を待つ

低高信
頼性性高低

11

能HAクラスタソフト

稼働率 99.99%

PostgreSQL以外にも対応、障害を検知したらフェイルオーバ
透過的接続方式
仮想IP

Elastic IP

オンプレ

仮想IP
HAクラスタ
ソフト

ルート
テーブル

ハートビートPostgreSQL

HAクラスタソフト

PostgreSQL

クラウド(AWS)

データ引き継ぎ方式
共有
ディスク

共有
ディスク

ディスク
ミラーリングオンプレ
クラウド(AWS)© 2023 SRA OSS LLC

12

PostgreSQL関連ソフト

稼働率 99.99%

PostgreSQLにフェイルオーバや負荷分散の機能を付加
Pgpool-IIの場合参照

フェイルオーバ

更新

コネクションプール

Pgpool-II

仮想IP
Pgpool-II

負荷分散ウォッチドッグ

Pgpool-II

repmgrPatroni

PostgreSQL

PostgreSQL
ストリーミング
レプリケーション

HAProxy
PgBouncer© 2023 SRA OSS LLC

13

HAクラスタソフト vs PostgreSQL関連ソフト
HAクラスタソフト

PostgreSQL関連ソフト

機能の豊富さ• 機能はフェイルオーバのみ、関連ソ
フトとの組み合わせは可• スタンバイの役割は待機のみ• フェイルオーバ以外にも負荷分散やコネクションプールの機能あり

対応範囲の広さ• PostgreSQL以外にも対応• PostgreSQLのみに対応• サーバ切り替えが容易• Pgpool-II以外は複数ソフトの組み合わせが必要• 構築・運用がやや複雑

管理の手軽さフェイルオーバのみが必要か、PostgreSQL以外も対象であれば、HAクラスタソフト
フェイルオーバ以外に負荷分散やコネクションプールも必要であれば、PostgreSQL関連ソフト© 2023 SRA OSS LLC

14

マネージドサービス

稼働率 99.99%• サーバ管理を自動化してくれるサービス• 自動化の範囲が広いものをとくにフルマネージドと呼ぶ
Amazon RDSの場合自動アップデート

マルチAZ

リードレプリカ

同期レプリケーション

M

自動バックアップ

マルチAZ配置

非同期レプリケーション

リードレプリカR

データ暗号化S

アクセス制御RAZ© 2023 SRA OSS LLC

R

R
AZ

15

非マネージドサービス vs マネージドサービス
非マネージドサービス

管理の手軽さ自由度の高さマネージドサービス• 構築・運用が基本的に手動、フェイルオーバは自動• 構築が簡単• 運用がほぼ自動• Webブラウザで管理できる• 使える機能に制限がない• サポートが終了したバージョンでも使い続けられる• 自動バックアップは最新状態まで復旧できない• リードレプリカは非同期レプリケー
ションのみ対応• 一部の拡張しか使えない

既存システムの移行であれば、非マネージドサービス
新規システム、かつ人的リソースを削減したければ、マネージドサービス© 2023 SRA OSS LLC

16

分散データベース

稼働率 99.999%

マルチマスタ、サーバ切り替え不要で停止時間なしYugabyteDBの場合
スマート
ドライバ

PostgreSQL互換
分散データベース

クエリレイヤクエリレイヤクエリレイヤ

ストレージ
レイヤ

ストレージ
レイヤ

ストレージ
レイヤ

• YugabyteDB• Google Spanner• EDB Postgres Distributed(旧Postgres-BDR)

PostgreSQLとの非互換性
性能特性の違いに注意© 2023 SRA OSS LLC

17

PostgreSQL関連製品・サービスの紹介© 2023 SRA OSS LLC

18

PowerGresファミリー

詳細• パワーグレスと読む• SRA OSSが開発・販売するPostgreSQLベースのデータベース製品• ライセンス出荷は累積15,000本以上

信頼性とセキュリティ

高可用性

WAL
二重化
使いやすさと安心

透過的データ暗号化

PostgreSQL

GUI管理
ツール

サポート

RHELやCentOS、Rocky Linux、AlmaLinuxに加え、Amazon Linuxにも対応
AWSでLifeKeeperを使ったHAクラスタ構築手順も公開© 2023 SRA OSS LLC

19

PostgreSQL/PowerGresサポート&保守

詳細PostgreSQL/PowerGresを使う上での技術支援を提供
ヘルプデスク情報配信

以下に関する問い合わせに対応

リリース・関連ソフト情報をメールで配信

データベースサーバ本体 (インストール、設定、使い方、ソースコード解析、データベース設計、性能チューニング)、contribモジュール、サードパーティソフト、データベース接続API、クラスタソフト

ナレッジベース
よくある質問と回答を検索・参照可能

障害対応

アップデート提供

障害原因を調査し、復旧・回避方法を提示

PowerGresの場合にアップデートを提供

24時間365日、リリースから10年のサポートも提供
Amazon RDS/Auroraにも対応、他マネージドサービスも応相談© 2023 SRA OSS LLC

20

YugabyteDBコンサルティングサービス

詳細• Yugabyte社とパートナーシップを締結• アセスメント/PoCから導入、運用まで、YugabyteDBの利用をトータルに支援
アセスメントPoC

導入• 費用見積もり• ヒアリング• 機能・性能検証• レポート作成• 設計• 構築• データ移行• 動作テスト© 2023 SRA OSS LLC

運用• フルマネージド or
運用自動化機能付き
セルフマネージド• 24時間サポート

21

www.sraoss.co.jp

sales@sraoss.co.jp© 2023 SRA OSS LLC

03-5979-2701
22

アンケートご協力のお願い
今後のPostgreSQL関連製品・サービス改善、イベント企画のため、本講演やPostgreSQL検討・使用状況について、アンケートにご協力をお願いします。

アンケート回答後、本資料をダウンロードできます。

https://questant.jp/q/4FYTC3SB© 2023 SRA OSS LLC

回答期日: 12月12日 (火) 12時まで
所用時間: 5分程度
23