データベーススペシャリスト試験 2023年 午前202


大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に従って、複数のノードにデータを分散して割り当てる方法はどれか。
[規則]  ・データの先頭文字がA~Gの場合はノード1に納する。  ・データの先頭文字がH~Nの場合はノード2に格納する。  ・データの先頭文字がO~Zの場合はノード3に格納する
2相コミットプロトコル
コンシステントハッシング
シャーディング(正解)
レプリケーション

解説

大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる方法はどれか【午前2 解説】

要点まとめ

  • 結論:データを規則的に複数ノードに分散する方法は「シャーディング」である。
  • 根拠:シャーディングはデータを特定のキー(ここでは先頭文字)に基づき分割し、複数のノードに割り当てる技術である。
  • 差がつくポイント:シャーディングはデータ分散の基本手法であり、2相コミットやレプリケーションとは役割が異なる点を理解することが重要。

正解の理由

問題文の規則に従い、データの先頭文字によってノード1~3に割り当てる方法は、データをキーに基づいて分割し複数のノードに分散配置する「シャーディング」の典型例です。
2相コミットは分散トランザクションの整合性確保、コンシステントハッシングは動的なノード追加・削除に強い分散ハッシュ法、レプリケーションはデータの複製による可用性向上を目的とします。
したがって、規則的にデータを分割し割り当てる手法として最も適切なのはウ: シャーディングです。

よくある誤解

シャーディングとレプリケーションを混同し、データの分散配置と複製を同じ意味と捉える誤解が多いです。
また、2相コミットは分散トランザクションの制御であり、データ分散の手法ではありません。

解法ステップ

  1. 問題文の規則を確認し、データの割り当て基準を把握する。
  2. 各選択肢の意味と役割を整理する。
  3. 「データを複数ノードに分割して割り当てる」技術を特定する。
  4. 2相コミットやレプリケーションとの違いを明確にする。
  5. 最も適切な選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 2相コミットプロトコル
    分散トランザクションの整合性を保つためのプロトコルであり、データの分散割り当て方法ではない。
  • イ: コンシステントハッシング
    動的にノードが増減する環境で負荷分散を行う手法で、規則的な範囲分割とは異なる。
  • ウ: シャーディング
    データをキーに基づいて複数ノードに分割し割り当てる技術で、問題の規則に合致する。
  • エ: レプリケーション
    データの複製を複数ノードに保持し可用性を高める手法で、分散割り当てとは目的が異なる。

補足コラム

シャーディングは大規模データベースや分散システムで性能向上やスケーラビリティ確保のために用いられます。
一方、コンシステントハッシングはノードの増減が頻繁なクラウド環境で負荷分散を安定化させる技術として注目されています。
2相コミットは分散トランザクションの整合性確保に不可欠ですが、シャーディングとは役割が異なります。

FAQ

Q: シャーディングとレプリケーションの違いは何ですか?
A: シャーディングはデータを分割して異なるノードに配置する技術、レプリケーションは同じデータを複数ノードに複製し可用性を高める技術です。
Q: コンシステントハッシングはどんな場面で使われますか?
A: ノードの増減が頻繁に起こる分散システムで、データの再配置を最小限に抑えつつ負荷分散を行う際に使われます。

関連キーワード: シャーディング, 分散データベース, データ分散, 2相コミット, コンシステントハッシング, レプリケーション, ノード割り当て, スケーラビリティ
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