PR

PostgreSQLクラスタの動向

2010年10月12日(火)

はじめに

今回は、代表的なOSSデータベースである「PostgreSQL」を用いたデータベース・クラスタの、これまでの経緯と現状を解説します。

1. 最初はシングル・マスターのレプリケーション

最初に登場した"PostgreSQLクラスタ"は、「Slony」と呼ぶ、シングル・マスターのレプリケーション・ソフトでした。レプリケーションとは、データベース全体のコピーのことです。これを高可用性(HA)の確保や性能の向上に用いることができます。

Slonyのバージョン1.0がリリースされたのは2004年です。6年も前になります。Slonyは、トリガーの機構を使ってデータベースの変更を検出し、これを複数のスレーブに転送します。これにより、1つのマスターを利用して複数のスレーブにデータベースのコピーを置くことができるようになっています。図1に、その概要を示します。

図1: Slony-1の概要

Slonyの特徴は、原理が単純な点で、PostgreSQL本体への改造も不要であり、かつ、各スレーブに対して参照用のSQLを発行できることです。クラスタ全体の整合性が問題にならないのであれば、スレーブで独自にデータを更新することも可能です。

マスターからスレーブへのデータ転送が非同期に行われるため、マスターがクラッシュして元のデータベースの更新情報が失われると、スレーブでも同じことが起こってしまいます。こうした制約があるものの、手軽に使えるため、現在でもレプリケーションを必要とする多くのアプリケーションで使われています。

2. その後、続々とクラスタが出現

Slony-1と前後して、マルチマスター型のクラスタである「PGCluster」がリリースされました(図2)。その後、pgpool-IIが、同じくマルチマスター型のクラスタとしてリリースされました。この間には、Slonyを同期マルチマスター化する試みも行われたりしています。

図2: PG Clustorの概要

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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