1 of 12

CSE 344:

Topics for the Final

Autumn 2019

2 of 12

“What’s gonna be on the final?”

  • Short answer: EVERYTHING
  • Long answer:
    • Almost every major topic in the course will have at least one question (or section)
    • We tend to emphasize the latter part of the course
    • Don’t forget to brush off your pre-midterm skills

3 of 12

Pre-Midterm Material

  • SQL (querying, table/index creation)
    • FWGHOS
    • Nesting
  • Datalog
  • Design
    • Table Creation
    • Design Theory
    • ER Diagram
  • Relational Algebra

4 of 12

Post-Midterm Material

  • Cost Estimation and Optimization
    • Join and Selection Algorithms
    • Clustered and Unclustered Indexes
  • Transactions
    • Serializable versus Conflict Serializable
    • Locking, deadlock, phantom problem
    • Isolation levels
  • Parallel Processing
    • Spark
  • NoSQL

5 of 12

Breakdown of Recent Topics

6 of 12

Cost Estimation

  • General Hardware Semantics
    • Disk
    • Main Memory
  • Single Node Joins
    • Nested Loop Joins (Tuple, Block)
    • Hash Join
    • Sort-Merge Join
  • Selectivity Factor
  • Indexed Selection and Join
    • Clustered
    • Unclustered

7 of 12

Parallel DB

  • Shared-Nothing Architecture
  • Intra-Operator Parallelism
  • Shuffling and Broadcasting for Grouping and Joining
  • Recovery in Spark

8 of 12

Transactions

  • Serializable/Conflict Serializable
    • Precedence Graphs
    • Conflicts (RW, WR, WW)
  • Locking
    • 2PL/Strict 2PL
    • Deadlock
  • Guarantees
    • READ UNCOMMITTED
    • READ COMMITTED
    • REPEATABLE READ
    • SERIALIZABLE
    • Phantom Problem

9 of 12

Some other things

10 of 12

Final FAQ

Questions

Answers

Do I need to know the whole Spark API?

Nope. No one in the staff does (Except for maybe Jack)

How long is the final?

You should expect to spend the entire time on the exam with some room to double check (imagine a longer midterm). That said, TIME YOURSELF WHEN YOU PRACTICE.

Do I need a calculator?

Nah. All the math you could do should be simple. If you are getting weird numbers on the exam, that’s a hint you might be off in your calculations.

Do I get a note sheet?

Yep! Two whole 8.5x11 sheets, front and back. That should give you room to make things readable. Even though you (hopefully) don’t need notes for all topics, it’s good to have them there for your review. Hand-written sheets please.

Any tips on studying?

Two things. Look at old exams as they’re generally quite good at covering all topics. Also study with people! Having a friend explain a topic or explaining a topic to a friend is a great way to study.

11 of 12

Some Difficult Practice

Complex SQL

Datalog recursion/aggregation

Locking Mechanisms

Cost estimation of joins

Make sure to hit some of these before exam time.

12 of 12

WE ARE PROUD

OF ALL OF YOU!!!

This stuff is hard and there was a lot we covered this quarter!

You have learned a lot!