25% off all 2020 Summer Courses
Discount applies to courses starting before September 1. Not applicable toward Legal or Paralegal Studies courses.
Coronavirus (COVID-19) Update
All summer & fall classes are offered remotely—either live-online with an instructor, entirely self-paced, or in a blended online format. Please check our coronavirus update page for our latest announcements.
NoSQL Databases, Introduction
NoSQL databases support Big Data by providing scalability, high-availability, clustering, efficient storage and easy access to huge amounts of “semi-structured” data. NoSQL databases use schema-optional (non-relational) formats and are, in general, open-source. This 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 NoSQL databases.
The course covers installation, DB 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 asignments and a course project that involves setting up, populating (with publically available datasets), and using a NoSQL of your choice (subject to instructor approval). By the end of the course, you will understand NoSQL concepts and know how to use popular NoSQL databases within your software or IT infrastructures.
- Why use NoSQL databases?
- Types of NoSQL databases: Key value, document, column, graph, others
- 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: Experience using a programming language such as Python, Ruby, Java, etc. Ability to set up open-source software, databases, tools, and development environments on personal computers.
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.
Ask us any questions you may have about this course.