SkillStack
テクノロジ系2 / 25問

データベーススペシャリスト試験 令和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に質問できる
SkillStackで無料で始める