This course will provide you with technical hands-on knowledge of NoSQL databases and Database-as-a-Service (DaaS) offerings. With the advent of Big Data and agile development methodologies, NoSQL databases have gained a lot of relevance in the database landscape. Their main advantage is the ability to effectively handle scalability and flexibility issues raised by modern applications.
You will start by learning the history and the basics of NoSQL databases and discover their key characteristics and benefits. You will learn about the four categories of NoSQL databases and how they differ from each other.
You will explore the architecture and features of several different implementations of NoSQL databases, namely MongoDB, Cassandra, and IBM Cloudant.
Throughout the course you will get practical experience using these NoSQL databases to perform standard database management tasks, such as creating and replicating databases, loading and querying data, modifying database permissions, indexing and aggregating data, and sharding (or partitioning) data.
The course ends with a hands-on project to test your understanding of some of the basics of working with several NoSQL database offerings.
Module 1 – Introducing NoSQL
Basics of NoSQL
o Overview of NoSQL
o Characteristics of NoSQL Databases
o NoSQL Database Categories – Key-Value
o NoSQL Database Categories – Document
o NoSQL Database Categories – Column
o NoSQL Database Categories – Graph
o Database Deployment Options
o Choosing an Appropriate Data Layer
Working with Distributed Data
o ACID vs BASE
o Distributed Databases
o The CAP Theorem
o Challenges in Migrating from RDBMS to NoSQL Databases
Module 2 – Introducing MongoDB – An Open-Source NoSQL Database