「これからのための気持ちの整理。 」

これからのことを考えています。本当に、本当にめんどうくさい、めんどくさい人間です。これからのために、気持ちの整理をします。

RDBMSまとめ

RDBMS内部の一つのテーブルからデータを取り出す方法(アクセス・パス)にはテーブル全体を先頭から順に検索していく方法(全表走査)もあればインデックスを利用する方法もある。テーブルを結合し複数のテーブルを扱う際のアルゴリズムや結合順序にも様々ある。

SQL文を解析して内部形式で表した実行計画を作成するまでの処理を,SQL文の「コンパイル」と呼ぶことがあります。

 

DBを構成するファイルはデータファイル、ログファイル(CRUD操作、障害等履歴)、コントロールファイル(rdbmsの管理する基本情報)がある。データファイルの中身はページという単位で構成される。エクステントはページのまとまり。SQLServerではサイズが8kbで固定(O社は可変

エクステントは基本的にDBのオブジェクト(テーブル、インデックス等)1つに対して割り当てられる。オブジェクトのサイズがエクステントの容量を超えた場合、新たなエクステントを追加して割り当てる。(一オブジェクトが複数のエクステントで構成される場合は必ずしも連続して配置されない。)

ページは「ページヘッダ」(アドレスやページタイプ(テーブルorインデックス)を持つヘッダ)や「テーブルディレクトリ」(テーブル名などの詳細)の2つのデータが固定長で存在し、レコードが追加される度、「レコードディレクトリ」(ID表)と「レコードデータ」が追加されデータが増えていく。

レコードデータは(各サービスで定義が異なる。)ヘッダーにフィールド数やレコードチェーン(可変長フィールドデータ更新時等にページの容量を超えた場合に空き容量の別ページにデータを移し、代わりにポインタを格納している状態)の情報を持つ。続けてフィールドのデータ長とデータ本体を持つ(Oracle

 

 

特集:基礎から理解するデータベースのしくみ | 日経 xTECH(クロステック)