PostgreSQL9.0の安定性と高い可用性を実証 アシストによるPostgreSQL検証セミナーレポート

2011年4月1日(金)

専用ミドルウエアと標準機能によるレプリケーション構成は十分な可用性を持つ

続く「PostgreSQLでの高可用性データベース・システム構築手法とは?」と題されたセッションでは、PostgreSQLで可用性を高めるためのさまざまな構成についての説明と、性能評価や障害検証結果が発表された。

登壇者 株式会社アシスト データ基盤ソフトウェア事業部 佐々木美江氏

登壇者
株式会社アシスト データ基盤ソフトウェア事業部 佐々木美江氏

可用性を実現する構成のひとつに、「CLUSTERPRO」「LifeKeeper」といった3rdベンダー製のクラスタソフトウエアを利用したActive/Stanbyのクラスタ構成がある。クラスタソフトウエアが監視を行い、Active側のノード障害時にはStanby側のノードに自動切換えを行う、共有ディスクタイプのHA構成だ。

PostgreSQL専用ミドルウエアの『pgpool-Ⅱ』を使用すると、マルチマスターレプリケーション構成が可能となる。負荷分散による検索性能向上とともに、いずれかのデータベースに障害が発生した場合、pgpool-Ⅱが自動的に切り離しを行うため、運用を継続できるという特長がある。

バージョン9.0から加わった「HOT Standby(HS)」機能では、スタンバイ側への参照が可能となった。これにより、集計処理などの重いクエリを実行でき、負荷の低減も可能。ただし、データ同期にタイムラグが生じたり、データの損失や自動検知/フェイルオーバーの作り込みなどの課題が残る。バージョン9.0のもうひとつの新機能である「StreamingReplication」(SR)は、ファイル単位ではなく、操作単位による同期転送が可能。データ同期のタイムラグが少なく、複数のスレーブサイトが構築可能といったメリットがあるものの、スレーブサイトへのアクセスができない、テーブル単位やデータベース単位でのレプリケーションが不可能といった課題がある。

HS+SRを組み合わせた構成も可能で、これはOracleの「Active Data Guard」に相当する。さらにpgpool-Ⅱを加えたHS+SR+pgpool-Ⅱ構成であれば、自動フェイルオーバーも可能となる。

図:pgpool-Ⅱが障害を検知し、スレーブサイトをリストアし、マスターサイトとして認識する。

図:pgpool-Ⅱが障害を検知し、スレーブサイトをリストアし、マスターサイトとして認識する。(クリックで拡大)

各種可用性構成の説明のあと、コールセンターの疑似アプリケーションを使った処理性能検証結果が発表された。シングル+アーカイブ運用と HS+SR環境下におけるTPS比較結果では、同時セッション数が増えた場合でもマスターからの転送処理によるオーバーヘッドが小さいことが確認された。加えて、HS+SR+pgpool-Ⅱ構成における負荷分散効果も確認できた。ただし、データ同期の遅延の影響で、スレーブサイトへの参照処理がキャンセルされる現象が見られた。この問題は、WAL適用を遅延させるといったチューニングをスレーブ側に施すことで発生を抑えることができるとした。

図:シングル+アーカイブ運用とHS+SR環境下におけるTPSを比較、wal_sender_delayの設定値の違いによる転送遅延サイズを比較。HS+SRでのTPSは、シングル+アーカイブ運用とほぼ同等で、WALの転送によるオーバーヘッドは小さいこと、wal_sender_delayの値が小さいほどWALの転送遅延サイズは小さいことを確認。

図:シングル+アーカイブ運用とHS+SR環境下におけるTPSを比較、wal_sender_delayの設定値の違いによる転送遅延サイズを比較。HS+SRでのTPSは、シングル+アーカイブ運用とほぼ同等で、WALの転送によるオーバーヘッドは小さいこと、wal_sender_delayの値が小さいほどWALの転送遅延サイズは小さいことを確認。(クリックで拡大)

このほか、HS+SR+pgpool-Ⅱ構成におけるインスタンス障害、メディア障害、ノード障害、スレーブサイト障害のフェイルオーバー時間の検証結果も発表された。また、同構成にインターコネクト・ネットワーク障害時やパブリック・ネットワーク障害時における、クライアント・pgpool-Ⅱ・マスターサイト・スレーブサイトの各種挙動解説も行われ、結論として可用性の条件を十分満たしているとした。ただし、データ転送遅延課題は少なからず残るため、更新頻度が高く、データロスが許されないシステムへは、次期バージョンの9.1で実装される同期レプリケーションが期待されるとし、セッションを終えた。

技術と実検証に、受講者も高い評価をつける

セミナー受講者77名中74名がアンケートに回答。各セッションの10段階評価の平均値はそれぞれ7.9、7.8と良好で、「説明が丁寧でわかりやすかった」「性能や高い可用性は理解できた」「資料が丁寧に作られていて感心した」「実評価検証が参考になった」「もう少し詳しく聞きたい」「技術中心で良かった」といった意見が寄せられた。

今回のセミナーで性能と可用性が証明されたPostgreSQL9.0。アシストでは、今後も積極的にPostgreSQLに関する各種サポート事業を展開していく。今回のようなセミナーで紹介する実検証には、社内に専用のチームが組織されるという。時期バージョンである9.1公開後の検証にも期待したい。

アシストのPostgreSQLのページ
http://www.ashisuto.co.jp/prod/postgresql/index.html

ご好評につき『午前の部』追加開催決定!!
 PostgreSQL検証報告セミナー(名古屋開催)
https://www.ashisuto.jp/seminar/?id=5875

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています