DBデータベーススペシャリスト試験 午前Ⅱ
平成22年度春期 データベーススペシャリスト 午前Ⅱ 問18
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア2相ロック方式は,分散型データベースのための制御方式であり,集中型データベースでは使用されない。
- イ資源をロックする時間の長さのことをロックの粒度といい,この粒度が細かいほど,トランザクションのスループットは向上する。
- ウダーティリードを許すなど,隔離性水準を下げると,トランザクションのスループットは低下する。
- エ同時実行制御の目的は,データベースの一貫性を保ちながら複数のトランザクションを並行に処理することである。
解き方のヒントを見る
境界と整合性の確認視点
処理の開始点と終了点を意識し、途中で失敗や中断が起きた場合に、データ全体へどの時点の結果が反映されるかを整理して考えましょう。
この問題で問われていること
トランザクションの境界が、複数の操作とデータの整合性にどう関係するかに注目し、処理前後で保たれるべき状態を比較しましょう。
視点
個々の操作だけでなく、ひとまとまりの処理として扱われる範囲を確認します。その範囲と処理結果の扱いを、処理前後の状態から整理しましょう。
確認ポイント
- 処理のひとまとまりがどこからどこまでか
- 途中で問題が起きた場合のデータ状態
- 処理前後で整合性を確認する対象
正解と解説を見る
正解
エ
解説
同時実行制御は、複数のトランザクションを並行して処理しながら、データベースの一貫性を保つための仕組みです。したがって、適切な記述はエです。
理由
データベースでは、複数のトランザクションを並行処理すると処理効率を高められる一方、更新の競合などによってデータの一貫性が損なわれる可能性がある。同時実行制御は、この一貫性を保ちながら並行処理を実現することを目的とする。
比較
2相ロック方式は分散型に限定されず、集中型でも利用できる。ロックの粒度は資源の範囲の細かさを指し、ロック時間の長さではありません。また、ダーティリードを許すなど隔離性水準を下げると、一般に並行性を高めやすい。
選択肢ア
これは不正解だよ。2相ロック方式は、分散型データベースだけに用いられる制御方式ではない。トランザクションのロック取得と解放を管理する方式であり、集中型データベースでも使用されるため、「集中型データベースでは使用されない」という後半が誤りである。
選択肢イ
これは不正解だよ。ロックの粒度とは、表やページ、行など、ロック対象となる資源の範囲の細かさを表す。資源をロックしている時間の長さではないため、選択肢は用語の定義を取り違えており、記述全体が適切ではない。
選択肢ウ
これは不正解だよ。ダーティリードを許すなど隔離性水準を下げると、トランザクション間の待ち合わせを減らし、並行処理を行いやすくする方向に働く。したがって、スループットが低下するという記述は、隔離性水準を下げた場合の効果と反対である。
選択肢エ(正解)
これは正解だよ。同時実行制御は、複数のトランザクションを並行して処理する際に、更新の競合などによってデータベースの一貫性が損なわれないようにする仕組みである。並行処理と一貫性の維持を同時に目指す説明なので適切である。
学習のポイント
同時実行制御の目的と、ロック・隔離性水準に関する用語の定義を正確に区別する。
出典:独立行政法人 情報処理推進機構(IPA)平成22年度春期 データベーススペシャリスト試験 午前Ⅱ 問18(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針