エクステント【extent】

エクステントとは?

ファイルシステムデータベース管理システムDBMS)が記憶装置を管理する際に用いる単位で、論理的に連続した複数のブロックをひとまとまりとして扱う領域のこと。英語の “extent” には「範囲」「規模」「度合い」などの意味がある。
エクステントのイメージ画像

コンピュータデータストレージに書き込む際、「ブロック」と呼ばれる小さな区画に分けて管理している。一つのファイルが大きくなるほど多くのブロックが必要になるが、それらを一つずつ個別に管理すると、位置情報の記録量が増えてシステムへの負担も大きくなる。そこで、連続して並んだ複数のブロックをまとめてひとかたまりとして扱うエクステントの仕組みが考案された。

エクステントは、「開始位置」と「そこから続く長さ」という二つの情報だけで領域全体を表せる。例えば、ブロックが50個連続していても、先頭の番号と個数という二つの値を記録するだけで済む。ブロックを一つずつ列挙する従来の方式に比べ、管理用データの量を大幅に削減でき、読み書き時の処理も軽くなる。

データが連続した領域に保存されることで、読み出し速度も向上しやすい。磁気ディスクでは読み取り装置を物理的に移動させる必要があるため、データが散在していると動作が遅くなる。エクステント方式でまとまった領域を確保しておけば、装置の移動を最小限に抑えられる。ファイルが断片的にバラバラの場所へ書かれる「断片化」(フラグメンテーション)も起きにくくなる。

システムによって具体的な管理の方法は異なる。Linuxで広く使われる「ext4」や「XFS」などのファイルシステムでは、小さなファイルには短いエクステント、大きなファイルには長いエクステントを割り当てる可変長のエクステントを用いる仕組みを採用している。

一方、データベース管理システムDBMS)では、管理者があらかじめ長さを指定した固定長のエクステントを使い、テーブルにデータを追加するたびにその単位で領域を確保するのが一般的である。ストレージを仮想的に束ねて管理するLVM論理ボリュームマネージャ)でも「物理エクステント」「論理エクステント」というk管理単位が用いられる。

他の辞典等による「エクステント」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。