[ Prev ]
2020-04-08

-- Apr 8 In-Class Exercise Thread
<T1, X, 6, 8>
X = 8 is in memory
<COMMIT T1>
<T2, Y, 10, 5>
Y = 10 is in memory
<START DUMP>
<START CKPT>
<FLUSH LOG>
Dirty buffers are written to disk
Database copies x as 8 to disk
Database copies y as 5 to disk
<End Checkpoint (T2)>
Db copies x to as 8 to archive
Db copies y to as 5 to archive
<End Dump>
Throw out log file before T2
(Edited: 2020-04-08)
<T1, X, 6, 8> X = 8 is in memory <COMMIT T1> <T2, Y, 10, 5> Y = 10 is in memory <START DUMP> <START CKPT> <FLUSH LOG> Dirty buffers are written to disk Database copies x as 8 to disk Database copies y as 5 to disk <End Checkpoint (T2)> Db copies x to as 8 to archive Db copies y to as 5 to archive <End Dump> Throw out log file before T2

-- Apr 8 In-Class Exercise Thread
<T1, X , 6, 8>
<C0MMIT T1>
<FLUSH LOG>
<T2, Y, 10, 5 >
<START DUMP>
<START CKPT (T2)>
<FLUSH LOG>
<END CKPT>
<END DUMP>
(Edited: 2020-04-08)
<pre> <T1, X , 6, 8> <C0MMIT T1> <FLUSH LOG> <T2, Y, 10, 5 > <START DUMP> <START CKPT (T2)> <FLUSH LOG> <END CKPT> <END DUMP> </pre>

-- Apr 8 In-Class Exercise Thread
<T1, X, 6, 8> <COMMIT T1> <FLUSH LOG> <T2, Y, 10, 5> <START DUMP> <START CHECKPOINT(T2)> <COMMIT (T2)> <FLUSH LOG> <END CHECKPOINT> <END DUMP>
x = 8 and y = 5 are copied to archive
(Edited: 2020-04-08)
<T1, X, 6, 8> <COMMIT T1> <FLUSH LOG> <T2, Y, 10, 5> <START DUMP> <START CHECKPOINT(T2)> <COMMIT (T2)> <FLUSH LOG> <END CHECKPOINT> <END DUMP> x = 8 and y = 5 are copied to archive

-- Apr 8 In-Class Exercise Thread
<T1, X, 6, 8>
<COMMIT T1>
x not in disk
<FLUSH LOGS>
<START DUMP>
 <START CHECKPOINT (T2)>
<T2, Y, 10, 5>
<FLUSH LOGS>
<END CKPT T2>
 X=8 is copied
 Y=5 is copied
<END DUMP>
(Edited: 2020-04-09)
<T1, X, 6, 8> <COMMIT T1> x not in disk <FLUSH LOGS> <START DUMP> <START CHECKPOINT (T2)> <T2, Y, 10, 5> <FLUSH LOGS> <END CKPT T2> X=8 is copied Y=5 is copied <END DUMP>
2020-04-12

-- Apr 8 In-Class Exercise Thread
Given: X = 6, Y = 10 Using undo-redo logging.
...
...
...
<T1 X 6, 8>
<COMMIT T1> # X not written to disk yet
<FLUSH LOG>
<START DUMP>
<T2 Y 10, 5>
<START CKPT(T2)>
//Output the dirty buffer where X lives to disk
<END CKPT>
<END DUMP>
<COMMIT T2>
//Effects of T2 will not be in archive. 
 
(Edited: 2020-04-12)
Given: X = 6, Y = 10 Using undo-redo logging. <pre> ... ... ... <T1 X 6, 8> <COMMIT T1> # X not written to disk yet <FLUSH LOG> <START DUMP> <T2 Y 10, 5> <START CKPT(T2)> //Output the dirty buffer where X lives to disk <END CKPT> <END DUMP> <COMMIT T2> //Effects of T2 will not be in archive. </pre>

