MSCD 665 - NoSQL Database Concepts using Cassandra: Syllabus

Instructor Information

Refer to Discussion Forum, Facilitator Introduction and Expectations

Course Title

MSCD 665 - NoSQL Database Concepts using Cassandra

Course Description

This course will provide you with an in-depth understanding of the Cassandra Database Technology. Cassandra is a relatively new technology that has recently gained prominence and is leveraged on a huge scale by large corporations such as Netflix, Comcast, MS Office 365, British Gas, Nest and Spotify. You will learn the differences between a storage structure, node, cluster and a data center. You will install the Cassandra database on nodes within a cluster on a Cloud Data Center. You will learn the best practices for defining partition and clustering keys and be able to explain how the selection of keys can impact database performance. You will get hands-on experience with the Datastax Devcenter and the Opscenter Tools that are used with Cassandra for software development and database administration. You will learn the syntax for the Cassandra Query Language (CQL) and use CQL in lab exercises to manipulate data. You will learn how to design physical data models for Cassandra. Also, you will explore and evaluate a simple application that uses the python language to create a blog. By the end of the course, you will have a solid understanding of the strengths and weaknesses of Cassandra.

Prerequisite Courses

INSERT COURSE PREREQs HERE

Course Outcomes

Upon completion of this course, learners should be able to:

  1. Explain the history of the Cassandra NoSQL Database
  2. Define the Cassandra architecture and differentiate between a storage structure, node, cluster and a data center
  3. Install the Cassandra database on nodes within clusters a Cloud Data Center
  4. Create, update and delete data from Cassandra using the Cassandra Query Language (CQL)
  5. Design a physical data model for Cassandra
  6. Define partition and clustering keys and then explain how the selection of keys can impact database performance
  7. Explain the importance of data replication and sharding for Cassandra in terms of database performance
  8. Manage the Cassandra operating environment using the Nodetool and Opscenter tool
  9. Develop code within the Datastax Devcenter Tool that uses the Cassandra APIs to manipulate data within the database
  10. Explore and evaluate a Python application that is built to use the Cassandra database

Ignatian Values: Magis is the ignatian component for this course. The act of discerning the best decision in a given situation to serve God. This course supports the concept of polyglot persistence that means to choose the best database management system (DBMS) for a given task.

Course Materials

Optional Resources

Purdue Online Writing Lab (OWL), http://owl.english.purdue.edu/owl/resource/560/01/

American Psychological Association (current edition). APA Style, http://www.apastyle.org/

Technology Tools

technical specifications

Pre-Assignment

See Assignments and Activities table below for Week 1.

Course Assignments and Activities

Assignments for Online Course
Week Readings Graded Assignments or Assessments (Percentage)
1: Introductions and review syllabus Overview of Cassandra Neeraj, N. (2015) Chapter 1 Class Discussions Start writing a Scholarly Response on the topic of Cassandra (4 sources) Complete Lab Exercises 1 & 2
2: Overview of Architecture including Nodes, Clusters and Data Centers Neeraj, N. (2015) Chapter 2

Classroom Discussion

Complete Lab Exercise 3

3: Data Modeling for Cassandra Neeraj, N. (2015) Review Pages 9-11 introduction to Data Modeling PDF Data Modeling Big Data PDF

Classroom Discussion

Complete Lab Exercise 4

4: Cassandra Query Language and Dev Center Neeraj, N. (2015) Chapters 3 and 4

Classroom Discussion

Complete Lab Exercises 5 & 6

5: Cassandra APIs and Cloud Project Overview Cassandra Web Interface and Python API documentation

Classroom Discussion

Start Cloud Project

6: Performance and Tuning for Cassandra and Ops Center Neeraj, N. (2015) Chapters 5,6 and 7

Classroom Discussion

Complete Lab Exercises 7 & 8

7: Interfacing with Hadoop Neeraj, N. (2015) Chapter 8

Classroom Discussion

Demo of Hadoop Map Reduce

8: Final Exam ENTER TEXT No Class Meeting - work on Final Exam & Cloud Project

Summary of Assignments and Percentage Weight:

Assignments Weighted Percentage
Class Discussion / Participation (7 x 2.9%) 20%
Scholarly Response Paper (1 x 20%) 20%
Lab Exercises (8 x 3.125%) 20%
Project 20%
Final Exam 20%
TOTAL 100 %

CCIS Policies

Review the CCIS Policies on the Regis University website.

OTHER INFORMATION

NOTE TO LEARNERS: On occasion, the course facilitator may, at his or her discretion, alter the Learning Activities shown in this Syllabus. The alteration of Learning Activities may not, in any way, change the Learner Outcomes or the grading scale for this course as contained in this syllabus. Examples of circumstances that could justify alterations in Learning Activities could include number of learners in the course; compelling current events; special facilitator experience or expertise; or unanticipated disruptions to class session schedule.