]> git.somenet.org - pub/jan/adbs.git/blob - ex1/main_2.tex
add explanation to 1.5.a
[pub/jan/adbs.git] / ex1 / main_2.tex
1 %ex1.2
2
3 \begin{enumerate}[label=(\alph*)]
4         \item
5 $ blockSize = 16 kB = 16384 b $ \\
6 $ diskBlockSize = 64 kB = 65536 b $ \\
7 $ blocksPerDiskBlock = diskBlockSize / blockSize = 4 $ \\
8 $ diskSpeed = 348160 kB/s $
9 \\
10 $ recordsPerBlockW = math.floor(blockSize / R_{w}) = 1170 $ \\
11 $ recordsPerBlockP = math.floor(blockSize / R_{p}) = 136 $ \\
12 $ recordsPerBlockE = math.floor(blockSize / R_{e}) = 252 $ \\
13 \\
14 $ numBlocksW = math.ceil(n_{w} / recordsPerBlockW) = 48 $ \\
15 $ numBlocksP = math.ceil(n_{p} / recordsPerBlockP) = 15 $ \\
16 $ numBlocksE = math.ceil(n_{e} / recordsPerBlockE) = 497 $ \\
17 \\
18 $ tableSizeW = numBlocksW * blockSize = 768 kB $ \\
19 $ tableSizeP = numBlocksP * blockSize = 240 kB $ \\
20 $ tableSizeE = numBlocksE * blockSize = 7952 kB $ \\
21 \\
22 $ numDiskBlocksW = math.ceil(numBlocksW / blocksPerDiskBlock) = 12 $ \\
23 $ numDiskBlocksP = math.ceil(numBlocksP / blocksPerDiskBlock) = 4 $ \\
24 $ numDiskBlocksE = math.ceil(numBlocksE / blocksPerDiskBlock) = 125 $ \\
25 \\
26 $ seqScanBytesW = numDiskBlocksW * diskBlockSize = 12 * 64 kB = 768 kB $ \\
27 $ seqScanBytesP = numDiskBlocksP * diskBlockSize = 4 * 64 kB = 256 kB $ \\
28 $ seqScanBytesE = numDiskBlocksE * diskBlockSize = 125 * 64 kB = 8000 kB $ \\
29 \\
30 $ totalScanBytes = seqScanBytesW + seqScanBytesP + seqScanBytesE = 9024 kB $ \\
31 \\
32 $ totalTime = totalScanBytes * 1000 ms / diskSpeed = 25.919 ms $\\
33         \item
34 $ indexReadBlocks = math.ceil( 18 kB / diskBlockSize ) = 1 $ \\
35 $ tupleReadBlocksP = 3 $ \\
36 $ totalBlocks = indexReadBlocks + tupleReadBlocksP + numDiskBlocksW + numDiskBlocksE $ \\
37 $ totalBlocks = 1 + 3 + 12 + 125 = 141 $
38 $ totalBytes = totalBlocks * diskBlockSize $ \\
39 $ totalBytes = 141 * 64 kB = 9024 kB $ \\
40 $ totalTime = totalBytes * 1000 ms / diskSpeed = 25.92 ms $ \\
41 The results are the same, as the full project table can be read by reading 4 blocks.
42
43 If the project table were larger, the speed would be higher.
44 \end{enumerate}