2.2.4 DBエリアのファイル構成
表やインデクスといったDBエリアに格納されるデータは,物理的にはファイルに格納されます。DBエリアを構成するファイルをDBエリアファイルといいます。
- 〈この項の構成〉
(1) DBエリアファイルとして使用できるファイル
HADBでは,次に示すファイルをDBエリアファイルとして使用できます。
(a) レギュラーファイル(ファイルシステム上のファイル)
OSが標準でサポートしているレギュラーファイルを,DBエリアファイルとして使用できます。
レギュラーファイルを更新および参照する際は,ファイルシステムの管理部に対する更新処理および参照処理が行われます。そのため,特にファイルの拡張処理が行われた場合に,ブロックスペシャルファイルよりアクセス性能が低くなります。
(b) ブロックスペシャルファイル
ブロックスペシャルファイルを,DBエリアファイルとして使用できます。ブロックスペシャルファイルとは,ブロックデバイスの1つです。ディスク全体,またはパーティションで区切られたディスク上の領域を1ファイルと見なしてアクセスします。
ブロックスペシャルファイルは,ブロック単位にデータを操作します。そのため,ブロックスペシャルファイルは,レギュラーファイルよりも高速にアクセスできます。
ブロックスペシャルファイルは,ユーザがデータベースを作成する前に使用するデータベース領域の大きさを考慮し,割り当てておく必要があります。
なお,ブロックスペシャルファイルには,HADBサーバが読み書きできる権限を付与する必要があります。ブロックスペシャルファイルの設定を変更する場合は,必ずudevルールを使用してください。udevルールについては,OSのマニュアルを参照してください。
- ポイント
-
ブロックスペシャルファイルをwriteモードでオープンすると,クローズ時にudevにイベントが通知され,udevルールに設定した状態に戻ります。そのため,chmodコマンド,chownコマンドなどでブロックスペシャルファイルの設定を変更した場合は,データベースの初期設定が完了したときやHADBサーバが終了したときに,所有者や権限がudevルールに設定した状態に戻ります。
(2) DBエリアファイルの種類
DBエリアファイルは,DBエリアの種類に合わせて次に示す5種類があります。
(a) データ用DBエリアファイル
データ用DBエリアファイルは,データ用DBエリアを構成するファイルです。
1つのデータ用DBエリアは,1つ以上のデータ用DBエリアファイルから構成されます。1つのデータ用DBエリアは,最大1,024個のデータ用DBエリアファイルで構成できます。
データ用DBエリアとデータ用DBエリアファイルの関係を次の図に示します。
|
|
データ用DBエリアファイルは,DBディレクトリ下のレギュラーファイル,またはDBディレクトリ下以外のブロックスペシャルファイルに作成されます。
データ用DBエリアファイルの格納場所は,データベースの初期設定時に指定します。また,データベースの初期設定後,データ用DBエリアを追加するときにも指定します。
(b) 作業表用DBエリアファイル
作業表用DBエリアファイルは,作業表用DBエリアを構成するファイルです。
作業表用DBエリアファイルは,DBディレクトリ下のレギュラーファイル,またはDBディレクトリ下以外のブロックスペシャルファイルに,1つだけ作成されます。
作業表用DBエリアファイルの格納場所は,データベースの初期設定時に指定します。
(c) マスタディレクトリ用DBエリアファイル
マスタディレクトリ用DBエリアファイルは,マスタディレクトリ用DBエリアを構成するファイルです。
マスタディレクトリ用DBエリアファイルは,DBディレクトリ下のレギュラーファイル,またはDBディレクトリ下以外のブロックスペシャルファイルに,1つだけ作成されます。
マスタディレクトリ用DBエリアファイルの格納場所は,データベースの初期設定時に指定します。
(3) DBディレクトリ
データ用DBエリアファイルなど,各DBエリアファイルが格納されるディレクトリをDBディレクトリといいます。DBディレクトリは,データベースの初期設定時に作成されます。
DBディレクトリには,次のファイルも格納されます。
-
データベースの更新履歴情報(システムログファイル)
-
HADBサーバが異常終了した場合,再開始するための情報(ステータスファイル)
DBディレクトリの構成については,「付録A.3 DBディレクトリの構成」を参照してください。
(4) DBエリアファイルの構成例
DBエリアファイルを,DBディレクトリ下以外のブロックスペシャルファイルに作成した場合,DBディレクトリ下にはファイルの実体へのシンボリックリンクファイルが作成されます。
DBエリアファイルの構成例を次の図に示します。
|
|
(5) ファイルシステムに関する注意事項
-
ext3,ext4またはXFSのファイルシステム上に,データベースを構成するファイル(DBエリアファイルおよびDBディレクトリ内のファイル)を作成してください。
-
NFSなどのネットワークを経由するファイルシステム上に,データベースを構成するファイル(DBエリアファイルおよびDBディレクトリ内のファイル)を作成しないでください。