【からむふぁみりー】
カラムファミリー とは?
最終更新:
💡 関連する引き出しを同じ棚にまとめた整理術
BigtableやHBaseで、関連するカラム(列)をまとめて管理する単位。保存設定などにも使う。Cassandraでは同じ用語がCQLのテーブルに相当するため、製品による違いに注意する。
📌 このページのポイント
カラムファミリーって普通のテーブルの列と何が違うの?
BigtableやHBaseでは、テーブル内の列をまとめるグループだよ。たとえばprofileというファミリーにnameとemailという列を入れる。列はファミリー名と、その中の列名の組で識別するんだ。
まとめると何がうれしいの?
HBaseでは同じファミリーのデータをまとめて格納し、圧縮などを設定できるよ。Bigtableでは古いデータをいつ削除するかという保持方針を、ファミリー単位で設定するんだ。
どうやってグループを分けるの?
Bigtableなら、一緒に読みたい列や同じ保持方針の列をまとめるのが基本だよ。名前・メールなどの基本情報と、短期間だけ残す活動記録を分ける例が考えられる。分ければ必ず高速になるわけではなく、実際の読み書きに合わせて設計するんだ。
Cassandraでも同じ構造?
列指向データベースと同じものなの?
まとめ:ざっくりこれだけ覚えればOK!
「カラムファミリー」って出てきたら「関連するカラムをまとめた列のグループ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Column Family」 = 列の家族・グループ
💬 Columnは「列」、Familyは「家族」を意味するよ。関連する列をひとまとまりとして捉える言葉だね