From 645dea80aa44e932d4c96a01f6e982136d102520 Mon Sep 17 00:00:00 2001 From: Yadunand Prem Date: Sun, 5 Oct 2025 17:11:04 +0800 Subject: [PATCH] current progress --- cs3223/cheatsheet.pdf | Bin 222644 -> 236036 bytes cs3223/cheatsheet.typ | 112 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 102 insertions(+), 10 deletions(-) diff --git a/cs3223/cheatsheet.pdf b/cs3223/cheatsheet.pdf index 4ee8392d325d8a1272a699b0f75a2228b3cf4314..668ae8fb6500ac6368f097f62083c1c9053938d7 100644 GIT binary patch delta 50049 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 Wghhn-_)23Kis5W&ZEZ6<^M3#k2F;WJ diff --git a/cs3223/cheatsheet.typ b/cs3223/cheatsheet.typ index 40576ee..ea1d79b 100644 --- a/cs3223/cheatsheet.typ +++ b/cs3223/cheatsheet.typ @@ -9,10 +9,10 @@ - Each track is broken up into sectors - Cylinder is the same tracks across all surfaces - Block comprises of multiple sectors -- *Disk Access Time* - $"Seek time" + "Rotational Delay" + "Transfer Time"$ - - *Seek Time* - Move arms to position disk head - - *Rotational Delay* - $1/2 60/"RPM"$ - - *Transfer time*(for n sectors) - $n times "time for 1 revolution"/ "sectors per track"$ +- *Disk Access Time*: $"Seek time" + "Rotational Delay" + "Transfer Time"$ + - *Seek Time*: Move arms to position disk head + - *Rotational Delay*: $1/2 60/"RPM"$ + - *Transfer time*(for n sectors): $n times "time for 1 revolution"/ "sectors per track"$ - $n$ is requested sectors on track - Access Order @@ -26,9 +26,9 @@ - Each frame maintains pin count(PC) and dirty flag === Replacement Policies - Decide which unpinned page to replace -- *LRU* - queue of pointers to frames with PC = 0 -- *clock* - LRU variant - - *Reference bit* - turns on when PC = 0 +- *LRU*: queue of pointers to frames with PC = 0 +- *clock*: LRU variant + - *Reference bit*: turns on when PC = 0 - Replace a page when ref bit off and PC = 0 #image("clock-replacement-policy.png") @@ -61,7 +61,7 @@ - *Composite search key* if $k > 1$ - *unique key* if search key contains _candidate_ key of table - index is stored as file -- *Clustered index* - Ordering of data is same as data entries +- *Clustered index*: Ordering of data is same as data entries - key is known as *clustering key* - Format 1 index is clustered index (Assume format 2 and 3 to be unclustered) @@ -86,8 +86,8 @@ === Insertion + *Leaf node Overflow* - Redistribute and then split - - *Split* - Create a new leaf $N$ with $d+1$ entries. Create a new index entry $(k, square.filled)$ where $k$ is smallest key in $N$ - - *Redistribute* - If sibling is not full, take from it. If given right, update right's parent pointer, else current node's parent pointer + - *Split*: Create a new leaf $N$ with $d+1$ entries. Create a new index entry $(k, square.filled)$ where $k$ is smallest key in $N$ + - *Redistribute*: If sibling is not full, take from it. If given right, update right's parent pointer, else current node's parent pointer + *Internal node Overflow* - Node has $2d+1$ keys. - Push middle $(d+1)$-th key up to parent. @@ -156,3 +156,95 @@ - Collisions: If they have same hashed value. - Need overflow pages if collisions exceed page capacity +#colbreak() += Sorting +== Notation +#table( + columns: (auto, auto), + $|r|$, [pages for R], + $||r||$, [tuples in r], + $pi_L (R)$, [project column by list $L$ from $R$], + $pi_L^* (R)$, [project with duplicates], + + +) +== External Merge Sort +- *File size*: $N$ pages +- Memory pages available: $B$ +- *Pass 0*: Create sorted runs + - Read and sort $B$ pages at a time +- *Pass i*: Use $B-1$ pages for input, 1 for output, performing $B-1$-way merge sort +- *Analysis* + - Sorted runs: $N_0 = ceil(N/B)$ + - Total passes: $ceil(log_(B-1) (N_0))+1$ + - Total I/O: $2 N (ceil(log_(B-1) (N_0))+1)$ +=== Optimized Merge Sort +- Read and write in blocks of $b$ pages + - Allocate 1 Block for output + - Remaining memory for input: $floor(B/b)-1$ blocks +- *Analysis* + - sorted runs: $N_0 = ceil(N/B)$ + - Runs Merged at each pass $F = floor(B/b)-1$ + - No of merge passes: $ceil(log_F (N_0))$(+1 for total) + - Total IO: $2 N (ceil(log_F (N_0))+1)$ +- *Sorting with B+ Trees*: IO Cost: $h$ + Scan of leaf pages + Heap access (If not covering index) + +== Projection +=== Sort based approach +- Extract attributes, Sort attributes, remove duplicates +- *Analysis* + + Extract Attributes: $|R|"(scan)" + |pi_L^*(R)| "(output)"$ + + Sort Attributes: + - $N_0 = ceil((|pi_L^*(R)|)/B)$ + - Merging Passes: $log_(B-1) (N_0)$ + - Total IO: $2 |pi_L^*(R)| (log_(B-1) (N_0)+1)$ + + Remove Duplicates: $|pi_L^*(R)|$ +=== Optimized approach +- Merge Split step 2 into Creating and Merging sorted runs, and merge into step 1 and 3 respectively +- *Analysis* + - *Step 1* + - $B-1$ pages for initial sorted run + - Sorted Runs: $N_0 = ceil((|pi^*_L (R)|) / (B-1))$ + - Create sorted run = $|R| + |pi^*_L (R)|$ + - *Step 2* + - Merging passes: $ceil(log_(B-1) (N_0))$ + - Cost of merging: $2 |pi^*_L (R)| ceil(log_(B-1) (N_0))$ + - Cost of merging excluding IO output: $(2 ceil(log_(B-1) (N_0))-1) |pi^*_L (R)| $ + +=== Hash based approach +- *Partitioning* + - Allocate 1 page for input, $B-1$ page for output. + - Read 1 page at a time, for each tuple, create projection, hash($h$) to distribute to $B-1$ buffers + - Flush to disk when full. +- *Duplicate Elimination* + - For each partition $R_i$, create hash table, hash each tuple with hash function $h' != h$ to bucket $B_j$ if $t in.not B_j$ +- *Partition Overflow*: hash table for $pi^*_L (R_i)$ is larger than memory pages allocated for $pi_L (R)$ + +- *Analysis* + - IO Cost (no partition overflow) : $|R| + 2|pi^*_L (R)|$ + - Partitioning Phase: $|R| + |pi^*_L (R)|$ + - Duplicate Elimination: $|pi^*_L (R)|$ + - To Avoid partition overflows: + - $|R_i| = (|pi^*_L (R)|) / (B-1)$ + - $B > "size of hash table", |R_i| times f$ + - $B > sqrt(f times |pi^*_L (R)|)$ + += Selection +- *Conjunct*: $1>=$ terms connected by $or$ +- *CNF predicate*: $1>=$ conjuncts connected by $and$ +- *Covered Conjunct* - predicate $p_i$ is covered conjunct if each attribute in $p_i$ is in key $K$ or include column of Index $I$ + - $sigma_p (R), p = ("age" > 5) and ("height" = 180) and ("level" = 3), I_1 "key" = ("level", "weight", "height"$ + - $p_c = +- *Primary Conjunct* - +- $sigma_p (R)$: Select rows from $R$ that satisfy predicate $p$ +- Access Path: way of accessing data records / entries + - *Table Scan*: Scan all data pages (Cost: $|R|$) + - *Index Scan*: Scan index pages + - *Index Combination*: Combine from multiple index scans + - Scan/Combination can be followed by RID lookup to retrieve data +- *Index only plan*: Query where it does not need to access any data tuples in $R$ +- *Covering Index*: $I$ is covering index if all of $R$s attribute in query is part of the key / include columns of $I$ + +== B+ Trees +- For Index Scan + RID Lookup, many matching RIDs could refer to same page + - Sort matching RIDs before performing lookup: Avoid retrieving same page