LinuCレベル2 システムアーキテクチャの設計 問17
システムアーキテクチャの設計/典型的なシステムアーキテクチャWeb三層モデルのデータ層を、プライマリとレプリカによるデータベースレプリケーションで冗長化する構成の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムアーキテクチャの設計」に対応。実際の試験問題ではありません)
- A更新はプライマリで受けてレプリカへ複製し、参照処理の分散先や障害時の切り替え先にレプリカを使える
- Bどのレプリカに書き込んでも全ノードへ即座に反映されるため、書き込み性能が台数に比例して向上する
- Cレプリカはプライマリと同じ内容を持つため、誤って削除した行もレプリカから確実に復元できる
- D非同期レプリケーションなら、プライマリが障害で停止しても確定済みの更新が失われることは一切ない
正解:A
解説
プライマリ/レプリカ型のレプリケーションでは、更新処理をプライマリが受け付け、その変更をレプリカへ複製します。レプリカは参照系のクエリの分散先として使えるほか、プライマリの障害時に昇格させて切り替える先にもなります。ただし、誤操作による削除もそのままレプリカへ複製されるため、レプリケーションはバックアップの代わりにはなりません。非同期レプリケーションでは、プライマリが確定した更新がレプリカに届く前に障害が起きると、その更新が失われる可能性があります。
選択肢ごとの解説
- A正しい。更新はプライマリが受けてレプリカへ複製し、レプリカは参照処理の分散や障害時の切り替えに利用できます。
- B誤り。プライマリ/レプリカ型では書き込みはプライマリに集中するため、台数を増やしても書き込み性能は比例して伸びません。
- C誤り。削除などの誤操作もレプリカへ複製されるため、レプリケーションは誤操作からの復旧手段にはならず、別途バックアップが必要です。
- D誤り。非同期レプリケーションでは、レプリカへ届く前の更新がプライマリの障害時に失われる可能性があります。