CLFS の関連用語

次の一覧では、共通ログ ファイル システム (CLFS) ドキュメントで使用される主な用語の定義を示します。 これらの定義は、CLFS の説明中に適用されますが、それ以外の場合は適用されない場合があります。 これらの用語の多くは、一般的な意味、またはここで説明する定義とは異なる他のテクノロジのコンテキストでの意味を持っています。

コンテナー
物理ディスクまたはその他の安定したストレージ・メディア上の連続したエクステント。 たとえば、コンテナーは連続したディスク ファイルである可能性があります。

セクター
物理記憶媒体上のアトミック I/O の単位。 セクターのサイズは、特定のストレージデバイスのプロパティです。 たとえば、ハード ディスクのセクター サイズが 512 バイトであるとします。

log
基本ファイルと、論理的に順序付けられたコンテナーのセット。 ベース・ファイルにはログのメタデータが保持され、コンテナーにはログ・レコードが保持されます。 すべてのコンテナは同じサイズです。

client
CLFS ログを使用するアプリケーション、ドライバー、スレッド、またはその他のソフトウェア単位。

record
クライアントがログに追加したり、ログから読み取ったりできるデータの単位。

stream
ログ内のレコードの順序付けされたサブセット。 ログには 1 つ以上のストリームを含めることができます。 クライアントは、特定のストリームにレコードを追加し、特定のストリームからレコードを読み取ります。 特定のストリーム内のレコードを比較して、書き込まれた順序を判断できます。 異なるストリームのレコードを比較することはできません。 特定のストリームは、複数のクライアントを持つことができます。 たとえば、複数のスレッドが 1 つのストリームにレコードを追加できます。 クライアントに対して、ストリームはログ全体であるかのように表示されます。

専用ログ
ストリームを 1 つしか持つことができないログ。

多重化ログ
複数のストリームを含めることができるログ。

ログ I/O ブロック
CLFS が、安定したストレージにアトミックに書き込まれる一連のレコードを収集するバッファー。

マーシャリング領域
ログ レコードを収集し、安定したストレージに書き込むために CLFS クライアントによって作成、保守、およびスケジュールされる一連のログ I/O ブロック。 特定のマーシャリング領域に対して揮発性メモリに割り当てられるログ I/O ブロックは、すべて同じサイズです。

注: 特定のマーシャリング領域のすべてのログ I/O ブロック (揮発性メモリ内) は同じサイズですが、(そのマーシャリング領域から) 安定ストレージに書き込まれるログ I/O ブロックのサイズは異なります。 たとえば、ログ I/O ブロックがいっぱいになる前に強制的に安定したストレージに移行された場合、ブロックの使用済み部分のみが安定したストレージに書き込まれます。

ログシーケンス番号 (LSN)
特定のストリーム内のログ レコードを一意に識別する値を保持する不透明な構造。 クライアントがストリームにレコードを書き込むと、将来レコードを識別するために使用できる LSN が返されます。 CLFS がストリーム内のレコードに割り当てる LSN は、増加するシーケンスを形成します。 つまり、ストリーム内のレコードに割り当てられた LSN は、同じストリームに以前に書き込まれたレコードに割り当てられた LSN よりも常に大きくなります。

注: ストリーム間のレコードは比較できません。 つまり、異なるストリーム内の 2 つのレコードの LSN を比較して、どちらのレコードが最初に書き込まれたかを判断することはできません。

ベースLSN
ストリームのクライアントが引き続き必要とするストリーム内の最も古いレコードの LSN。 クライアントは、ベース LSN の更新を担当します。

最後のLSN
ストリーム内の最も若いレコードの LSN で、ストリームのクライアントによってまだ必要とされています。 通常、これはストリームに最後に書き込まれたレコードですが、クライアントには、ストリーム内の以前のレコードを指すように最後の LSN を手動で設定するオプションがあります。 最後の LSN を以前のレコードに手動で設定することは、ストリームの切り捨てと呼ばれます

アーカイブテール
アーカイブが行われなかったログ内の最も古いレコードの LSN。 すべてのログにアーカイブ末尾があるわけではありません。 アーカイブ末尾を持たないログはエフェメラルと呼ばれ、アーカイブ末尾を持つログは非エフェメラルと呼ばれます。 クライアントがログにアーカイブ末尾を持つことを指定する場合、クライアントはアーカイブ末尾を更新する責任があります。

ストリームのアクティブな部分
クライアントによって現在使用されているストリームの部分。 アクティブな部分は、ベース LSN またはアーカイブの末尾のいずれか小さい方が指すレコードで始まります。 アクティブな部分は、最後の LSN が指すレコードで終わります。