【ぱーてぃしょにんぐ】
パーティショニング とは?
最終更新:
💡 大きな表を区画分けして、探す範囲を絞る
データベースで、論理的には一つの表を、日付や値などのルールで複数の区画に分けること。検索する範囲を減らしたり、区画ごとにデータを管理したりするのに使う。
📌 このページのポイント
パーティショニングは、どんなときに役立つ?
例えば注文を月別の区画に分け、ある月だけを調べる使い方だよ。検索条件から不要な区画を除外できれば、見る範囲を減らせる。古い月のデータを区画ごとに管理する使い方もあるね。何行を超えたら必ず必要、という固定の基準ではないんだ。
RANGE・LIST・HASHって?
RANGEは日付や数値の範囲、LISTは地域コードなどの値の集合、HASHはキーのハッシュに基づいて振り分けるよ。検索の仕方や保存期間に合わせて選ぶ。ハッシュなら、どんなデータでも完全に同じ件数になるという意味ではないよ。
シャーディングとは同じ?
どちらもデータを分ける考え方だけれど、シャーディングは複数のDBへ分散する文脈で使われるよ。ここではPostgreSQLの一つの表を区画に分ける例を見ている。製品によって分割と配置の仕組みは違うので、サーバー一台に限定された技術とは覚えないでおこう。
分ければ、すべての検索が速くなる?
まとめ:ざっくりこれだけ覚えればOK!
「パーティショニング」って出てきたら「大きな表を区画に分けて、検索や管理をしやすくすること」と思えばだいたいOK!
📖 おまけ:英語の意味
「Partitioning」 = 分割すること
💬 Partition(区画・仕切り)から。テーブルを仕切って区画分けするイメージ