IT用語集 › データベース › ハッシュパーティション

ハッシュパーティション

データベース Svenska → 更新: 2026-10-21

パーティションキーにハッシュ関数を適用し、Nで割った余りで振り分け先を決める方式。ハッシュが良ければ均等に散るため、「どの行も同じ確率でアクセスされる」OLTPの定番となる。

PostgreSQLでは PARTITION BY HASH (user_id) PARTITIONS 16 と書く。レンジ方式との違いは、範囲検索ができないこと(WHERE created_at > X は全パーティションを走査する)と、負荷の偏りが小さいことだ。テナントIDをハッシュすればテナント単位のホットスポットが生じないため、マルチテナントでよく使われる。MongoDBのハッシュ化シャードキーも同じ発想である。弱点はパーティション数の変更に再配置が要ること(停止かオンラインの再分散)。CassandraやDynamoDBはコンシステントハッシュと仮想ノードでこれを解決している。

← 用語集に戻る