リレーショナルデータベース管理システムについて調べており、PostgreSQL(ポストグレスキューエル)の理解を深めたいと考えている方もいるでしょう。PostgreSQLを利用するうえでおさえておきたいものに「表領域」があります。
ここでは「PostgreSQLも表領域もよくわからない」と感じている方のため、それぞれの基本と特徴などを紹介します。
この記事を読むことによってPostgreSQLのデータファイルを確認する方法などもわかるようになるので、ぜひご覧ください。
目次
PostgreSQLとは
PostgreSQLとは、無料で利用可能なオープンソースのリレーショナルデータベース管理システム(RDBMS)です。ライセンスコストがかからないので、できるだけコストを抑えて利用できるRDBMSを選択したいと考えている場合にも向いています。
また、オープンソースソフトウェアではありますが、商用でも問題なく利用できるほど機能性に優れており、堅牢性、拡張性といったものも評価されています。
【関連記事】:SQLでのOracleデータベース作成の特徴と構築までの流れについて
PostgreSQLの主な機能について
PostgreSQLにはどのような機能が備わっているのか確認しておきましょう。主な機能は以下の4つです。
規格適合性・信頼性
PostgreSQLは、ACID特性を持つのが特徴です。ACIDとは、原子性(Atomicity)、一貫性(Consistency)、隔離性(Isolation)、耐久性(Durability)の頭文字を取ったもののことをいいます。
これらの特性により、データベーストランザクションの信頼性と整合性を保証することが可能です。機能性に優れ、大規模なコミュニティによるサポートネットワークがあることも関係し、信頼性が高いとして人気があります。
動的ローディング
動的ローディングとは、必要なファイルを自動的に呼び込む仕組みのことです。PostgreSQLサーバーは動的ローディングによってユーザーが作成したコードを取り入れています。
エクステンション
エクステンションとは拡張機能のことであり、PostgreSQLではエクステンションの動的ローディングが可能です。外部エクステンション機能が充実しているのもPostgreSQLの魅力といえます。
スケーラビリティ
スケーラビリティとは処理量の増加制御が可能なシステムやネットワーク、プロセスといったものの個々の能力であるとともに、それをすばやく簡単に増減できる能力のことです。
PostgreSQLは高いスケーラビリティを持つことで知られており、同時接続数や管理できるデータ量などにおいても優れています。
PostgreSQLの表領域とは
表領域は、テーブル空間やテーブルスペースとも呼ばれるものであり、PostgreSQLではこの機能を活用して特定のテーブルのファイルをどこに格納するのか定義可能です。
表領域を活用することにより、PostgreSQLインストレーションのディスクレイアウトの制御ができるようになります。
通常、PostgreSQLでは一つの表ごとに一つ以上のファイルが作成される形になるのですが、表領域を使用することで任意のディレクトリに対し、表データを格納できるのが特徴です。例えば、ファイルを分割することによってディスクアクセスの負荷分散につなげたいような場合に役立ちます。
表領域とスキーマの違い
表領域と似ているものととらえられることがあるものの、異なる概念としてスキーマがあります。
表領域については紹介しましたが、スキーマとは、データベース内にいるユーザーが所有しているデータベースオブジェクトの集合のことを意味するものです。
情報を分類してどこにあるかを決めるためのものであり、データベースを用途単位で分割したものと考えるとわかりやすくなります。
また、それぞれのデータは範囲が異なります。表領域の場合は複数ユーザーでの共有が可能ですが、スキーマは共有できません。スキーマは一般的にはユーザーに関連付けられる形となっており、データベースオブジェクトの作成や管理を行うのもユーザーになります。
許可を得ることなく、他ユーザーが作成したオブジェクトを操作するようなこともできません。
PostgreSQLのデータファイルを確認する方法
PostgreSQLのデータファイルを確認したいと考えた場合、どのように行えば良いのでしょうか。
まず、前提としてPostgreSQLの場合、1テーブル/1インデックスごとに一つのファイルが割り当てられることになります。
例えば、ディスク容量に余裕がない場合は、容量の大きなファイルを持つテーブルを他のディスクに移動して対応したいと考えることもあるでしょう。この時に問題になるのが、ファイル名に使われている数値だけではどのファイルがどのテーブルのものなのかわかりにくいことです。
確認する際は、データベースのディレクトリ名とテーブルのファイル名を調べることでデータファイルが確認できます。ただ、データベースのデフォルトテーブルスペースに格納されたテーブル以外についてはこの方法では難しいので、その他の対応が必要です。
例えば、テーブル名からファイル名を確認する場合は、該当テーブルのテーブルスペースを確認します。Tablespaceが空欄であった場合はデータベースのデフォルトディレクトリです。
一方、テーブルスペース名がある場合は該当するテーブルスペースに格納されていることを示します。
まず、デフォルトディレクトリだった場合はDBのデフォルトディレクトリを確認、テーブル/インデックスのファイル名の確認と進みましょう。
次に特定テーブルスペースだった場合はテーブルスペースのディレクトリを確認し、テーブル/インデックスのファイル名の確認と進むことでデータファイルが確認できます。
PostgreSQLについてわからないことは専門家に相談を
いかがだったでしょうか。PostgreSQLの概要や、表領域に関すること、データファイルの確認方法などを紹介しました。PostgreSQLについてご理解いただけたかと思います。
専門性が高いこともあり、PostgreSQLを用いてデータベースを構築しようと考えていたものの、難しいと感じた方もいるのではないでしょうか。
そういった方は、ぜひコーソルまでご相談ください。データベースに関するプロフェッショナル集団として各社のデータベース運用をサポートしており、データベース運用における課題をお客様と共に解決することに力を入れています。