Syllabus:
-
Background
This semester we will explore the related fields of main memory databases and stream processing. We will do this through readings, presentations and projects. I believe that the best learning occurs from group interactions, so much of the work in this class will be done in small groups.
As the cost of DRAM plummets, main-memory databases are becoming more popular. This is especially true for Online Transaction Processing (OLTP) where the biggest datasets are measured in the small number of terabyte range. You can easily buy a cluster with a collective memory of a few terabytes. Because of the properties of DRAM, a main-memory database requires very different architectural features.
Stream processing addresses the needs of applications with low-latency requirements (real-time). Stream processing systems typically achieve this by operating primarily out of main-memory. Thus, the theme of using main-memory to solve data management problems will be prominent in this course.
We will use our own streaming system, called S-Store, as an illustration of what we want to study. S-Store is built on top of H-Store, a main-memory database system designed for On-Line Transaction Processing (OLTP). We will spend more time on streaming system technology to better ground the streaming aspects of S-Store.
-
Course Layout
This course is a graduate-level seminar. Thus, the mode of learning will be through reading, discussion, and independent projects. It will also rely on shared learning. That is, we will all participate in the activity of discovery. We will typically work in small teams, and those teams will share what they have learned wit h the rest of the class. Also, because this material is so new, there is no single textbook that can provide us with a syllabus. We will begin with the syllabus that you can find on the course web pages, but this might need to be adjusted as we proceed. As an active participant in the project, you may feel free to make suggestions about making the course more effective. Below are a few of the main milestones and requirements you will complete throughout the semester:
- Paper Summaries (1-2 pages written per class meeting)
- Paper Presentations (~20 min talk)
- Project Proposal (1-2 pages written + talk)
- Project Status Update
- Project Demo
-
Paper Presentations
Each student will choose a paper (related to their project choice) and present it to the class. However, this talk is supposed to be an in depth description and analysis of the paper. This talk will be 15-20 minutes in length with 5 minutes for questions, a format similar to most conference talks. Because it is the responsibility of the presenter to teach the class about this system, he/she will be expected to know and understand all the aspects of the system. Thus, it is important to be prepared. If you have questions regarding the content of a paper, you should arrange to meet with John well in advance of your talk date.
WARNING: It is acceptable for students to use information and content (e.g., images and graphics) found on the Internet but the original source must be properly attributed/cited. No credit will be given for presentations without proper citations.
-
Projects
The main component of this course will be the project. All projects will involve main memory streaming systems in some capacity, particularly relating to the subjects discussed in this class. However, beyond that, the projects will vary greatly in both scope and topic. This will depend on several factors, including group size, group background, and topic. We will discuss this more in depth during class and provide a list of potential topics that will contribute meaningfully to streaming system research. You are encouraged to begin to think about projects that interest you now. As is the case with many seminar courses, you will get out of this course what you put into it, so taking the time and coming up with a well-scoped project that lies within the context of this course and interests you will go a long way to your enjoyment of the course.