CS634 Syllabus

Syllabus for CS634 Architecture of Database Systems

Instructor: Prof. Elizabeth (Betty) O'Neil, Dept. of CS, UMass/Boston
Email: eoneil at cs.umb.edu|
Office: Science 3-169
Office Hours: MW 3:45-5:15 in S-3-169 and by appointment

Class web page: www.cs.umb.edu/cs634 (to which this syllabus is linked)

Prerequisites: CS430/630 or demonstrated knowledge of the material in that course; If you have not had CS430/630, see me for permission to take this course. You should know at least basic Linux shell commands.

Textbook: print editions (or printouts of online text) are allowed for open-book exam use

The object of this course is to introduce the student to the concepts needed by a Database Administrator (DBA), who maintains and runs a Database Management System for some commercial or research enterprise. CS634 will continue the coverage of CS630 by covering Chapters 8-18, and 20, and 25. We will use Oracle and MySQL databases, including DBA use of mysql, in a student-deployed Google cloud Compute Engine VM (virtual machine). The class has a Google Education Grant.

Special topics for S18: Using the cloud to run your own mysql installation on Linux, big data


Review of Relationships and Constraints: Sec. 5.6 (nulls), 3.2.2 (foreign keys), Sec. 2.3 (E-R), 3.5 (E-R translation to tables)

Chapters 8-11. Indexing.  Indexing is crucial to large databases to enable fast access to data.  We will cover the classic B-tree, plus bitmap and hashed access methods.

Chapters 12-15 Query Processing. The query processor figures out how to use the indexes to speed access to the data for each query.  By knowing how this is done, we can figure out which indexes we need to build.  Joins are especially important to do efficiently, since they can involve a significant amount of computation.

Chapters 16-18 Transactions and Recovery.  Transactions organize database access into independent units of execution. We will see how the database maintains its data safely through changes directed by transactions, and through hardware failures.

Chapter 25: Data Warehousing. Large databases can be queried more effectively if the data is reorganized and aggregated. The result is a data warehouse, a separate database from the operational database that is optimized for fast updates by transactions.

Using the Cloud: Each student will set up a free Google Cloud account and create a Linux VM under its Compute Engine. In this VM, basically a Linux server with SSH access, you will install mysql and act as its DBA. Instructions are already posted on the class web page. We will also look at other ways to execute SQL in the cloud.

Big Data: Some data is too big or too loosely formatted to fit into relational databases properly. We will survey this topic, mainly Hadoop with MapReduce, Hive, Pig, or MongoDB driving it.

Grading: Breakdown of grades (simple point system)

Homeworks (programs and handwritten): 10-25 points each

Midterm (100 points) and Final Exam (150 points). Exams are open-book (and printouts of online text), closed electronic devices. During exams, the teacher's copy of the book can be borrowed briefly as needed, by students at the front of the room.

NOTE: Get a UNIX/Linux account for cs634 by running apply, even if you already have a UNIX account here.  This should be done by Friday Jan. 26 to list your username for Oracle and mysql accounts. Make sure you have a .forward file in your login directory to send email to your preferred email account.

ACCOMMODATIONS: The University of Massachusetts Boston is committed to providing reasonable academic accommodations for all students with disabilities.  This syllabus is available in alternate format upon request. Students with disabilities who need accommodations in this course must contact the instructor to discuss needed accommodations. Accommodations will be provided after the student has met with the instructor to request accommodations. Students must be registered with the Ross Center for Disability Services, UL 211, www.ross.center@umb.edu , 617.287.7430 before requesting accommodations from the instructor.

ACADEMIC CONDUCT: It is the expressed policy of the University that every aspect of academic life—not only formal coursework situations, but all relationships and interactions connected to the educational process—shall be conducted in an absolutely and uncompromisingly honest manner. The University presupposes that any submission of work for academic credit indicates that the work is the student’s own and is in compliance with University policies. In cases where academic dishonesty is discovered after completion of a course or degree program, sanctions may be imposed retroactively, up to and including revocation of the degree. Students are required to adhere to the Code of Student Conduct, including requirements for academic honesty, delineated in the University of Massachusetts Boston Bulletin, found at:  http://www.umb.edu/life_on_campus/policies/community/code.