ジャンル:PostgreSQL用負荷分散ソフト 作者:NTTデータ
ライセンス:BSD License
URL:http://www.nttdata.co.jp/services/postgresforest/

PostgresForestは,複数台のPostgreSQLサーバーを仮想的に1つに統合し,並列分散動作させるソフトウエアである。同ソフトを導入することで,PostgreSQLで構築したデータベース・サーバーの可用性や拡張性を向上できる。

 この数年間でLinuxを中心としたオープンソース・ソフトウエア(OSS)は,目覚しい発展を遂げている。特に,Webサーバーに「Apache HTTP Server」,アプリケーション・サーバーに「Tomcat」,データベース・サーバーに「PostgreSQL」を用いた3層システムは,Webシステムの定番と呼べる存在になった。

 ただし,Webシステムの可用性や拡張性を考慮した場合には,これらのソフトウエアだけでは不十分だ。Webサーバーとアプリケーション・サーバーはともに,複数台を並列に動作させれば可用性や拡張性を確保できる。しかし,データベース・サーバーの場合には,複数台を配置しても,すべてのデータベース・サーバーを同じ状態に(データの一貫性を)保つことは困難であり,可用性や拡張性を確保できないからだ。 PostgresForest(ポストグレスフォレスト)は,そのような問題を解決するソフトウエアである。複数台のサーバー上で稼働するPostgreSQLを,仮想的に1つのPostgreSQLとして運用できる(図1)。そのため,少なくとも1台のサーバーが正常に動作していれば,システムの運用を継続できる。また,後述するパーティショニング機能により,複数のデータベースによる負荷分散も実現可能だ。

図1●PostgresForestの機能
図1●PostgresForestの機能
複数のサーバー上で稼働するPostgreSQLを,仮想的に1つのPostgreSQLとして運用できる。

 PostgresForestを用いれば,すぐれたデータベース・エンジンを持つPostgreSQLの特長を生かしつつ,高価なクラスタリング・ソフトや共有ディスク装置がなくても,高性能かつ高信頼なデータベース・システムを構築できる。