HK PolyU Msc of Computing – Year 2 IT Semester 2

Poly U Msc of Computing – IT 2015-2016 Year Semester 2 completed on 2016-04-22

1) COMP5151 – Advanced Database System:
Final Grade: A

  1. Topics:
    1. Calculation of access cost of hash join, merge join, nested loop join, block nested join
    2. Equivalence Rule to transform a relational algebra tree to another relational algebra tree to produce better cost
    3. Dynamic programming to find the best execution plan
    4. Database Concurrency, Deadlock, Precedence Graph, Wait-Die and Wound-Wait, Timestamp Ordering, Optimistic Concurrency Control
    5. Database Recovery (Checkpoint – Undo and Redo)
    6. Distributed Computing, Semi Join
    7. Spatial Computing, R-tree, R-tree search query, R-tree intersection
    8. Multimedia Index Computing, Two-step processing, Multi-step processing
    9. Database Hardware, CUDA, GPL, SSD
  2. Assignment 1 – 100/100
  3. Assignment 2 – 100/100
  4. Midterm – 82/100
  5. Individual Project – Studied two research papers on OLTP Database Partitioning Tools: Horiculture and JECB and wrote a paper to show what I actually learnt.   Grade: 95/100
    1. Paper was consisted of Introduction, Problem Statement, Description on the concepts of the tools, Analysis and Comparison, and finally Conclusion.
    2. To show my understanding of both papers, I created my own example of database schema, stored procedures, foreign key constraints and workload trace and applied it throughout all the sections of the paper
    3. Horiculture used branch and bound algorithm to prune the size of search space to find the partition solution that yield the lowest cost. A partition solution may consist of horizontal partitioning of replicated table(s), read-only table(s), secondary index(es) and stored procedure routing parameter(s).
    4. JECB used foreign key relationships to join tables by columns to form join paths and join trees.  Then, the joined columns became the partition attributes of the tables. Compatible join attributes were merged and the finer one was used to construct join paths and join trees respectively. To avoid the explosion of search space, compatible join paths and join trees were merged to reduce the number of partition solutions that were constructed.  A partition solution was composed of a join tree and and an independent function.  An optimal solution was a partition solution where the independent function returned the lowest distributed cost.