-- Apr 8 In-Class Exercise Thread
 <T1, X, 6, 8>
 <COMMIT T1>
 <FLUSH LOG>
 <START DUMP> 
 <START CHECKPOINT T2>
 <T2, Y, 10, 5>
 <COMMIT T2>
 <FLUSH LOG>
 <OUTPUT X>
 <OUTOUT Y>
 <END CHECKPOINT>
 <ARCHIVE X>
 <ARCHIVE Y
 <END DUMP> 
  Copy log records in archive
<T1, X, 6, 8> <COMMIT T1> <FLUSH LOG> <START DUMP> <START CHECKPOINT T2> <T2, Y, 10, 5> <COMMIT T2> <FLUSH LOG> <OUTPUT X> <OUTOUT Y> <END CHECKPOINT> <ARCHIVE X> <ARCHIVE Y <END DUMP> Copy log records in archive

-- Apr 8 In-Class Exercise Thread
<T1, X, 6, 8> <COMMIT T1> X = 8 has not yet been added to disk, so on disk x still = 6, and on memory x = 8 <FLUSH LOG> <START DUMP> <START CKPT T2> <T2, Y, 10, 5> <COMMIT T2> <FLUSH LOG> 2nd transaction has committed and been flushed so y = 5 has been written to disk <END CKPT> <FLUSH LOG> Dirty buffers have been copied to disk <END DUMP> The old log is replaced with this new log as the new log is copied over
 
(Edited: 2020-04-13)
<T1, X, 6, 8> <COMMIT T1> X = 8 has not yet been added to disk, so on disk x still = 6, and on memory x = 8 <FLUSH LOG> <START DUMP> <START CKPT T2> <T2, Y, 10, 5> <COMMIT T2> <FLUSH LOG> 2nd transaction has committed and been flushed so y = 5 has been written to disk <END CKPT> <FLUSH LOG> Dirty buffers have been copied to disk <END DUMP> The old log is replaced with this new log as the new log is copied over

-- Apr 8 In-Class Exercise Thread
 <T1, X, 6, 8>
 <COMMIT T1>
 //X=6 on DISK
 <T2, Y, 10, 5>
 <START DUMP>
 <START CHECKPOINT T2>
 <COMMIT T2>
 <FLUSH LOG>
 <END CHECKPOINT>
 //archive X=8
 //archive X=5
 <END DUMP>
<T1, X, 6, 8> <COMMIT T1> //X=6 on DISK <T2, Y, 10, 5> <START DUMP> <START CHECKPOINT T2> <COMMIT T2> <FLUSH LOG> <END CHECKPOINT> //archive X=8 //archive X=5 <END DUMP>

-- Apr 8 In-Class Exercise Thread
 
 <T1, X, 6, 8>
 <T1, Commit>
 <T2, Y, 10, 5>
 Disk has X = 6 and Y = 10
 <Start Dump>
 <Start Checkpoint (T2)>
Write dirty buffers to disk
Disk has X = 8 and Y = 5
 <End Checkpoint (T2)>
DB copies X as 8
DB copies Y as 5
 <End Dump> 
 
Archive has X = 8 and Y = 5 
 
(Edited: 2020-04-13)
<pre> <T1, X, 6, 8> <T1, Commit> <T2, Y, 10, 5> Disk has X = 6 and Y = 10 <Start Dump> <Start Checkpoint (T2)> Write dirty buffers to disk Disk has X = 8 and Y = 5 <End Checkpoint (T2)> DB copies X as 8 DB copies Y as 5 <End Dump> Archive has X = 8 and Y = 5 </pre>

-- Apr 8 In-Class Exercise Thread
<T1, X, 6, 8>
<COMMIT T1>
// X is still 6 on disk
<START DUMP>
<T2, Y, 10, 5>
<START CKPT(T2)>
<COMMIT T2>
<FLUSH LOG>
// X = 8, Y = 5 on disk
<END CKPT(T2)>
x = 8, y = 5 to archive
<END DUMP>
(Edited: 2020-04-13)
<T1, X, 6, 8> <COMMIT T1> // X is still 6 on disk <START DUMP> <T2, Y, 10, 5> <START CKPT(T2)> <COMMIT T2> <FLUSH LOG> // X = 8, Y = 5 on disk <END CKPT(T2)> x = 8, y = 5 to archive <END DUMP>
[ Next ]
X