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

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

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

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

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

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30