【からむ】

カラム とは?

💡 テーブルの「縦方向の項目」、データの種類を定義する列
📌 このページのポイント
データベーステーブルの行と列(カラム) ID 名前 メール 1 田中太郎 tanaka@example 2 鈴木花子 suzuki@example 3 佐藤次郎 sato@example ↑ カラム(列) ← 行 カラム=縦方向(属性) 行(レコード)=横方向
カラム(列)と行(レコード)のイメージ
ひよこ ひよこ

カラムってどんな単位なの?

ペンギン先生 ペンギン先生

テーブルを「表」として考えると、縦が「カラム(列)」、横が「レコード」。例えばusersテーブルなら「id・name・email・created_at」がカラム。各行(レコード)が1人のユーザーのデータ。

ひよこ ひよこ

データ型って何のためにあるの?

ペンギン先生 ペンギン先生

「ageカラムはINT(整数)」と定義すれば文字列が入れられなくなる。「emailカラムはVARCHAR(255)」とすれば255文字以上は入らない。データの型を決めることで不正なデータの混入を防いで効率的にデータを保存できる。

ひよこ ひよこ

インデックスをカラムに作るって何?

ペンギン先生 ペンギン先生

本の「索引」みたいなもの。検索によく使うカラム(例:email)にインデックスを作ると、「WHERE email = 'test@example.com'」の検索が全行スキャンせずに高速に見つかる。データが多いほど効果が大きい。

ひよこ ひよこ

カラム型データベースって普通のデータベースと何が違うの?

ペンギン先生 ペンギン先生

通常のRDBは行(レコード)単位でデータを保存するけど、カラム型(列指向)は列ごとにデータをまとめて保存するんだ。「全ユーザーの年齢の平均」を出すとき、行指向は全行を読む必要があるけど、カラム型は年齢列だけ読めばいい。だから分析クエリが圧倒的に速いんだよ。BigQueryやRedshift、ClickHouseがカラム型の代表例だね。さらに同じ列のデータは似た値が多いから圧縮率も高い。TBクラスのデータ分析では行指向と桁違いの性能差が出ることがあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
カラムって出てきたら「DBテーブルの縦方向の項目(列)、データの種類を定義するもの」と思えばOK!
📖 おまけ:英語の意味
「Column」 = 柱・縦の列
💬 表の「縦列(column)」を指す。建築の「柱(column)」と同語源で、縦に積み重なるデータ項目を表す
← 用語集にもどる