Pgpool-IIの紹介紹介～誕生からから17年目を迎えたを迎えた迎えたえたPgpool-IIの紹介過去、現在、未来について～について～

2021/1/19
SRA OSS, Inc. 日本支社
石井 達夫

本日の紹介アジェンダ
Pgpool-IIの紹介生からい立ちち●
Pgpool-IIの紹介現在●
Pgpool-IIの紹介将来について～●

2Copyright(c) 2021 SRA OSS, Inc. Japan

自己紹介
●

石井達夫
SRA OSS, Inc.日本支社で経営者兼経営者兼OSS開発者を迎えたしています●Pgpool-IIの紹介開発者、PostgreSQLコミッタ●
趣味は音楽鑑賞、は音楽鑑賞、音楽鑑賞、SF、下手な料理な料理料理●

2018年PGConf.EU開催地ポルトガルにてポルトガルにて

3

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介生からい立ちち

4

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpoolの紹介誕生から2003年PostgreSQL用のコネクションプーリングソの紹介コネクションプーリングソ
フトとして公開として公開●
フェイルオーバー機能も同時に実装も同時に実装同時に実装に実装●
バックアップ用のコネクションプーリングソの紹介PostgreSQLサーバの紹介指定も可能も同時に実装可能も同時に実装●

5Copyright(c) 2021 SRA OSS, Inc. Japan

レプリケーションの紹介実装
2004年現在の紹介「ネィティブレプリケーションモード」ネィティブレプリケーションモード」」に相当する機能を実装する機能を実装機能も同時に実装を迎えた実装●
サーバは音楽鑑賞、2台までまで経営者兼●6Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介誕生から(2006)
個人プロジェクトからプロジェクトとして公開からOSSプロジェクトとして公開へ●
サーバ台まで数の制限を撤廃の紹介制限を撤廃を迎えた撤廃●
SQLパーサを迎えた搭載●
現在の紹介Pgpool-IIの紹介基礎●

7Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-II 3.0 (2010)●

ストとして公開リーミングレプリケーションへの紹介対応

8Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-II 3.2 (2012)●

Watchdogの紹介実装●

単一障害点の解消の紹介解消

9Copyright(c) 2021 SRA OSS, Inc. Japan

Amazon Auroraへの紹介対応(2017)
Pgpool-IIは音楽鑑賞、負荷分散を担当を迎えた担当する機能を実装●
フェイルオーバーは音楽鑑賞、Auroraに任せるせる機能を実装●

10Copyright(c) 2021 SRA OSS, Inc. Japan

その紹介後のの紹介Pgpool-II●

2018年 Pgpool-II 4.0リリース
SCRAM認証、証明書認証●
AES256形式のパスワードの紹介パスワード」●
負荷分散を担当方式のパスワードの紹介改良●
不正プライマリの検出プライマリの紹介検出●●

2019年 Pgpool-II 4.1リリース
文レベルの負荷分散レベルの紹介負荷分散を担当●
自動フェイルバックフェイルバック●共有リレーションキャッシュリレーションキャッシュ
●

11

●

2020年 Pgpool-II 4.2リリース
LDAP認証●
ログ収集プロセスプロセス●
ヘルスチェックとSQLの紹介統計情報●
pgpool.confの紹介記述のシンの紹介シン
プル化●
設定も可能ファイル、ド」キュメントとして公開、ソースコード」で経営者兼使用のコネクションプーリングソする機能を実装用のコネクションプーリングソ語を迎えた適切化●Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介現在

12

Copyright(c) 2021 SRA OSS, Inc. Japanそも同時に実装そも同時に実装な料理ぜクラスタは必要なの？クラスタは音楽鑑賞、必要なの？な料理の紹介？

X
複数ののPostgreSQL
を目的によってによって使い分けたいい分けたいけたい

13

Copyright(c) 2021 SRA OSS, Inc. Japan

1台しかいないしかいない
PostgreSQLがダウンしたらダウンしたらしたらシステム全体が全体ががダウンしたら止まってしまう！まってしまう！

1台しかいないの
PostgreSQL
では処理を処理ををさばききれないPgpool-IIの紹介コンセプトとして公開
ユーザから見て、なるべく複数から見て、なるべく複数て、な料理る機能を実装べく複数複数の制限を撤廃PostgreSQLによる機能を実装ク
ラスタを迎えた使っている機能を実装ことを迎えた意識させたくないさせたく複数な料理い✔
シングルPostgreSQL用のコネクションプーリングソの紹介アプリケーションがな料理る機能を実装
べく複数変更なしにな料理しに複数の制限を撤廃PostgreSQLによる機能を実装クラスタを迎えた使う環境に移行できるようにしたい環境に移行できるようにしたいに移行できるようにしたいで経営者兼きる機能を実装よう環境に移行できるようにしたいにしたい✔

14

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装
アプリの自動振り分けケーションしたら修正の最小化の最小化
負荷分けたい散
クエリの自動振り分けの自動振り分けり分け分けたいけ

コネクションしたらプーリの自動振り分けンしたらグ可用性向上

自動フェイルオーバ

Pgpool-II

Watchdog

クエリの自動振り分けキャッシュ

性能向上

検索性能向上15

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介構造
ヘルス
チェック

VIP

プロトコル
処理をSQLパーサ

コネクションしたら管理をクエリの自動振り分け
キャッシュ

クエリの自動振り分け
振り分けり分け分けたいけ
エンしたらジンしたら

プロトコル
処理を

Watchdog
相互監視

16

Copyright(c) 2021 SRA OSS, Inc. Japan

死活監視

Pgpool-IIの紹介機能も同時に実装：
クエリの紹介振り分けり分け分け
プライマリの自動振り分け

スタンしたらバイ

本日主にに取り上げるのはり分け上げるのは処理をこちら
ストリの自動振り分けーミンしたらグレプリの自動振り分けケーションしたらモード
更新クエリをクエリの自動振り分けをプライマリの自動振り分けにのみ投げるげる

メインしたらレプリの自動振り分けカ
17

Copyright(c) 2021 SRA OSS, Inc. Japan

ネィティブ
レプリの自動振り分けケーションしたらモード、SIモード更新クエリをクエリの自動振り分けを両方に投げるに投げるげるPgpool-IIの紹介機能も同時に実装：クエリの紹介振り分けり分け分け●

Pgpool-IIを迎えた使いたい最大の理由がクエリの振り分けの紹介理由がクエリの振り分けがクエリの紹介振り分けり分け分け
他のソフトでは実現できないの紹介ソフトとして公開で経営者兼は音楽鑑賞、実現で経営者兼きな料理いPgpool-IIだけの紹介強みみ●スタンバイに投げてはいけないクエリをプライマリにのみ投げるげては音楽鑑賞、いけな料理いクエリを迎えたプライマリにの紹介み投げてはいけないクエリをプライマリにのみ投げるげる機能を実装●

更なしに新クエリクエリ– 強みいロック– シリアライザから見て、なるべく複数ブルトとして公開ランザから見て、なるべく複数クション– その紹介他のソフトでは実現できない–

それ以外のクエリはスタンバイに投げる以外のクエリはスタンバイに投げるの紹介クエリは音楽鑑賞、スタンバイに投げてはいけないクエリをプライマリにのみ投げるげる機能を実装●
クエリ振り分けり分け分けの紹介メリットとして公開●

シングルPostgreSQL用のコネクションプーリングソの紹介アプリケーションを迎えたストとして公開リーミングレプリケーション環境に移行できるようにしたいに
その紹介まま移行できるようにしたいで経営者兼きる機能を実装– スタンバイの紹介リソースを迎えた有リレーションキャッシュ効活用のコネクションプーリングソで経営者兼きる機能を実装– プライマリサーバの紹介負担を迎えた軽減するする機能を実装–

18

Copyright(c) 2021 SRA OSS, Inc. Japanクエリの紹介振り分けり分け分けの紹介設定も可能●

負荷分散を担当の紹介重み付けが設定可能み付けが設定可能けが設定も可能可能も同時に実装
backend_weight0 = 0.5●
backend_weight1 = 0.5●

更新クエリをクエリの自動振り分け

参照クエリはクエリの自動振り分けは処理を同じ確率でじ確率で確率ででそれぞれのサーバに送信
19

Copyright(c) 2021 SRA OSS, Inc. Japan

プライマリの自動振り分け

スタンしたらバイクエリの紹介振り分けり分け分けの紹介設定も可能●

プライマリサーバを迎えた更なしに新クエリ処理に専念させ、負荷を下させ、負荷を迎えた下げる機能を実装設定も可能の紹介例
backend_weight0 = 0.0●
backend_weight1 = 1.0●

更新クエリをクエリの自動振り分け

参照クエリはクエリの自動振り分けは処理をスタンしたらバイにのみ送信
20

Copyright(c) 2021 SRA OSS, Inc. Japan

プライマリの自動振り分け

スタンしたらバイその紹介他のソフトでは実現できないの紹介クエリ振り分けり分け分けの紹介設定も可能●

statement_level_load_balance●●

database_redirect_preference_list●●

データベース名によってクエリの振り分け先を決定によってクエリの紹介振り分けり分け分け先を決定を迎えた決定も可能

database_redirect_preference_list●●

クエリの紹介振り分けり分け分けを迎えたセッション単位ではなく、で経営者兼は音楽鑑賞、な料理く複数、SQL文レベルの負荷分散単位ではなく、で経営者兼決定も可能

アプリケーション名によってクエリの振り分け先を決定によってクエリの紹介振り分けり分け分け先を決定を迎えた決定も可能

disable_load_balance_on_write●

トとして公開ランザから見て、なるべく複数クション内のクエリの振り分けの挙動を制御の紹介クエリの紹介振り分けり分け分けの紹介挙動フェイルバックを迎えた制御
21

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装：ヘルスチェック
定も可能期的ににPostgreSQLに接続し、し、PostgreSQLが正プライマリの検出
常に稼働しているかどうかを確認に稼働しているかどうかを確認している機能を実装かどう環境に移行できるようにしたいかを迎えた確認●
接続し、がで経営者兼きな料理けれ以外のクエリはスタンバイに投げるば自動的にそのサーバを切り離自動フェイルバック的ににその紹介サーバを迎えた切り分け離すリクエストとして公開を迎えた出す（次のスライド）次のスライド）の紹介スライド」）●

X
22

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装：自動フェイルバックフェイルオーバ●

PostgreSQLサーバがダウンしたらその紹介サーバを迎えた切り分け離し、残りのサーバで処理を継続り分けの紹介サーバで経営者兼処理を迎えた継続し、定も可能期的ににヘルスチェックプロセスがPostgreSQLサーバと通信ができるかどうかを確認がで経営者兼きる機能を実装かどう環境に移行できるようにしたいかを迎えた確認●通信ができるかどうかを確認がで経営者兼きな料理けれ以外のクエリはスタンバイに投げるば自動的にそのサーバを切り離自動フェイルバック的ににその紹介サーバを迎えた切り分け離す●

X23

自動フェイルオーバ

Copyright(c) 2021 SRA OSS, Inc. JapanX

Pgpool-IIの紹介機能も同時に実装：自動フェイルバックフェイルオーバ●

プライマリサーバがダウンした時に実装は音楽鑑賞、、スタンバイサーバを迎えた自動フェイルバック昇格して新しいプライマリサーバで処理をして新クエリしいプライマリサーバで経営者兼処理を迎えた
続し、行できるようにしたいする機能を実装●

昇格して新しいプライマリサーバで処理を処理を迎えた行できるようにしたいう環境に移行できるようにしたいカスタムスクリプトとして公開を迎えた指定も可能で経営者兼きる機能を実装

XX自動フェイルオーバ

24

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装: watchdog●

Pgpool-IIがダウンする機能を実装と、PostgreSQLにアクセスで経営者兼きな料理く複数な料理ってしまう環境に移行できるようにしたい（次のスライド）単一障害点の解消、SPOF: Singlepoint of failure)X
25

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装: watchdog
複数の制限を撤廃の紹介Pgpool-IIを迎えた用のコネクションプーリングソ意してお互いに監視し、相手がダウンしたとき互いに監視し、相手がダウンしたときいに監視し、相手がダウンしたときし、相手な料理がダウンしたときには音楽鑑賞、待機系のの紹介Pgpool-IIを迎えた昇格して新しいプライマリサーバで処理をして運用のコネクションプーリングソを迎えた継続し、する機能を実装●
Pgpool-IIへの紹介アクセスは音楽鑑賞、VIP経由がクエリの振り分けにして、クライアントとして公開側では同一で経営者兼は音楽鑑賞、同一IPで経営者兼アクセスし続し、けられ以外のクエリはスタンバイに投げるる機能を実装よう環境に移行できるようにしたいにする機能を実装●VIP26X

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装: watchdog
Pgpool-IIがお互いに監視し、相手がダウンしたとき互いに監視し、相手がダウンしたときいに相手な料理がダウンしている機能を実装と思ってしまう問題ってしまう環境に移行できるようにしたい問題(Split brain problem)の紹介解決●
Pgpool-IIを迎えた奇数の制限を撤廃台まで用のコネクションプーリングソ意する機能を実装ことによって、多数の制限を撤廃決で経営者兼どれ以外のクエリはスタンバイに投げるが本当する機能を実装にダウンしている機能を実装の紹介かを迎えた正プライマリの検出しく複数判断できるで経営者兼きる機能を実装●VIPXXXO O
27

Copyright(c) 2021 SRA OSS, Inc. JapanO

Pgpool-IIの紹介機能も同時に実装: watchdog
ヘルスチェックで経営者兼も同時に実装多数の制限を撤廃決の紹介原理を迎えた利用のコネクションプーリングソ●
局所的にな料理ネットとして公開ワーク障害による機能を実装障害誤検知を防止を迎えた防止●

