ホーム > データベーススペシャリスト試験 > 2011年
データベーススペシャリスト試験 2011年 午前2 問23
磁気ディスクのレコードを, 直接アクセスで検索するプログラムがある。このアクセス時間の大部分は, 位置決め時間と回転待ち時間と転送時間から成る。ブロック長と検索時間の関係に関する説明のうち、 適切なものはどれか。ここで, 位置決め時間と回転待ち時間はブロック長に依存せず, 同一ブロック内の複数レコードを同時に直接アクセスで検索することはないものとする。
ア:ブロック長を大きくしても, 1 レコード当たりの転送時間は一定であるので, 検索時間は変わらない。
イ:ブロック長を大きくすると, 1ブロック当たりのレコード数が増えるので, 検索時間は短くなる。
ウ:ブロック長を大きくすると, ブロックの転送時間が長くなり, その分だけ検索時間は長くなる。(正解)
エ:ブロック長を調整するよりも、ディスクキャッシュを導入する方が, 検索時間短縮に効果的である。
解説
磁気ディスクのブロック長と検索時間の関係【午前2 解説】
要点まとめ
- 結論:ブロック長を大きくすると転送時間が増加し、検索時間は長くなる。
- 根拠:位置決め時間と回転待ち時間はブロック長に依存せず、転送時間のみが増加するため。
- 差がつくポイント:ブロック長の増加が転送時間に与える影響を正しく理解し、他の時間要素との関係を区別できるか。
正解の理由
選択肢ウは「ブロック長を大きくすると、ブロックの転送時間が長くなり、その分だけ検索時間は長くなる」と述べています。磁気ディスクのアクセス時間は位置決め時間+回転待ち時間+転送時間で構成され、位置決め時間と回転待ち時間はブロック長に依存しません。したがって、ブロック長が大きくなると転送すべきデータ量が増え、転送時間が長くなるため、検索時間全体が長くなるのは理にかなっています。
よくある誤解
ブロック長を大きくすると検索時間が短くなると誤解しがちですが、位置決めや回転待ち時間は変わらず、転送時間が増えるため総検索時間はむしろ長くなります。
解法ステップ
- 磁気ディスクのアクセス時間の構成要素を確認する(位置決め時間、回転待ち時間、転送時間)。
- 位置決め時間と回転待ち時間はブロック長に依存しないことを理解する。
- ブロック長が大きくなると転送すべきデータ量が増え、転送時間が増加することを把握する。
- 以上から、検索時間はブロック長の増加に伴い長くなると結論づける。
- 選択肢の内容と照らし合わせて正しいものを選ぶ。
選択肢別の誤答解説
- ア: 「1レコード当たりの転送時間は一定」とありますが、ブロック長が大きくなると転送時間は増加し、検索時間は変わりませんというのは誤りです。
- イ: ブロック長が大きくなると1ブロック内のレコード数は増えますが、問題文で「同一ブロック内の複数レコードを同時に検索しない」とあるため、検索時間は短くなりません。
- ウ: 正解。ブロック長増加により転送時間が増え、検索時間が長くなる。
- エ: ディスクキャッシュの導入は効果的ですが、問題はブロック長と検索時間の関係に限定しているため、比較対象として不適切です。
補足コラム
磁気ディスクのアクセス時間は、位置決め時間(シークタイム)、回転待ち時間(レイテンシ)、転送時間の3つで構成されます。位置決め時間はヘッドの移動時間、回転待ち時間は目的セクタがヘッド下に来るまでの待ち時間、転送時間はデータの読み書きにかかる時間です。ブロック長を大きくすると転送時間が増加し、全体のアクセス時間に影響を与えます。効率的なディスク設計ではこれらのバランスを考慮します。
FAQ
Q: 位置決め時間と回転待ち時間はなぜブロック長に依存しないのですか?
A: これらは物理的なヘッド移動やディスク回転にかかる時間であり、読み取るデータ量(ブロック長)とは無関係だからです。
A: これらは物理的なヘッド移動やディスク回転にかかる時間であり、読み取るデータ量(ブロック長)とは無関係だからです。
Q: ブロック長を小さくすると検索時間は短くなりますか?
A: 転送時間は短くなりますが、位置決め時間や回転待ち時間は変わらないため、総検索時間の短縮効果は限定的です。
A: 転送時間は短くなりますが、位置決め時間や回転待ち時間は変わらないため、総検索時間の短縮効果は限定的です。
関連キーワード: 磁気ディスク, アクセス時間, ブロック長, 転送時間, 位置決め時間, 回転待ち時間