PR

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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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