X
局所的によってなネットワーク障害発生！
このPgpool-IIは処理をフェイルオーバを引き起こさないき起こさないこさない28

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装：
コネクションプーリング
PostgreSQLに限を撤廃らず、DBへの紹介接続し、が時に実装間がかかるがかかる機能を実装●
そこで経営者兼一度接続し、したDBへの紹介コネクションを迎えた取っておき、ってお互いに監視し、相手がダウンしたときき、条件が合えば再利用するが合えば再利用するえば自動的にそのサーバを切り離再利用のコネクションプーリングソする機能を実装●●

DB名によってクエリの振り分け先を決定、ユーザから見て、なるべく複数名によってクエリの振り分け先を決定が同じで経営者兼ある機能を実装こと

DB=db1,user=user1

DB=db1,user=user1がダウンしたらコネクションしたらキャッシュにあるので再利用！

DB=db1, user=user1
DB=db2, user=user2
DB=db3, user=user3
コネクションしたらキャッシュ
29

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介機能も同時に実装：クエリキャッシュ●

検索結果を共有メモリ（またはを迎えた共有リレーションキャッシュメモリ（次のスライド）または音楽鑑賞、memcached)に保存し、同じクエリ文字し、同じクエリ文レベルの負荷分散字列が送られてきたらが送られてきたらられ以外のクエリはスタンバイに投げるてきたら2回目を迎えた以降はキャッシュから結果を返すは音楽鑑賞、キャッシュから結果を共有メモリ（またはを迎えた返すす●SQLパーサを迎えた経由がクエリの振り分けせず、DBアクセスも同時に実装発生からしな料理いの紹介で経営者兼超高速キャッシュは音楽鑑賞、テーブルに変更なしにがあったらクリアされ以外のクエリはスタンバイに投げるる機能を実装●
更なしに新クエリの紹介多いシステムには音楽鑑賞、向かないかな料理い(キャッシュヒットとして公開率70%以上での利用で経営者兼の紹介利用のコネクションプーリングソを迎えた推奨)●

共有メモリの自動振り分け
30

memcached

Copyright(c) 2021 SRA OSS, Inc. Japanクエリキャッシュヒットとして公開率の紹介確認
show pool_cache;-[ RECORD 1 ]---------------+--------num_cache_hits| 891703
num_selects| 99995
cache_hit_ratio| 0.90num_hash_entries| 131072
used_hash_entries| 99992
num_cache_entries| 99992
used_cache_enrties_size| 12482600
free_cache_entries_size| 54626264
fragment_cache_entries_size | 0

31

Copyright(c) 2021 SRA OSS, Inc. Japan

Pgpool-IIの紹介将来について～32

Copyright(c) 2021 SRA OSS, Inc. Japan今後のの紹介計画●

統合えば再利用するPostgreSQLクラスタ管理ツールを迎えた目を迎えた指す●より分け使いやすく複数–●設定も可能ファイルを迎えた簡素化してインストとして公開ールを迎えた容易ににより分け管理しやすく複数
統計データの紹介取っておき、得をより充実を迎えたより分け充実– ログを迎えた見て、なるべく複数な料理く複数ても同時に実装管理者が取っておき、る機能を実装べき次のスライド）の紹介アクションを迎えた判断できるで経営者兼きる機能を実装の紹介が理想–●クラウド」・コンテナ対応対応–●

Kubernetes対応

次のスライド）世代高信ができるかどうかを確認頼性クラスタクラスタ
スナ対応ップショットとして公開アイソレーションモード」の紹介改良– 高速フェイルオーバ– 高度な料理データ一貫性クラスタ–

33

Copyright(c) 2021 SRA OSS, Inc. Japan

参考URLな料理ど●

Pgpool-II公式のパスワードサイトとして公開●●

Pgpool-II on Kubernetes●●

https://github.com/pgpool/pgpool2_on_k8s

Pgpool-II Prometheus exporter●●

https://pgpool.net

https://github.com/pgpool/pgpool2_exporter

SRA OSS技術ブログブログ●

https://www.sraoss.co.jp/tech-blog/category/
pgpool/34

Copyright(c) 2021 SRA OSS, Inc. Japan

まとめ
Pgpool-IIの紹介生からい立ちち、現在そして将来について～について説明しました●
Pgpool-IIは音楽鑑賞、総合えば再利用する
PostgreSQLクラスタ管理
ツールを迎えた目を迎えた指して改良を迎えた
続し、けていきます●
他のソフトでは実現できないにも同時に実装豊富な機能が盛りな料理機能も同時に実装が盛りり分け
沢山なので、是非参考リンな料理の紹介で経営者兼、是非参考リン
クからマニュアルやブログ記事をご覧くださいを迎えたご覧ください覧くださいく複数ださい●35

Copyright(c) 2021 SRA OSS, Inc. Japan