フラグメント【fragment】

概要

フラグメントとは、破片、欠片、一片、断片という意味の英単語。様々な分野で、全体の一部分を指す用語として用いられる。単に部分というだけでなく、一体であったものを分割し、それ単体では不完全だったり意味がないような断片的な部分を指す。断片に分割する操作や現象は「フラグメンテーション」(fragmentation)という。

IPフラグメント

インターネットなどで標準的に用いられる通信規約プロトコル)であるIPInternet Protocol)では、大きなデータを送受信する際に小さな断片に分割して伝送することがある。このデータ断片のことをフラグメントと呼び、分割する操作を「IPフラグメンテーション」という。

IPではデータを「IPデータグラム」という単位で送受信するが、データグラムのサイズはMTUMaximum Transmission Unit)という上限値未満に抑えなければならない。MTUの値は機器の置かれた環境や回線の伝送能力によって異なるが、通常は1500バイト前後である。

IPファイルなどひとかたまりのデータを送出する際、サイズがMTUを超えた場合には、MTU以下のサイズに分割し、複数のデータグラムとして送出する。このデータ断片がフラグメントで、受信側はすべての断片が揃ったら本来のデータを組み立てることができる。

データベースのフラグメント

データベース管理システムDBMS)では、データベースを構成する様々なデータを複数の機器に分散して格納することができる場合があり、その際の分割単位のことをフラグメントという。テーブルの行単位、列単位、データ本体とインデックスなど、システムの種類や目的によって分割の仕方は様々である。データを分散することで巨大な単一のデータベースを複数のサーバで分担して処理することができ、性能や対障害性の向上を図ることができる。

ファイルシステムのフラグメント

オペレーティングシステム(OS)がストレージを管理する際に用いるファイルシステムの仕組みでは、データは「ファイル」という単位で記録される。一方、物理的なストレージ装置は、内部の記憶媒体を「セクタ」という一定のサイズの領域に区切って管理している。

ファイルセクタ一つに収まらないサイズの場合は、複数のセクタに分割して格納され、どのファイルをどのセクタに格納したかを管理領域に記録する。ストレージに空き領域が多い場合は、ファイルは連続したセクタに記録されるが、空き領域が小さな断片に分かれている場合には、飛び飛びのセクタに分けて格納しなければならない。このような不連続な領域に分かれたファイルの断片のことをフラグメントという。

ハードディスクなどディスク型の媒体を用いる装置では、ファイルや空き領域の断片化が進行すると読み書き性能が低下するため、格納領域の並びを再配置して、なるべく各ファイルが連続して記録されるようにする「デフラグメンテーション」(defragmentation)という操作を行うことがある。

(2025.11.28更新)