TOP比較データ> PostgreSQLのファイル構造





徹底比較!! Oracle & PostgreSQL


第3回:アーキテクチャ比較 ファイル構造の違い
         PostgreSQLの特徴

著者:ミラクル・リナックス  高橋 強   2004/12/16
1   2  3  次のページ
PostgreSQLのファイル構造

   次に物理構造について比較して見ましょう。まずはPostgreSQLのファイル構造を見ていきます。
PostgreSQLのファイル構造
図1: PostgreSQLのファイル構造

   図1はPostgreSQLのファイル構造を示したものです。図中、四角で示したものは論理的な構造を意味し、円柱は物理的に実在するファイルを示しています。 最初にPostgreSQLをインストールした後に、データベース領域を初期化(initdbコマンドを実行)した直後には、templete0,templete1というデータベースが作成され、基本構造が生成されます。

   ここで言う「データベース」はOracleでいうそれとは違う意味なので注意して下さい。このとき生成されるデータベース基本構造全体を指して"データベース・クラスタ"と言います。 templete0とtemplete1は文字通りユーザが作成するデータベースの雛形で、ユーザが新規にデータベースを作成した場合は、templete1がコピーされ、同じ高さに並列して作成されます。


PostgreSQLのディレクトリ構造
図2:PostgreSQLのディレクトリ構造
※ OS上の配置はインストールの仕方で変わりますが、
$PGDATA以下は基本的に同一。


   図1には示していませんが、システムカタログは$PGDATA/global/以下に作成されます。こういったデータ格納用ディレクトリ構造のトップは$PGDATAで設定したディレクトリであり、ここを頂点とするディレクトリ構造のなかに必要なファイルが配置されます。 テーブルやインデックスはサブディレクトリ以下に物理ファイルとして作成されます。この「テーブル、インデックスが物理ファイルを一対一で構成される」部分がOracleとは決定的に違う部分と言えます。

   Oracleは事前にデータ格納領域を物理ファイルとして用意(後述する表領域とデータファイルが該当します。PostgreSQLには表領域という概念が現時点ではありません。)される事が無く、オブジェクトを作成する度に、対応する物理ファイルが作成されます。 同じようにソート・データなどを一時的に書き込む一時領域やトランザクション・ログ領域も事前に確保されず、出力先のディレクトリが決まっているだけです。

   では実際のディレクトリを覗いてみます。Baseディレクトリには数字のみのディレクトリが3つ存在しています。これが、templete0,templete1と新たに作成したデータベースに対応します。次にglobalディレクトリを見ると、数字が名称として付けられたファイルが複数存在しています。これが全データベース共通のシステム・カタログです。また、baseディレクトリに作成されたデータベースに対応する数字のディレクトリ以下にもいくつかファイルが存在します。

   これらは各データベース専用のシステム・カタログとなります。PostgreSQLでは、データベース全体のシステム・カタログとデータベース単位のシステム・カタログとに分かれています。

1   2  3  次のページ


ミラクル・リナックス
著者プロフィール
ミラクル・リナックス株式会社  高橋 強
1993年某SIベンダへ入社後、Oracle、DB関連のコンサルティング、チューニング、社内案件の技術支援などを10年ほど担当。2004年ミラクル・リナックス株式会社へ入社。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第3回:アーキテクチャ比較 ファイル構造の違い PostgreSQLの特徴
PostgreSQLのファイル構造<
  Oracleのファイル構造
  PostgreSQLの特徴
徹底比較!! Oracle & PostgreSQL
第1回 データベースソフトウェアの選択基準とは
第2回 アーキテクチャ比較  プロセス構造の違い
第3回 アーキテクチャ比較  ファイル構造の違い PostgreSQLの特徴
第4回 PostgreSQLの適用範囲を考える 〜 機能比較
第5回 PostgreSQLの適用範囲を考える 〜 データ登録のパフォーマンス
第6回 PostgreSQLの適用範囲を考える 〜 データ検索のパフォーマンス
第7回 PostgreSQLの適用範囲を考える 〜 更新・削除のパフォーマンス
第8回 PostgreSQLの適用範囲を考える 〜 ベンチマークテスト
第9回 PostgreSQLの適用範囲を考える 〜 管理・運用編
商用&OSSデータベースの現状と今後
第1回 シェアの差はそのままデータベースの実力の差か?〜RDBMS各々のメリットとデメリット比較〜
第2回 止まらない安心&止まっても安心?〜有名ブランドだけが可用性を保証できるのか?
第3回 1台なら大丈夫。つないでいっても大丈夫?〜OSSのスケーラビリティの実際
第4回 商用 vs. OSSの単純な機能比較では話にならない 〜 データベースのセキュリティを考える
第5回 ホントにつながる?商用とOSSの異種データベース接続を見てみよう
第6回 「バックアップとは何か」から見た、商用 vs OSSデータベースの違いとは?
第7回 ラクする?こだわる?データベースのパフォーマンスチューニング