TOP調査レポート> Slony-I




オープンソースの適用可能性を示す
オープンソースの適用可能性を示す

第8回:PostgreSQLを使い切るためのノウハウを徹底解説する その2
著者:SRA OSS  石井 達夫   2006/5/16
前のページ  1  2   3  次のページ
Slony-I

   PostgreSQLの開発中心メンバー(コアメンバー)の1人が中心になって開発した非同期レプリケーションシステムだ。Slony-Iでは、システム全体に1台だけ存在するマスタDBに更新があれば、その情報が複数台のスレーブDBサーバに伝搬される仕組みになっている。伝搬にはある程度時間がかかる。そのため、マスタDBとスレーブDBの内容はリアルタイムには一致しない。これが「非同期」と呼ばれる理由だ。


   Slony-Iを使うためには、更新はマスタDBにのみ振り向け、検索はマスタ、またはスレーブDBに振り向けるといった工夫をアプリケーションに施す必要がある。

   また、マスタDBがクラッシュした際にはスレーブDBの1つがマスタDBに「昇格」するが、この操作には手作業が必要であり、またその間DBシステムを停止しなければならないという制限がある。

   またラージオブジェクトなど、一部使えない機能があるので注意が必要だ。


クラスタサーバの数に比例し更新処理性能が低下する点に注意

   以下であげるレプリケーションソフトは処理性能に注意する必要がある。


PGCluster(pgfoundry.org/projects/pgcluster/)

   日本人が開発したPostgreSQL用のクラスタソフト。複数台の「クラスタサーバ」と呼ばれるDBサーバを中心に、そこにリクエストを振り分ける「ロードバランスサーバ」、レプリケーションをコントロールする「レプリケーションサーバ」から構成される。クラスタサーバは推奨3台なので、全部で5台構成にもなるシステムだ。


   PGClusterでは、すべてのクラスタサーバの内容を常に一致させる同期レプリケーション方式を採用。どのクラスタサーバを検索しても、同じ結果が返ることを保証している。これを利用して、検索処理を負荷分散できる。クラスタサーバが3台ならば、単独のPostgreSQLのほぼ3倍の性能がだせる。そのため、検索負荷の高いサーバ用途に適している。

   半面、更新処理はクラスタサーバの台数に比例して性能が低下するので、該当処理が多いシステムには適さない。

   可用性においては、PGClusterは極めて優秀だ。クラスタサーバのうち、1台でも稼働していればDBシステムとして止まらないからだ。特に優れた点として、DBシステムを止めることなく、修理の終わったクラスタサーバを復帰できるという点があげられる。DBの内容を同期している最中でも、更新処理を続けられる。

前のページ  1  2   3  次のページ

SRA OSS 石井 達夫
著者プロフィール
SRA OSS,Inc.  石井 達夫
SRAを経て、現在はSRA OSS,Incの日本支社長として、日本でのOSSビジネスを推進する立場にある。個人的にもPostgreSQLの開発、普及活動に取り組んでおり、名実ともにPostgreSQLを最強OSSDBにするのが夢。主な著書は「PostgreSQL完全攻略ガイド」など。

INDEX
第8回:PostgreSQLを使い切るためのノウハウを徹底解説する その2
  ミッションクリティカルな用途にPostgreSQLを適用する
Slony-I
  pgpool