TOP
>
サーバ構築・運用
> 可用性を高める2つの機能
予習!復習!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データ 長妻 賢
基盤システム事業本部
オープンソース開発センタ 技術開発担当
PostgreSQLを用いた並列分散データベースの研究開発に従事。その後PostgreSQLを使った非常に大規模なシステムの検証などを行う。2006年より、現在のPostgresForest開発チームに加わり、PostgresForestの開発と普及活動を行っている。
INDEX
第1回:可用性と拡張性を備えたデータベースPostgresForest
コストパフォーマンスに優れたPostgreSQL
PostgresForestの全体構成
PostgresForestのテーブル
可用性を高める2つの機能