TOP
>
サーバ構築・運用
> PostgresForestの動作を決めるグローバルシステムカタログ
予習!復習!PostgresForest!
第2回:解体、PostgresForest!
著者:
NTTデータ 長妻 賢
2007/7/26
1
2
3
4
次のページ
PostgresForestの動作を決めるグローバルシステムカタログ
「
第1回:可用性と拡張性を備えたデータベースPostgresForest
」では、PostgresForestの特徴から、テーブル構成や機能までを解説しました。今回は、負荷分散や並列処理といったPostgresForestの特徴をどのように実現しているのか、その仕組みについて解説します。
グローバルシステムカタログとは?
PostgresForestの内部を説明するにあたって欠かすことができないのが「グローバルシステムカタログ(以下、GSC)」と呼ばれているものです。
GSCを一言であらわすと
PostgresForestの動作に必要な情報を集めたデータベース
となります。例えば、あるPostgresForestクラスタは何台のPostgreSQLサーバから構成されているのかや、どのPostgreSQLサーバが障害中となっているのか、どのテーブルがレプリケーションテーブル/パーティションテーブル構成なのか、といった情報が収められています。
テーブル名
内容
forest_brokenlog
障害情報の記録
forest_config
コネクションの設定情報
forest_gsc
GSCの存在場所の情報
forest_hash
パーティション分割関数情報
forest_partatr
テーブルを分割するカラムの情報
forest_servdb
ユーザデータベースの配置情報
forest_server
各PostgreSQLサーバのIPなどの情報
forest_tablepart
テーブルの分割数などの情報
forest_tablepartdtl
各パーティションの検索優先度
表1:GSCが保持している情報
GSCはPostgreSQLサーバ上のデータベースとして作られているため、通常のPostgreSQLに接続するツール(psqlやpgAdminなど)を使って参照することが可能です。ただし、そうしたツールでGSCの内容を書き換えた場合、その後のPostgresForestの動作は保障できなくなることに注意してください。
GSCを作成するには、管理用ツールを使用します。そして、仮想化モジュール(PostgresForestのJDBCドライバのこと。以下、JDBCドライバ)によって、参照や更新が行われます。
JDBCドライバは必要に応じてGSCに格納された情報を参照し、クエリの処理やサーバ情報の管理、コネクションの管理などを行い、ユーザアプリケーションからの要求に応えることになります。
図1:JDBCや管理ツールから見たGSCとユーザデータベース
1
2
3
4
次のページ
著者プロフィール
株式会社NTTデータ 長妻 賢
基盤システム事業本部
オープンソース開発センタ 技術開発担当
PostgreSQLを用いた並列分散データベースの研究開発に従事。その後PostgreSQLを使った非常に大規模なシステムの検証などを行う。2006年より、現在のPostgresForest開発チームに加わり、PostgresForestの開発と普及活動を行っている。
INDEX
第2回:解体、PostgresForest!
PostgresForestの動作を決めるグローバルシステムカタログ
PostgresForestはどのように動くのか
レプリケーションテーブルに対するSQL処理
パーティションテーブルに対するSQL処理