3章ファイルフォーマット

Bツリーの基本的な説明が終わり、次に取り掛かるのは、Bツリーおよびその他の構造がディスク上に実際どのように実装されているかの探究です。ディスクにアクセスする方法は、メインメモリにアクセスする方法と異なっています。アプリケーション開発者の観点から見ると、メモリへのアクセスはほぼ透過的です。仮想メモリのおかげで[BHATTACHARJEE17]、オフセットを手動で管理する必要はありません。ディスクへのアクセスにはシステムコールを使用します(https://databass.dev/links/54)。通常はターゲットファイル内でオフセットを指定し、その後にディスク上のデータ表現をメインメモリに適した形式に変換する必要があります。

このことは、効率的なディスク上の構造はこの区別を念頭に置いて設計される必要があるということです。そのためには、構築、変更、および解釈が容易なファイルフォーマットを考案する必要があります。この章では、Bツリーのみではなく、あらゆる種類のディスク上の構成の設計に役立つ、一般的な原則と実践方法を検討します。

Bツリーの実装には多様性がありますが、ここではいくつかの役立つ技術的観点に絞って検討します。実装ごとに詳細は異なりますが、一般的な原則は同じです。Bツリーに関してスプリットやマージなどの基本的な仕組みを理解することは必須ですが、それだけでは現実的な実装にとって十分ではありません。最終的に有益な結果を導くように連携して機能しなければならない多くの要素が存在します。

ディスク上の構造におけるポインタ管理の意味は、メモリ内の構造の場合と多少異なります。その点では、ディスク上のBツリーをページ管理のメカニズムと考えることが有効です。それは、アルゴリズムによって ...

Get 詳説 データベース ―ストレージエンジンと分散データシステムの仕組み now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.