NoSQL Databases, Introduction | DBDA.X410

NoSQL Databases, Introduction | DBDA.X410


NoSQL schema-optional or non-relational databases support Big Data by providing scalability, high availability, clustering, efficient storage and easy access to huge amounts of semi-structured data.

This introductory course gives you a hands-on overview of the two most popular NoSQL databases—MongoDB and Cassandra—as well as an overview of core concepts and other types of open-source NoSQL databases.

We will cover installation, database shell usage, programmatic access, data modeling, scaling/clustering, categories of NoSQL databases (column-based, document-based, key value-based, or graphic-based), the CAP theorem, and BASE semantics.

You will have the opportunity to gain hands-on experience via homework assignments and a course project that involves setting up, populating (with publicly available datasets), and using a NoSQL of your choice (subject to instructor approval).


Learning Outcomes
At the conclusion of the course, you should be able to

  • Describe the need for NoSQL databases and the types of problems NoSQL databases help solve
  • Discuss the “foundation concepts” of Mongo DB and Cassandra including semi-structured datasets and wide rows
  • Explain how Mongo DB and Cassandra databases support horizontal scaling to support Big Data sharding and clustering
  • Demonstrate how Mongo DB and Cassandra support fault tolerance - replication, clustering
  • Describe the relationship between cloud computing platforms and the databases we study
  • Write code to work with Mongo DB and Cassandra database APIs
  • Apply basic administration of Mongo DB and Cassandra

Topics Include

  • Why use NoSQL databases?
  • Types of NoSQL databases: Key value, document, column, graph
  • MongoDB basics
  • MongoDB data modeling, GeoData
  • MongoDB sharding, replication, clustering
  • Cassandra basics
  • Cassandra data modeling, real-time data with wide rows
  • Cassandra rings, replication
  • Other NoSQL databases: Neo4J, DynamoDB
  • Accessing NoSQL database APIs: Coding
  • Deploying NoSQL databases in the cloud: Amazon AWS
  • Using publically available datasets
  • CAP theorem, BASE

Skills Needed:

You will need experience using a programming language such as Python, Ruby, or Java and the ability to set up open-source software, databases, tools, and development environments on personal computers.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu