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」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。