過去問解きまくり研究所 ホーム

平成31年度 春期 午前Ⅱ 問2

トランザクション処理

チェックポイントに関する問題

次のチェックポイントの仕様に従ってトランザクション処理を行うDBMSにおいて,チェックポイントの発生頻度は1時間当たり何回か。ここで,トランザクションは毎秒20件発生し,1トランザクションごとに消費されるデータベースバッファ領域のデータ量及びログファイルに書き出すログ長はどちらも10kバイトとする。データベースバッファ領域の容量は480Mバイトとし,一つのログファイルのサイズは240Mバイトとする。1Mバイト=10^3kバイトとする。開始時点では,データベースバッファ領域,ログファイルともに初期化状態であるとする。DBMSは,ログファイルを二つもち,一方を使い切ったら他方に切り替え,使い切った一方をアーカイブして初期化する。ログファイルへの書込み処理はWALプロトコルに従う。

〔チェックポイントの仕様〕
1. チェックポイントが発生する条件
 A. データベースバッファ領域に空きがなくなったとき,又は
 B. ログファイルが切り替わるとき
2. チェックポイント終了時のデータベースバッファの状態
 データベースバッファ領域は,データベースファイルへの反映後,初期化される。

答えと解説を見る

✓ これが正解ウ3

解説

ログファイルが20分ごとに切り替わるので、チェックポイントは1時間に3回です。

1秒当たりに書き込む量を先に求め、二つの発生条件のどちらが先に来るかを比べます。トランザクションは毎秒20件、1件当たり10kバイトなので、データベースバッファもログも毎秒200kバイトずつ増えます。ログファイル1つは240Mバイト=240,000kバイトなので、240,000÷200=1,200秒、つまり20分で使い切って切り替わり、そのたびにチェックポイントが発生します。一方、バッファ480Mバイトを使い切るには480,000÷200=2,400秒かかりますが、20分ごとのチェックポイントでバッファは初期化されるので、空きがなくなる条件には一度も届きません。したがって発生は1,200秒ごとで、3,600÷1,200=3回です。条件が二つあるときは、早く来る方がもう一方をリセットしていないかを確かめるのが見分け方です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)