PostgreSQL
信頼性・性能向上ソリューションの紹介
SRA OSS, Inc. 日本支社
佐藤 友章
sato@sraoss.co.jp
Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

1

PITR構成
 データの更新によって発生した差分を保存し、障害の発生時には差分を適用して直近の状態まで復旧
データの更新リカバリ処理障害PostgreSQL
スナップ
ショットの保存

差分の保存
スナップ
ショットのリストア

差分の適用

時系列
Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

2

PITR構成

メリットとデメリット
 メリット 特別なハードウェアが必要ない
 PostgreSQL自体の機能のみ、かつ、1台のサーバのみで実現できる デメリット 保存前の差分が消失する可能性がある
 手動で障害を監視して復旧する必要がある 復旧（すべての差分を適用する）までに時間がかかる
 復旧の手順が煩雑
 PowerGresの管理ツールを使えば簡単Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

3

ウォームスタンバイ構成
 データの更新によって発生した差分をスタンバイサーバに転送し、差分を適用してスタンバイサーバを直近の状態に維持 障害の発生時にはスタンバイサーバに切り替えて復旧
時系列

データの更新障害
プライマリサーバ

PostgreSQL
スナップ
ショットの転送

スタンバイサーバ

差分の転送・適用

PostgreSQL
リカバリ処理サーバの切り替え

ウォームスタンバイ構成

メリットとデメリット
 メリット 特別なハードウェアが必要ない
 PostgreSQL自体の機能のみで実現できる デメリット スタンバイサーバへの転送前の差分は消失してしまう 障害の検知とスタンバイサーバへの切り替えを自動的に行
うには作り込みやpgpool-IIとの組み合わせが必要

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

5

フォールトトレラントサーバ構成
 Strutus社のftServerなどによるフォールトトレラン
ト（無停止）サーバ構成
 CPUやメモリ、ディスクを二重化し、ハードウェアに障害が発生した場合には切り離してサービスを継続
PostgreSQL
ftServerCPU
障害CPUディスクメモリ

ディスクメモリ

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

6

フォールトトレラントサーバ構成

メリットデメリット
 メリット ハードウェアに障害が発生してもまったく停止しない 障害の発生時にわずかに遅延が発生

 移行時にアプリケーションを修正する必要がない デメリット PostgreSQL自体の障害には対応できない
 HAクラスタソフトウェアと組み合わせればハードウェア以外の障害にも対応できる

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

7

HAクラスタ（共有ディスク）構成
 HeartbeatなどによるHA（高可用性）クラスタ構成
 サービスの状態を監視して障害を検知すると、スタンバイサーバへ自動的にサービスを切り替え（フェイルオーバ）

 スタンバイサーバへのデータの引き継ぎには共有ディスクを使用
フェイルオーバ

障害HeartbeatHeartbeatPostgreSQL

PostgreSQL

プライマリサーバ

共有
ディスク

スタンバイサーバ

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

8

HAクラスタ（共有ディスク）構成

メリットとデメリット

 メリット 停止時間が短い（数分程度）
 移行時にアプリケーションを修正する必要がなく、性能への影響もない OSやネットワークの障害にも対応できる デメリット 高価な共有ディスクが必要となる

HAクラスタ（DRBD）構成 HeartbeatによるHAクラスタ構成
 スタンバイサーバへのデータの引き継ぎにはDRBD
を使用
フェイルオーバ

障害

HeartbeatHeartbeatPostgreSQL

PostgreSQL

ディスク

プライマリサーバ

レプリケーションディスク

スタンバイサーバ10

HAクラスタ（DRBD）構成

メリットとデメリット

 メリット 停止時間が短い（数秒程度）
 移行時にアプリケーションを修正する必要がない
 OSやネットワークの障害にも対応できる デメリット データレプリケーションのオーバヘッドによって更新性能が低下

pgpool-II構成
 pgpool-IIによる同期レプリケーション構成
 pgpool-IIがSQLを受け取り、更新はすべてのノードで実行してレプリケーション、検索は振り分けてロードバランス
 障害の発生時にはノードを切り離してサービスを継続
ノードの切り離しレプリケーション
データの更新pgpool-II

PostgreSQL障害
ノード1

PostgreSQL
ノード2

12

pgpool-II構成

メリットとデメリット
 メリット 停止時間が短い ノードの切り離し時にはデータベースへの再接続が必要 コネクションプールやロードバランスの機能によって検索性能が向上

 デメリット レプリケーションのオーバヘッドによって更新性能が低下
 ノード数に係わらず性能低下は理論的には最大50%まで

 pgpool-IIに障害が発生するとシステム全体が停止
 pgpool-HAによってpgpool-IIを冗長化すれば対応できる
Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

13

Slony-I構成
 Slony-Iによる非同期レプリケーション構成
 1つのマスタのみがデータの更新を受け付け、トリガによって差分を保存し、slonが複数のスレーブに差分を転送してレプリケーション
トリガの実行
データの更新slon

PostgreSQL
マスタ
PostgreSQL障害

レプ
ノードの切り離し リケーショ
ン
slon

スレーブ
14

Slony-I構成

メリットとデメリット
 メリット 検索を複数のノードに振り分けて性能を向上できる
 検索を振り分けるには、アプリケーションを作り込んだり、pgpoolIIと組み合わせたりする必要がある デメリット マスタのみしかデータの更新を受け付けられず、マスタに障害が発生した場合には手動で切り替える必要がある
 pgpool-IIによってマスタの切り替えを自動化できるが、スレーブにレプリケーションされていないデータは消失してしまう ノード間に更新の遅延が発生する
Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

15信頼性・性能向上ソリューションの比較
HAクラスタ
共有
ディスク

DRBD

フォールト
トレラント
サーバ

停止時間の短さ※○○－△×○△

データの消失しにくさ

△○○

××○

×

検索性能

○○○○○

◎◎

更新性能

○×△

△

△×△

移行しやすさ

○

○

○

○

○

××

ウォーム
スタンバイ

PITRpgpool-II

Slony-I※データベースの停止時間

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

16

PostgreSQL Conference 2009 Japan
JPUG 10th Anniversary Conference PostgreSQLに関する日本国内最大のイベント
 11月20日、21日の2日間に渡ってAP浜松町で開催
 JPUGの設立10周年を記念し、海外からの講演者も多数招いた国際カンファレンス（コアメンバーもくるよ）
 ローソンチケットでチケットを販売中！

 SRA OSSもプラチナスポンサーとして協賛
 pgpool-IIやWindows対応に関する講演もやります
Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

17その他のPostgreSQL関連イベント
 11月27日にRDB入門セミナーを開催（無料） 毎月PostgreSQLのトレーニングを開催
 PostgreSQLを使ったことのない初心者向けから、チューニングや運用を取り扱った中上級者向けのコースまで
 12月の開催までPostgreSQL CE対応コースで受験チケット無料進呈キャンペーンを実施中！

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

18

ありがとうございました

Copyright © 2009 SRA OSS, Inc. Japan All rights reserved.

19