8
WALFujii Masao (@fujii_masao)

WAL圧縮

Embed Size (px)

DESCRIPTION

Talked at #pgunconf https://atnd.org/events/54447

Citation preview

Page 1: WAL圧縮

WAL圧縮

Fujii Masao (@fujii_masao)

Page 2: WAL圧縮

PostgreSQL9.5に提案中の

WAL圧縮機能

について紹介します

Page 3: WAL圧縮

WAL圧縮機能とは

WALを圧縮してから書くことで

 WALサイズを小さくして

 更新性能を向上させる機能

Page 4: WAL圧縮

WAL圧縮の効果

圧縮方法 レスポンス[ms] WALサイズ[MB]

圧縮なし 55.3 6051.0pglz 45.0 3543.0lz4 44.2 3344.0snappy 43.4 3354.0fpw=off 19.1 202.0

pgbench -i -s 1000ALTER TABLE pgbench_accounts ALTER COLUMN fller TYPE text USING gen_random_uuid()::text;

pgbench -c 64 -j 64 -r -R 400 -T 900 -M preparedcheckpoint_timeout = 5min

Page 5: WAL圧縮

WAL圧縮の効果

圧縮方法 スループット[tps] WALサイズ[MB]

圧縮なし 891.8 7675.5pglz 1037.2 5492.0lz4 1084.7 5494.5snappy 1058.4 5667.0fpw=off 2162.6 948.0

pgbench -i -s 1000ALTER TABLE pgbench_accounts ALTER COLUMN fller TYPE text USING gen_random_uuid()::text;

pgbench -c 64 -j 64 -r -T 900 -M preparedcheckpoint_timeout = 5min

Page 6: WAL圧縮

レプリ構成だと効果絶大

WAL WAL

MASTER STANDBY

Page 7: WAL圧縮

パッチのステータス

 性能検証用パッチを開発済

 議論中の話題 ・どの圧縮アルゴリズムを採用する? ・圧縮対象データをどう切り出す?

 道のり長い ・圧縮アルゴリズム自体のパッチを採用 ・WAL圧縮のパッチ、展開側のパッチ ・pg_xlogdump対応など

Page 8: WAL圧縮

他のPG9.5向け提案

   スタンバイ側でのWALアーカイブ

   即時マスタ昇格

   最新Txのコミット時刻を返却する関数