基本情報技術者 2012年 秋期 午前(科目A) 問11
問題文
並列にアクセス可能な複数台の磁気ディスクに、各ファイルのデータを一定サイズのブロックに分割して分散配置し、ファイルアクセスの高速化を図る手法はどれか。
選択肢
ア:ディスクアットワンス
イ:ディスクキャッシュ
ウ:ディスクストライピング(正解)
エ:ディスクミラーリング
並列にアクセス可能な複数台の磁気ディスクにブロックを分割・分散配置して高速化する手法はどれか【午前2 解説】
要点まとめ
- 結論: 並列アクセス可能な複数台ディスクにブロック単位で分散配置して高速化する手法はディスクストライピングである。
- 根拠: データをストライプ(ブロック)単位で複数ディスクに分散すると、同時に複数ディスクへI/Oを並列実行でき帯域が合算されるため。
- 差がつくポイント: ストライピング(RAID0)は速度重視で冗長性を持たない点を押さえ、ミラーリングやパリティ方式と混同しないこと。
正解の理由
正解: ウ(ディスクストライピング)。
ディスクストライピングはファイルを一定サイズのブロック(ストライプ単位)に分割し、複数台のディスクに順次配置する手法です。読み書き時に各ディスクへ同時並列にアクセスできるため、単一ディスクの帯域に対して理想的には台でのスループットが期待できます(実効値はオーバーヘッド等で下がります)。この並列処理による高速化が問題文の条件と一致します。
ディスクストライピングはファイルを一定サイズのブロック(ストライプ単位)に分割し、複数台のディスクに順次配置する手法です。読み書き時に各ディスクへ同時並列にアクセスできるため、単一ディスクの帯域に対して理想的には台でのスループットが期待できます(実効値はオーバーヘッド等で下がります)。この並列処理による高速化が問題文の条件と一致します。
よくある誤解
- 「ミラーリングも高速化する」と考える誤解:ミラーリング(RAID1)は冗長化のための複製であり可用性が主目的。読み取りは並列化で若干改善可能でも、ストライピングほど帯域合算効果は基本的に期待できません。
- 「キャッシュと同じもの」との混同:ディスクキャッシュはメモリ上で頻度の高いデータを保持してアクセス遅延を低減する技術で、物理ディスクを分散して並列化するストライピングとは根本的に異なります。
- 「ストライピングは冗長化もする」との誤認:標準的なストライピング(RAID0)は冗長性がなく、1台の故障が全データ損失につながる点を見落としやすいです。
解法ステップ
- 問題文のキーワードを拾う:「並列にアクセス可能」「複数台の磁気ディスク」「一定サイズのブロックに分割」「分散配置」「高速化」。
- 各選択肢の意味を短く照合する:ア(ディスクアットワンス)は光学メディア書き込み用語、イ(ディスクキャッシュ)はキャッシュ、エ(ミラーリング)は複製による冗長化。
- 「分割して分散し並列アクセスで高速化」に該当するのがストライピングであると判断する。
- 冗長性の有無やRAIDレベル(RAID0=ストライピング、RAID1=ミラーリング)を確認して誤答を除外する。
選択肢別の誤答解説
- ア: ディスクアットワンス — CD-R等でメディア全体を一度に書き込む方式を指し、複数ディスクに分散して並列化する意味ではない。
- イ: ディスクキャッシュ — 主にメモリ上のキャッシュによるアクセス短縮技術で、ディスクを分散して並列化する手法ではない。
- ウ: ディスクストライピング — 正解。データをブロック(ストライプ)単位で複数ディスクに分散し、並列アクセスでスループットを向上させる手法(RAID0)。
- エ: ディスクミラーリング — データを複製して別のディスクに同じ内容を保持し冗長性を確保する手法(RAID1)。可用性向上が目的であり、ストライピングのような帯域合算による高速化とは目的が異なる。
補足コラム
- ストライピングの「ストライプサイズ(チャンクサイズ)」は性能に影響します。大きなストライプサイズは大きな連続I/Oに強く、小さなサイズはランダムI/Oで有利になることがあります。
- ストライピング自体は冗長性を持たないため、重要データにはミラーリングやパリティ(RAID5/6)の併用を検討します。RAID5はストライピング+分散パリティで容量効率と冗長性のバランスを取ります。
- 実効的なスループットはコントローラやディスク間の同期、I/Oパターン、オーバーヘッドによって理想値より低くなります。
FAQ
Q1: ストライピングは信頼性を高めますか?
A1: いいえ。ストライピング(RAID0)は冗長性がなく、1台故障でデータ全体に影響します。信頼性向上が必要ならミラーリングやパリティ方式を選びます。
A1: いいえ。ストライピング(RAID0)は冗長性がなく、1台故障でデータ全体に影響します。信頼性向上が必要ならミラーリングやパリティ方式を選びます。
Q2: ミラーリングとストライピングの違いは何ですか?
A2: ミラーリングはデータを複製して可用性を高める手法(RAID1)、ストライピングはデータを分散して並列処理で性能を上げる手法(RAID0)です。
A2: ミラーリングはデータを複製して可用性を高める手法(RAID1)、ストライピングはデータを分散して並列処理で性能を上げる手法(RAID0)です。
Q3: ストライプサイズはどう選べばよいですか?
A3: ワークロードに依存します。大きな連続転送主体なら大きめ、小さなランダムI/O多発なら小さめを検討します。実測で最適値を探すことが多いです。
A3: ワークロードに依存します。大きな連続転送主体なら大きめ、小さなランダムI/O多発なら小さめを検討します。実測で最適値を探すことが多いです。
関連キーワード: RAID、RAID0、ストライピング、ディスクストライピング、ミラーリング、ディスクキャッシュ、ストライプサイズ、ブロック配置、I/O性能

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

