データベーススペシャリスト試験 令和5年度 秋期 午前II 問2
大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に従って、複数のノードにデータを分散して割り当てる方法はどれか。 [規則] ・データの先頭文字がA~Gの場合はノード1に格納する。 ・データの先頭文字がH~Nの場合はノード2に格納する。 ・データの先頭文字がO~Zの場合はノード3に格納する。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
シャーディングとは、大量のデータを一定の規則で分割し、それぞれを異なるノードに格納する方法です。この問題では、先頭文字の範囲をシャードキーとしてデータを三つに水平分割しています。A~G、H~N、O~Zという範囲ごとに格納先を決める方式は、シャーディングのうち、キーの値の範囲を用いるレンジシャーディングに当たるので、ウが正解です。各ノードが担当するデータを分担するため、1台当たりの保存量や処理負荷を減らせます。
アの2相コミットプロトコルは誤りです。これは複数のノードにまたがるトランザクションを、全てコミットするか全てロールバックするかに統一するための分散トランザクション制御です。
イのコンシステントハッシングは誤りです。これはキーをハッシュ値に変換して環状のハッシュ空間に配置し、ノードの追加や削除に伴うデータ移動を少なくする方法です。文字の範囲を直接指定する本問の方式とは異なります。
エのレプリケーションは誤りです。これは同じデータの複製を複数のノードに保持し、可用性や読出し性能を高める方法です。データを分担して格納する方法ではありません。
【ポイント】 シャーディングはデータを分割し、レプリケーションはデータを複製します。 シャードキーの選び方が偏ると、特定ノードだけに負荷が集中します。 範囲による分割、ハッシュによる分割などの方式があります。
出典:令和5年度 秋期 データベーススペシャリスト試験 午前II 問2
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる