TOPサーバ構築・運用> 可用性を高める2つの機能
PostgresForest
予習!復習!PostgresForest!

第1回:可用性と拡張性を備えたデータベースPostgresForest

著者:NTTデータ  長妻 賢   2007/7/20
前のページ  1  2  3  4
可用性を高める2つの機能

   PostgresForestを理解する上で重要な要素の2つ目が、可用性を高めるための仕組みです。その中で特に注目するべき「障害検出・切り離し機能」と「オンラインリカバリ機能」の2つを紹介します。

障害検出・切り離し機能

   PostgresForestがアクセスするPostgreSQLサーバの障害を検知し、障害が他に悪影響を及ぼさないようにするのがこの機能です。

障害検出・切り離し機能
図5:障害検出・切り離し機能

   複数あるPostgreSQLサーバのいずれかに異常があった場合、PostgesForestは異常なサーバを検知し、該当するサーバに対するアクセスを自動的に抑制します。これによって障害の影響を最小限に抑えることができます。

   この時PostgresForestは、正常に稼動しているPostgreSQLサーバのみでサービスを継続します。ただし、正常に稼動しているPostgreSQLサーバ上に必要なデータが存在しない場合、サービスを継続することはできません。

   このことからもわかるように、障害検出・切り離し機能はすべてのテーブルをレプリケーション構成とした時に真価を発揮します。レプリケーション構成にすることですべてのテーブルのデータを全PostgreSQLサーバ上で冗長化しておけば、仮に1台のPostgreSQLサーバに異常が発生したとしても、他のサーバでまったく同じ処理を行うことでサービスを継続できるのです。


オンラインリカバリ機能

   オンラインリカバリ機能は、PostgresForest 3.2〜4.0にかけて作られた比較的新しい機能です。障害によって切り離されたPostgreSQLサーバは、いずれ復旧して稼動状態に戻す必要があります。

   当然PostgresForestの性質上、1つのサーバが障害状態として切り離されていても、そのほかのサーバを使ってサービスは継続しているため、稼働中のサーバと切り離されたサーバとの間で徐々に差異が出てくることになります。そのためお互いのサーバ間でデータの同期を取らない限り、障害状態のPostgreSQLサーバを復旧することができません。

   本来であれば業務処理を一時停止してデータベースへの更新を止め、障害状態のPostgreSQLサーバと稼動状態のPostgreSQLサーバとの間でデータの整合性を取るべきです。これに対してオンラインリカバリ機能は、サービスが動作し、更新処理を実行している最中であっても、不整合無くサーバの同期を取って復旧する仕組みを提供しています。


次回は

   今回はPostgresForestの概要について解説をしました。次回はPostgresForest動作の仕組みについて、より詳しく解説します。

前のページ  1  2  3  4


株式会社NTTデータ 長妻 賢
著者プロフィール
株式会社NTTデータ  長妻 賢
基盤システム事業本部
オープンソース開発センタ 技術開発担当
PostgreSQLを用いた並列分散データベースの研究開発に従事。その後PostgreSQLを使った非常に大規模なシステムの検証などを行う。2006年より、現在のPostgresForest開発チームに加わり、PostgresForestの開発と普及活動を行っている。


INDEX
第1回:可用性と拡張性を備えたデータベースPostgresForest
  コストパフォーマンスに優れたPostgreSQL
  PostgresForestの全体構成
  PostgresForestのテーブル
可用性を高める2つの機能