令和5年秋期試験問題 午前Ⅱ 問2
問2解説へ
大文字のアルファベットで始まる膨大な数のデータを,規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に従って,複数のノードにデータを分散して割り当てる方法はどれか。
[規則]
[規則]
- データの先頭文字がA~Gの場合はノード1に格納する。
- データの先頭文字がH~Nの場合はノード2に格納する。
- データの先頭文字がO~Zの場合はノード3に格納する。
- 2相コミットプロトコル
- コンシステントハッシング
- シャーディング
- レプリケーション
正解 ウ問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース応用
中分類:データベース
小分類:データベース応用
広告
解説
- 2相コミットプロトコルは、トランザクションを他のサイトに更新可能かどうかを確認する第1相と、更新を確定する第2相の2つのフェーズに分け、各サイトのトランザクションをコミットもロールバックも可能な中間状態(セキュア状態)にした後、全サイトがコミットできる場合だけトランザクションをコミットする手法です。分散データベース環境でのトランザクションの原子性・一貫性を保証するために使用されます。
- コンシステントハッシングは、分散データベースにおいてデータ保存先のノードを動的に決定するハッシュテーブルのアルゴリズムです。このアルゴリズムでは、データのキー値のハッシュ値を一つの論理的な環(リング)の上に配置します。このリングを複数の範囲に分け、各範囲を特定のノードに割り当てます。例えば、キーのハッシュ値が0から1000ならノードA、1001から2000ならノードB、という具合です。これにより、キーとノードの数の剰余計算でノードを決める一般的な方法よりも、ノードの増減に伴う保存先の変更を最小限に抑えることができます。
- 正しい。シャーディングは、大きなデータベースを分割して管理する方法です。あらかじめ各ノードに保存するデータのキー値の範囲を決め、それに基づいて大きな表をシャードと呼ばれる小さな単位に分割し、複数のノードに分割して記録します。データ処理の負荷が複数のノードに分散されるため、並列処理によりトランザクションのパフォーマンスが向上します。
- レプリケーションは、DBMSが持つ機能の一つで、あるデータベースに加えた変更を、別のネットワーク上にある複製データベースに自動的に反映させる仕組みです。定期的にデータを保全するバックアップと異なり、レプリケーションでは随時データ更新が行われるので、信頼性や耐障害性が向上します。
広告