PostgreSQLクラスタの動向

2010年10月12日(火)

このように、PostgreSQLのクラスタは、レプリケーションの作成機能を中心に進められてきました。ところが、この用途以外にも、並列処理を用いた大規模なデータ解析が可能な「Greenplum」や「GridSQL」などのソフトも出現しました。

Slonyだけでは、数あるアプリケーションの要件をすべて満たすことはできません。このため、アプリケーションの要求仕様に応じて、多くのPostgreSQLクラスタが開発されました。主なPostgreSQLクラスタは、表1の通りです。

表1: 主なPostgreSQLクラスタ
(詳細はhttp://wiki.postgresql.org/wiki/Clusteringを参照)

プロジェクト 概要
Slony-1 トリガー・ベースの非同期マスター・スレーブ・レプリケーション。複数スレーブをサポート。PostgreSQL改造不要。
Buccardo トリガー・ベースのマスター・スレーブおよぶマスター・マスターのレプリケーション。PostgreSQL改造不要。
GridSQL テーブル分割を用いた並列SQLクラスタ。独自パーサー。PostgreSQL改造不要。
HadoopDB MapReduceを利用した並列データベース。
Mammoth 非同期マスター・スレーブ・レプリケーション。フェール・オーバー機能が組み込まれている。
Pgpool-II コネクション・プーリング、マルチマスター・レプリケーション、負荷バランサ、並列クエリーを備えたクラスタ。PostgreSQL改造不要。
PGCluster マルチマスター同期クラスタ。HA用途。PostgreSQL改造要。
PL/Proxy PL言語で実装したデータベース・パーティショニング・システム。呼ばれた関数をほかのデータベース上で実行する。PostgreSQL改造不要。
Postgres-XC トランザクションを並列実行することで、トランスペアレントに読み書き双方の性能をスケール・アウトさせるPostgreSQLクラスタ。PostgreSQL改造要。
Postgres-Forest 主に参照性能スケール・アップを目指したPostgreSQLクラスタ。PostgreSQL改造不要。
Postgres-R マルチマスターの同期レプリケーション。PostgreSQLの改造要。
Rubyrep 非同期マルチマスター・レプリケーション。PostgreSQLとMySQLをサポート。PostgreSQLの改造不要。
Skytools Skypeで使っているレプリケーションとフェール・オーバー用パッケージ。キューイング機構、レプリケーション・ツール、ログ・アーカイブ・ユーティリティなど。PostgreSQLの改造不要。
Tungsten PostgreSQL、MySQL、OracleクラスタのモニタリングとHA機能。PostgreSQLのレプリケーション機能。
Greenplum PostgreSQLをベースにしたデータ・ウエアハウス(DWH)パッケージ。SQLの並列実行による大規模SQL性能向上など。現在は独自商用製品。

PostgreSQLのリカバリに用いる更新ログを使ってレプリケーションを作成するツール(Warm Standby)も、リリースされました。

3. HAクラスタとしてのStreaming Replication

2008年、NTTは、新しいレプリケーション方式を発表しました。これは、前述のWarm Standbyに類似していますが、スレーブへの更新ログの転送をマスターの更新ログの生成と同期させるため、マスターがクラッシュした場合でもデータの損失がありません。また、スレーブがマスターに取って代わる「フェール・オーバー」に必要な時間も、数秒以下で済みました。

この技術を元に、PostgreSQLのレプリケーション機能を実装しよう、ということになりました 。PostgreSQL 8.4での実装が期待されたのですが、実際には2010年にリリースされたPostgreSQL 9.0で、その基本機能が実装されました。これについては、第3回で解説します。

リカバリに用いるデータを用いてスレーブのデータベースを構築し続ける場合、スレーブにおいてクライアントからのSQL要求を処理するのは、非常に困難です。PostgreSQL 9.0では、これを可能にする「Hot Standby」機能も実装されました。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています