シャーディングとは?シャーディング
シャーディングとは、1つの表のデータを行方向に分割し、シャードキーの範囲やハッシュ値に応じて複数のノードへ振り分ける方式。ノードを足せば書込み性能と格納容量の両方が増えるため、1台のサーバの上限を超えて拡張できる。水平分割(パーティショニング)を複数ノードへ広げたものと捉えるとよい。
最終更新:2026-10-06
この語が出る過去問を解く →背景
レプリケーションは複製を増やして読取りを分散できるが、書込みはマスタ1台に集中し、扱えるデータ量も1台に収まる範囲に縛られたままになる。上位機種への置き換えにも価格と性能の限界がある。データそのものを割って別々のノードに置けば、この2つの天井を同時に外せる。
具体例
会員IDのハッシュ値でノードを決めれば、会員ごとの参照は1ノードで完結する。Amazon DynamoDBのパーティションキーやMongoDBのシャードキーが同じ考え方に立っている。
試験での引っ掛け
列方向に分ける垂直分割との違いに注意。シャードキーを含まない検索は全ノードへの問合せ(スキャッタ・ギャザ)になって性能が出ず、ノードをまたぐ結合やトランザクションも難しくなる。キーの選び方を誤ると負荷が1ノードに偏る。
関連用語
出た過去問
出典:令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問2(IPA)
大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に従って、複数のノードにデータを分散して割…
正解:シャーディング
要点:シャーディングは規則に従いデータを分割配置する水平分割
シャーディングは、大量のデータをある規則で分割し、それぞれを別のノードに保持させる水平分割の手法である。設問の規則は先頭文字の範囲で格納先ノードを決めており、データそのものを分けて配置しているのでシャーディングに当たる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 5. データベース応用 > (2) 分散データベースに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。