平成31年春期試験問題 午前Ⅱ 問2

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

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

  • 1.5
  • 2
  • 3
  • 6
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
トランザクションの発生頻度は毎秒20回、1トランザクション当たりのログ長は10kバイトなので、240Mバイトのログファイルに空きがなくなるまでの時間は、

 240Mバイト÷(10kバイト×20回)
=240Mバイト÷200kバイト
=1,200秒=20分

一方、480Mバイトのデータベースバッファ領域に空きがなくなるまでの時間は、

 480Mバイト÷(10kバイト×20回)=40分

となります。

初期状態から20分経つと、一方のログファイルに空きがなくなりログファイルの切替えが発生します。この時点で1回目のチェックポイントが発生します。チェックポイントの発生により、ログファイルとデータベースバッファ領域は初期化されます。

さらに20分が経過すると、切り替えた方のログファイルに空きがなくなりログファイルの切替えが発生します。これが2回目のチェックポイント発生タイミングです。1回目と同様にログファイルとデータベースバッファ領域は初期化されます。

さらに20分が経過すると、またログファイルに空きがなくなりログファイルの切替えが発生します。

このように、チェックポイントは20分おきにログファイルに空きがなくなったタイミングで発生することとなります。つまり、チェックポイントの発生頻度は1時間当たりに3回です。

Pagetop