平成30年 秋期 基本情報技術者 午前 問29

ロックの粒度に関する説明のうち、適切なものはどれか。

 ア  データを更新するときに、粒度を大きくすると、他のトランザクションの待ちが多くなり、全体のスループットが低下する。
 イ  同一のデータを更新するトランザクション数が多いときに、粒度を大きくすると、同時実行できるトランザクション数が増える。
 ウ  表の全データを参照するときに、粒度を大きくすると、他のトランザクションのデータ参照を妨げないようにできる。
 エ  粒度を大きくすると、含まれスデータ数が多くなるので、一つのトランザクションでかけるロックの個数が多くなる。


答え ア


解説

 ア  データを更新するときに、粒度を大きくすると、他のトランザクションの待ちが多くなり、全体のスループットが低下します。(〇)
 イ  同一のデータを更新するトランザクション数が多いときに、粒度を大きくすると、他のトランザクションの待ちが多くなり、同時実行できるトランザクション数は減ります。(×)
 ウ  表の全データを参照するときに、粒度を大きくすると、他のトランザクションのデータ参照を妨げてしまいます。(×)
 エ  粒度を大きくすると、含まれスデータ数が多くなるので、一つのトランザクションでかけるロックの個数は少なくなります。(×)


キーワード
・ロックの粒度

キーワードの解説
  • ロックの粒度
    保護するデータの大きさのことで、ロックの粒度を荒くするとオーバヘッドは小さいが、競合が発生する可能性が高くなります。
    また、ロックを管理するためのリソース(メモリ)の使用量は少なくてすみます。
    逆にロックの粒度が細かくなるとオーバヘッドが増えスループットは低下しますが、競合が発生する可能性は小さくなります。
    そして、ロックを管理するためのリソースの使用量は多く必要になります。

もっと、「粒度」について調べてみよう。

戻る 一覧へ 次へ