コンシステントハッシュ法とは?こんしすてんとはっしゅほう
コンシステントハッシュ法とは、キーとノードの双方を環状のハッシュ空間へ置き、キーは環を時計回りにたどって最初に当たったノードが受け持つ、という分散配置の決め方。ノードを増減しても移動するキーが全体のごく一部で済むため、無停止でスケールできる。代償として担当区間が偏りやすく、仮想ノードによる平準化と配置情報の管理が要る。
最終更新:2026-10-06
システムアーキテクトを最短で暗記・合格する →背景
ハッシュ値をノード数で割った剰余で振り分ける単純な方式では、一台増やすだけで大半のキーの担当が変わる。キャッシュなら総入替え、分散データストアなら全データの再配置となり、増設が長時間の停止か大幅な性能劣化を伴うイベントになってしまう。増設を日常の作業に変えるために、再配置の量を意図的に抑える配置方式が要求された。
具体例
4ノードから5ノードへ増やす場合、剰余方式では大半のキーが移動するのに対し、この方式では新ノードが受け持つ区間だけ、おおむね全体の五分の一が移動する。Apache CassandraやAmazon DynamoDBの基になったDynamoが採用しており、Cassandraでは一台を既定で256の仮想ノードに分けて偏りを抑えている。
試験での引っ掛け
「自動的に均等になる」わけではなく、仮想ノードを前提に初めて平準化される。またキーが環上に散る性質上、キー順の範囲検索には向かない。範囲でまとめて読む要件があるなら、レンジ分割を選ぶほうが設計として合う。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。