ファイル編成とアクセス手法

この記事での学習内容 基本情報 応用情報

ファイル編成やアクセス手法の種類,特徴を理解する。また,各編成方式におけるレコードの追加,削除,変更などの処理方法を理解する。

用語例:論理レコード,物理レコード,ブロック,非ブロックレコード,ブロックレコード,ブロックサイズ,順次アクセス,直接アクセス,動的アクセス,順編成,区分編成,索引順編成,直接編成,VSAM 編成,あふれ域,ブロッキング,デブロッキング

アクセス方式

順次アクセス

順次アクセスとは、記憶媒体のデータを先頭から順序どおりに読み込みや書き出しをするアクセス方式です。磁気テープ媒体に向いています。後述する直接アクセスと比較すると、場所を探す時間がかかりませんが、任意の場所にアクセスするためには、順送りや順戻しをするのに時間がかかります。

直接アクセス

直接アクセスとは、記憶媒体のデータを配列とみなして、任意の場所を直接アクセスして、読み込みや書き出しを行うアクセス方式です。ハードディスク媒体やフラッシュメモリに向いています。目的の場所に移動するのに少し時間がかかりますが、順送りや順戻しの時間はかかりません。

動的アクセス

動的アクセスとは、基本的には順次アクセスをしますが、任意の場所へ移動するときだけは直接アクセスで行うという、順次アクセスと直接アクセスを組み合わせた方式です。光ディスクの類はこの方法です。映画のDVDのように、先頭からの順次アクセスであったり、ドラマやバラエティー、音楽等の場合、チャプタや曲の先頭に行くまでは、直接アクセスする必要があるが、そこからしばらくは順次アクセスで良い場合が多いので、映像・音楽コンテンツでよく利用される光ディスクにはこのアクセス方法がマッチしています。

ファイル編成

順編成

順編成は、一つのファイルを構成する複数のレコードが、一次元的に並んだ編成です。順次アクセス向きです。

直接編成

直接編成は、一つのファイルを直接アクセス可能なレコードの集合とする編成です。レコード中のキー値を元にして格納アドレスを決定します。その位置をアクセスして読み込みや書き出しをします。

索引順編成

索引順編成は、本来のデータの他に索引(インデックス)部を持つ本のような編成です。任意に索引を作ることによって、順次アクセスを基本として、直接アクセスや動的アクセスも可能です。

あふれ域

あふれ域とは、索引編成において本来のデータ域に収まりきらなくなったデータを収容する領域です。索引順編成が順次アクセス、直接アクセス、および動的アクセスを可能にするために、あふれ領域が使われます。なお、あふれ域が大きくなってくると、再編成という作業が必要になります。

区分編成

区分編成は、一つのファイルを構成する複数のメンバの先頭アドレスをディレクトリに記録して、それぞれ一つのメンバは複数のレコードの順編成である階層的な編成です。メンバに対して直接アクセスし、メンバ内のレコードに対しては順次アクセスするので、動的アクセス向きです。

VSAM(Virtual Strage Access Method)編成

VSAM編成は主記憶装置と補助記憶装置の両方にわたって、仮想的なファイルを編成するものです。レコードが主記憶装置にあれば、アクセスは高速になります。

仮想記憶が主記憶装置のメモリを補助記憶装置へも仮想的に拡張したものであるのと反対に、VSAMは補助記憶装置上のファイルを主記憶装置に仮想的に拡張したものです。

レコードを論理的な記憶空間上で管理するもので、媒体の物理的特性に依存しない方式です。

ファイル=データセットという単位で扱い、
・入力順データセット=順編成ファイルに相当します。
・キー順データセット=索引順編成ファイルに相当します。
・相対レコードデータセット=直接編成ファイルに相当します。

 

なお、最近のサーバ~PC向けのOSの場合、OSが管理するのはファイルシステムまでとし、ファイルの中身の編成方法については、アプリケーションに任せているケースも多くあります。
例えばPDFファイルなどのように、多数のOSをまたがってやり取りされるようなファイルも存在するので、ファイルの中身についてはプラットフォームに依存しないように、アプリケーション側にファイルの編成方式を委ねています。