メールマガジン

PostgreSQLレプリケーションの評価

今月の気になるオープンソース情報(2013年7月号)

フロンティア開発部 米山陽介

PostgreSQLのレプリケーションの質問を受けることが多くあります。そこで、より幅広いサービスを提供する目的で、デージーネットにてPostgreSQL9のレプリケーションの検証を行いました。

検証の環境としては以下としました。
OSバージョン           : CentOS6.3
ソフトウェアバージョン: postgresqlは9.2.2
検証方法                : pgbench(postgreSQLのベンチマークツール)
方式                       : streamingレプリケーション, pgpool, slony

それぞれ、長所や短所が明確になり、そこから適したシステムを割り出すことができました。導入するシステムにより、適正の構成を選ぶことでより安全で使いやすいシステムとなります。

○streamingレプリケーション(PostgreSQL9の標準機能)
  長所:瞬間的な負荷に強い、データの整合性を保つことができる。
  短所:マスタに異常があった場合、復旧のために手動での操作が必要である。
         (heartbeatやDRBDなど、他のアプリケーションとの組み合わせで補うことは可能)
これをふまえて、安価なサーバで動作させたいシステムや、データの整合性を確保したいシステムである、「webユーザ管理、SNS、社内情報管理」が適していると考えます。

○pgpool(PostgreSQL専用の負荷分散ソフトウェア)
  長所:ロードバランスなど、細かな設定が可能。
  短所:高性能のサーバが必要、pgpool自体が可用性を低くする原因となる。
特に適したシステムと言えるものはありませんが、streamingやslonyと組み合わせて、より顧客のニーズに近づけるのには有効です。

○slony(PostgreSQL専用のレプリケーションソフト)
  長所:マスタへのデータ反映が速く、トランザクションが高速。
         異なるバージョンのpostgresqlでもレプリケーションを行うことができる。
  短所:フェイルオーバー時は手動で操作を行う必要がある。
         データの整合性が保てなくなるリスクが高い。
これをふまえて、整合性よりも速度が求められるシステムである、「店舗検索、掲示板」が適していると考えます。

結果の詳細は報告書にまとめました。
報告書は下記に公開してあります。是非ダウンロードください!!

https://www.designet.co.jp/download/

デージーネットマガジン2013年7月号記事一覧

PostgreSQLレプリケーションの評価先頭へ