Final Exam Project
Design/Implement a NoSQL DB
CS609 - Fall 2016
Tuesday, Dec. 6 @ 3:30 pm
Groups of 3
This is a second draft of this document - It may change shortly
Update: You must make your NoSQL DB accessible to the rest of the class by 12/6 so they can use it and evaluate it during the final exam time period.
For this assignment you are to design and implement a document store, column store or graph store NoSQL DB. Your design should include:
Method to store data
Grammar for a query language which must include DML operations that will select rows based on specified characteristics, select specified fields and also include aggregate functions- this means your DB cannot be a simple key-value store.
A strategy to log any updates to the database
Indexes - e.g. based on B+ trees or some other appropriate data structure
You should allow users to:
insert data into the DB
delete data from the DB
Query the DB
Create an index provide some way to display the index
Commit changes to DB, Insert a checkpoint, Rollback to checkpoint
Other aspects - security, concurrency?
Turn in to me: A document describing your implementation, your grammar and query language, and a manual for using your NoSQL DB.