|
||||||||||||
| 前のページ 1 2 3 4 次のページ | ||||||||||||
| PostgresForestのテーブル | ||||||||||||
|
PostgresForestを理解する上で重要なポイントの1つが、テーブルの種類です。PostgresForest上にテーブルを作る際には、テーブルの種類を選択することになります。PostgresForestで使用できるテーブルの種類には、「レプリケーションテーブル」と「パーティションテーブル」の2種類があります。ここでは2種類のテーブルがどのようなものなのかについてみていきます。 |
||||||||||||
| レプリケーションテーブル | ||||||||||||
|
レプリケーションテーブルはその名の通り、レプリカ(=コピー)を作るテーブルです。PostgresForestクラスタは、データの書き込み先として複数のPostgreSQLサーバにアクセスすると述べましたが、この複数のPostgreSQLサーバ上に同じテーブルを置き、そのテーブルの内容を完全に同じ状態とするのがレプリケーションテーブルの役割です。 ![]() 図3:レプリケーションテーブル 図3の例では、3台のPostgreSQLサーバでPostgresForestクラスタを構成しており、テーブルの種類をレプリケーションとしています。レプリケーションしたテーブルの内容は、すべてのPostgreSQLサーバ間でリアルタイムで同一の状態に保たれます。 このため該当するテーブルに対する検索クエリは、どのPostgreSQLサーバ上で実行しても同じ結果を得ることができます。そこでPostgresForestは、検索クエリを複数のPostgreSQLサーバに順次振り分け、負荷分散を実現しているのです。 |
||||||||||||
| パーティションテーブル | ||||||||||||
|
パーティションテーブルは、論理的に1つのテーブルをパーティションと呼ぶ複数の物理的なテーブルに分割して配置するものです。 ![]() 図4:パーティションテーブル 図4の例では、3台のPostgreSQLサーバでPostgresForestクラスタを構成しており、1つのテーブルを各PostgreSQLサーバ上に分割して配置しています。 この例では「会員情報」テーブルを会員番号の値によって分類し、それぞれのPostgreSQLサーバに配置しています。どんな条件のレコードをどのパーティションに配置するかは、ユーザが作成したパーティション関数によって自由に変更することができます。 単体のPostgreSQLでもバージョン8.1以降でパーティション機能が整備されましたが、このパーティション機能との一番の違いは、複数のサーバ間を跨って1つの論理的なテーブルを構成するというところにあります。1つの単純な検索クエリであっても複数のPostgreSQLサーバ上で並列に処理を行うことができ、レスポンスの向上・負荷分散を実現することができるのです。 |
||||||||||||
|
前のページ 1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||



