ICS421 Database Systems II (CRN 87821)

Tue & Thu 10:30AM - 11:45AM HOLM 248


ICS421 is an advanced data management course covering data partitioning/sharding, parallel database processing, distributed transaction processing, and building big data systems. For more information, please consult the syllabus. Note that this is both a writing-intensive and programming-intensive course!

Instructor: Lipyeow Lim. POST 303E. Wed 2-3pm or by appointment. 808-956-3495. lipyeow at hawaii dot edu.

Teaching Assistant: Simon Engler. POST 303-4 Offfice Hours TTh 2-3. stengler at hawaii dot edu.

Examinations: There is no written final exam, but there will be a course project.

Textbooks:

  1. DDIA - Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. 1st Edition. Martin Kleppmann. O’Reilly Media. ISBN-13: 978-1449373320 ISBN-10: 1449373321
  2. (Optional) BDP - Big Data: Principles and best practices of scalable realtime data systems. 1st Edition. Nathan Marz and James Warren. Manning Publications. ISBN-13: 978-1617290343 ISBN-10: 1617290343
  3. (Optional) Principles of Distributed Database Systems (3rd Ed.). M. Tamer Ozsu and Patrick Valduriez. Springer. ISBN: 978-1-4419-8833-1
  4. (Optional) DSCB - Database Systems: The Complete Book (2nd Edition). Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom. ISBN-13: 978-0-13-187325-4.

Communications: We will be using Piazza for questions and answers. Please post questions there so that the whole class can benefit.

Late policy: work submitted past due date and time will receive zero credits.

Student Conduct: All students are expected to conduct themselves above and beyond the standard set forth in UH Systemwide Student Conduct Code.

Disability: Any student who feels s/he may need an accommodation based on the impact of a disability is invited to contact the instructor privately. The instructor would be happy to work with you, and the KOKUA Program (Office for Students with Disabilities) to ensure reasonable accommodations in the course. KOKUA can be reached at (808) 956-7511 or (808) 956-7612 (voice/text) in room 013 of the Queen Liliuokalani Center for Student Services.

Schedule

Week Date Topic Before Class In Class After Class
1 Tue Jan 9 Introduction Syllabus | Slides | Slides Docker Containers
1 Thu Jan 11 Sockets & Client-Server Programming - networking primer and sockets Slides
2 Tue Jan 16 Parallel Databases Slides | Programming Python Sockets HW1: DDL Processing for Parallel DBMS | video | video
2 Thu Jan 18 Parallel Databases - threads Quiz 1 Slides | Exercise 1
3 Tue Jan 23 Storage Quiz 2 Slides | Exercise 2
3 Thu Jan 25 Query Processing - parsing SQL Quiz 3 Exercise 3 | Slides | Exercise 4
4 Tue Jan 30 Query Processing - SQL to RA Quiz 4 Slides
4 Thu Feb 1 Query Processing - QEPs Quiz 5 Slides | Exercise 5 HW1 due on Sat | HW2: Naive SQL Processing for Parallel DBMS
5 Tue Feb 6 Query Processing - Optimizer Quiz 6 Slides | Exercise 6
5 Thu Feb 8 Query Processing - Parallel Joins Quiz 7 Slides
6 Tue Feb 13 Query Processing Quiz 8 Exercise 7
6 Thu Feb 15 Data-Intensive Application Design Quiz 9 Slides
7 Tue Feb 20 Data-Intensive Application Design No Quiz | Ch.1 Slides | Exercise 8 HW1 Solution | Application Architecture Examples
7 Thu Feb 22 Non-SQL Data Models & Systems - data models Quiz 10 | Ch.2 Slides video
8 Tue Feb 27 Non-SQL Data Models & Systems - graph data models Quiz 11 | Ch.2 Slides | Exercise 9 video
8 Thu Mar 1 Non-SQL Data Models & Systems - key value stores Quiz 12 | Ch.3 Slides video | HW2 due on Sat
9 Tue Mar 6 Non-SQL Data Models & Systems - schema evolution Quiz 13 | Ch.4 Slides video | HW3: Parallel JOIN Processing for Parallel DBMS
9 Thu Mar 8 Data Warehousing Quiz 14 Slides video
10 Tue Mar 13 Data Warehousing Quiz 15 Slides | Exercise 10 video
10 Thu Mar 15 Replication & Partitioning Quiz 16 | Ch.5 Slides video
11 Tue Mar 2 Replication & Partitioning Quiz 17 | Ch.5 Slides video
11 Thu Mar 22 Replication & Partitioning Quiz 18 | Ch.6 Slides video | Project: Benchmarking Big Data Systems
12 Tue Mar 27 Spring Break
12 Thu Mar 29 Spring Break
13 Tue Apr 3 Transactions & Concurrency Control Ch.7 Slides
13 Thu Apr 5 Reliability, Consistency & Consensus Quiz 19 | Ch.8 Exercise 11 | Slides
14 Tue Apr 10 Reliability, Consistency & Consensus Quiz 20 | Ch.8 Exercise 12 | Slides
14 Thu Apr 12 P2P Systems & Blockchain - DHT Slides
15 Tue Apr 17 P2P Systems & Blockchain - Blockchain Slides
15 Thu Apr 19 P2P Systems & Blockchain - Hashgraph Slides
16 Tue Apr 24 Log Analytics Slides
16 Thu Apr 26 Project
17 Tue May 1 Project

About this site: Modules lists the topics covered. Learning outcomes collect all the desired student learning outcomes of all the modules. Readings list the “passive” learning opportunities like reviewing of textbook sections, web pages, screencasts, etc. Experiences list the “active” learning opportunities where you must actually demonstrate a capability.