前回にも書いたとおりRDBMSの重要な部分にACIDのサポートがあるが、このうちAID、つまり原子性(トランザクションのロールバック・コミットは不可分)、分離性(他のトランザクションの影響を受けない)、耐久性(一旦commitしたトランザクションは意地でも消えない)の3つをサポートするためには重要な、ログの話をしよう。 まず、この3つをサポートすると言うことは以下の3つの機能を持つことに等しいと言える。 トランザクションを完全にロールバックするために、以前のバージョンに戻すことが出来ること。 トランザクション実行中のデータが見えないように工夫できること。 トランザクションのコミット時には、完全にデータが書き込みできるていること。 ただし、「ディスク書き込み途中にクラッシュしても」というのを満たすのは結構難しい。そこで、実現のためには実行前と実行後のデータをログとして残しておく、と言うのが有