平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
テクノロジ/データベース次のチェックポイントの仕様に従ってトランザクション処理を行うDBMSにおいて,チェックポイントの発生頻度は1時間当たり何回か。ここで,トランザクションは毎秒20件発生し,1トランザクションごとに消費されるデータベースバッファ領域のデータ量及びログファイルに書き出すログ長はどちらも10kバイトとする。データベースバッファ領域の容量は480Mバイトとし,一つのログファイルのサイズは240Mバイトとする。1Mバイト=10³kバイトとする。開始時点では,データベースバッファ領域,ログファイルともに初期化状態であるとする。DBMSは,ログファイルを二つもち,一方を使い切ったら他方に切り替え,使い切った一方をアーカイブして初期化する。ログファイルへの書込み処理はWALプロトコルに従う。 〔チェックポイントの仕様〕 1. チェックポイントが発生する条件 A. データベースバッファ領域に空きがなくなったとき,又は B. ログファイルが切り替わるとき 2. チェックポイント終了時のデータベースバッファの状態 データベースバッファ領域は,データベースファイルへの反映後,初期化される。
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
- ア1.5
- イ2
- ウ3
- エ6
正解:ウ
解説
チェックポイントは,(A)データベースバッファ領域に空きがなくなったとき,又は(B)ログファイルが切り替わるときに発生します。トランザクションは毎秒20件発生し,1件当たり10kバイトのバッファ消費とログ出力があるので,1秒当たりの消費量は200kバイトです。データベースバッファ領域480Mバイト(480,000kバイト)が満杯になるまでの時間は480,000÷200=2,400秒であり,これが条件Aによるチェックポイント間隔です。一方,ログファイル1本のサイズは240Mバイト(240,000kバイト)なので,1本を使い切るまでの時間は240,000÷200=1,200秒であり,これが条件Bによるチェックポイント間隔です。チェックポイントは条件A,Bのいずれか早い方(1,200秒ごと)で発生するため,1時間(3,600秒)当たりの発生回数は3,600÷1,200=3回となります。
選択肢ごとの解説
- ア誤り。条件A(バッファ満杯までの時間2,400秒)だけを基準に計算すると1時間で1.5回となりますが,条件B(ログファイル切替えまでの時間1,200秒)の方が短い間隔で発生するため,これは正しい発生頻度ではありません。
- イ誤り。何らかの誤った条件で計算した値であり,条件A・Bのいずれの間隔(2,400秒又は1,200秒)からも導かれる値ではありません。
- ウ正しい。ログファイルの切替え間隔1,200秒ごとにチェックポイントが発生するため,1時間(3,600秒)では3,600÷1,200=3回発生します。
- エ誤り。何らかの誤った条件で計算した値であり,条件A・Bから導かれる発生頻度とは一致しません。