応用情報 情報セキュリティ 2 — Questions and Answers
Question 1: データベースにおける「デッドロック」の説明として正しいものはどれか。
- 複数のトランザクションが互いに相手のロック解放を永久に待ち合う状態 (Correct answer)
- データベースが完全に停止した状態
- 単一トランザクションが長時間実行される状態
- インデックスが壊れてクエリが実行できない状態
Correct answer: 複数のトランザクションが互いに相手のロック解放を永久に待ち合う状態
デッドロックはトランザクションAがリソース1をロックしてリソース2を待ち、トランザクションBがリソース2をロックしてリソース1を待つ循環待ち状態。DBMSは定期的に検出してどちらかをロールバックする。
Question 2: パーティショニングの水平分割(ホリゾンタルパーティショニング)の説明として正しいものはどれか。
- テーブルの行(レコード)を条件で複数の物理領域に分割する (Correct answer)
- テーブルの列(カラム)を複数テーブルに分割する
- データベースを複数のサーバに分散させる
- インデックスを複数に分割して検索を高速化する
Correct answer: テーブルの行(レコード)を条件で複数の物理領域に分割する
水平分割は行を条件(日付範囲・地域など)で分けて別々の物理領域に格納する。大規模テーブルの検索・メンテナンス性能向上に有効。垂直分割は列を分割する。
Question 3: SQLのEXPLAIN(実行計画)を確認する主な目的はどれか。
- クエリがどのようにインデックスを使用し実行されるかを確認しチューニングする (Correct answer)
- テーブルの定義情報を確認する
- データのバックアップ方法を確認する
- ユーザ権限の設定を確認する
Correct answer: クエリがどのようにインデックスを使用し実行されるかを確認しチューニングする
EXPLAINはSQLクエリの実行計画(どのインデックスを使うか、結合の順序など)を表示する。フルスキャンやネステッドループを発見し、インデックス追加など最適化に活用する。
Question 4: NoSQLデータベースのドキュメント指向型の特徴として正しいものはどれか。
- JSON/BSON形式のドキュメントを主単位として格納し柔軟なスキーマを持つ (Correct answer)
- キーと値のペアのみで構成される
- グラフ構造のデータを扱う
- 行と列の固定スキーマでデータを管理する
Correct answer: JSON/BSON形式のドキュメントを主単位として格納し柔軟なスキーマを持つ
ドキュメント指向DB(MongoDBなど)はJSON/BSON形式のドキュメントを単位として格納。スキーマが柔軟でネストしたデータも扱いやすい。SNSのプロフィールや商品カタログに適す。
Question 5: データウェアハウスとOLTPデータベースの違いとして正しいものはどれか。
- DWHは分析用の大量読み取り最適化、OLTPはリアルタイム更新の小トランザクション最適化 (Correct answer)
- OLTPは分析用、DWHは更新処理用
- 両者は同じ用途で使われる
- DWHはスキーマが固定でOLTPは柔軟
Correct answer: DWHは分析用の大量読み取り最適化、OLTPはリアルタイム更新の小トランザクション最適化
OLTP(Online Transaction Processing)は大量の小トランザクション(注文・決済など)の高速処理に最適化。DWHは大量のデータを集約して分析(集計・レポート)する読み取り最適化。
Question 6: レプリケーション(複製)の主な目的はどれか。
- データを複数のサーバに複製して可用性と読み取り性能を向上させる (Correct answer)
- データを圧縮してストレージを節約する
- 古いデータを自動削除する
- インデックスを再構築して検索を高速化する
Correct answer: データを複数のサーバに複製して可用性と読み取り性能を向上させる
DBレプリケーションはプライマリサーバのデータをリードレプリカに複製する。読み取りをレプリカに分散して負荷軽減、プライマリ障害時のフェイルオーバーによる可用性向上に使われる。
データベースにおける「デッドロック」の説明として正しいものはどれか。