Creating Cassandra Database Assignment
This assignment will require you to actually create a Cassandra database and run some basic queries on your database. Most importantly, you will gain experience in modeling data in column-oriented way, as done in a Cassandra database.
Objectives
This assignment supports the following objectives:
- Explain the CAP Theorem
- Create and interact with a Cassandra DB
Details
In this assignment you will create a database for a virtual library. The books from the library can be be āchecked outā by Users for a fixed period of time.
For this assignment let us assume that books cannot be renewed. A User may check out any number of books at a time. Since the books are eBooks, any number of Users can check out a book at the same time.
- The library contains a collection of eBooks. Basic information about each book needs to be stored
- Title, primary author, secondary authors (if any), date of first publication, number of pages, publisher, translator (if any)
- For non-fiction books, a list of the key topics covered by the book needs to be stored. For works of fiction (including poems, plays, novels, collection of stories), the topic is just āfictionā.
- For each book, we also need to store information about when it was checked out by which User.
- For each User we need to store certain information
- User id, name, phone, address, university affiliation (if any)
Creating Cassandra Database Assignment
Insert at least 3 books, 5 users. The database must contain information about at least 5 check outs of books.
Write the queries below (Obviously, your database must be designed so that it can support these queries):
- Which books have been checked out since such and such date.
- Which users have checked out such and such book.
- How many books does the library have on such and such topic.
- Which users from Columbia University have checked out books on Machine Learning between this date and that date.
What to submit:
In separate text files:
- Your database design, which should include the Column Families and what sorts of rows on each Column Family with what sorts of Columns.
- The code to create the database (Keyspace)
- The code to populate the database
- The code for the queries
Assessment
Total 10 points:
- The database design: 3 points
- Code to create the database (Keyspace): 2 points
- Code to populate the database: 2 points
- Code for the queries: 3 points
Creating Cassandra Database Assignment
Submission
To complete your submission,
- Click the blueĀ Submit AssignmentĀ button at the top of this page.
- Click theĀ Choose FileĀ button, and locate your submission.
- Feel free to include a comment with your submission.
Finally, click the blueĀ Submit Assignment button