データベース
テーブルパーティショニングに関する説明として、最も適切なものはどれか。
ア.パーティショニングを行うと、クエリは必ず全パーティションを検索するため、小規模テーブルには効果がない。
イ.水平パーティショニングは列を分割し、アクセス頻度の低い列を別テーブルに移動してIOを削減する手法である。
ウ.水平パーティショニング(シャーディング)は行単位でテーブルを分割し、垂直パーティショニングは列単位でテーブルを分割する手法である。正解
エ.垂直パーティショニングは行を年月などの範囲で分割し、古いデータを自動的にアーカイブする仕組みである。
解説
パーティショニングは「大きな本棚を区画割りする」イメージ。水平=棚の段を行で区切る(2020年の本・2021年の本…)、垂直=棚の列を属性で区切る(タイトルの棚・著者の棚…)。
なぜ ウ が正解か
ウが正解。水平パーティショニングはレコード(行)単位で分割する。例:注文テーブルを年月でRange分割、ユーザーIDでHash分割。垂直パーティショニングはカラム(列)単位で分割する。例:アクセス頻度の高い列だけをホットテーブルに残す。
出典: AI生成問題(学習用)