General Project Information
Final Exam Research Paper Ideas
For your research paper, pick one narrow topic and describe what problem(s) it solves, how it works, its tradeoffs vs alternatives, and examples of production databases implementations. Here are some example topics (feel free to pick your own):
- Column families
- SSTables, LSM-trees
- Database replication schemes
- A particular kind of NoSQL database, like key-value store, document database
References:
- Google Bigtable paper. https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf
- Architecture of Apache Cassandra. https://cassandra.apache.org/doc/latest/cassandra/architecture/index.html
- Kinds of NoSQL database. https://aws.amazon.com/nosql/#What_are_the_types_of_NoSQL_databases
Programming Environments
- Emacs is the most powerful text editor there will ever be. Its steep learning curve is repaid a thousand-fold over your lifetime.
- On macOS:
brew install --cask emacs
, which installs Emacs for Mac OS X - Beginners Guide to Emacs
- Dr. CS's Emacs config in the
.emacs.d
directory.
- On macOS:
- JetBrains Educational Licenses
- DataGrip is a database IDE. Probably the easiest choice for this class.
- PyCharm is a good choice for a pythonista, ML/data engineer or data scientist. You can install the JetBrains Database Tools plugin to get the functionality of DataGrip.
MySQL
Small Learning Databases
- dorms: dorms.sql
- pubs: pubs-schema.sql, pubs-data.sql