NoSQL Database Basics
About this courseSkip About this course
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.
At a glance
What you'll learnSkip What you'll learn
After completing this course, you will be able to:
- Define the term NoSQL and the technology it references.
- Explain the characteristics of NoSQL databases.
- Describe the major categories of NoSQL datastores (document, key-value, graph, etc.) and their architectural differences.
- List the most commonly used NoSQL datastores, their primary use cases and benefits (MongoDB, Cassandra, Cloudant, Couch DB, etc.).
- Understand the factors affecting return on investment for using locally hosted databases, versus hosted database versus DBaaS.
- Describe the architecture, features, and key benefits of MongoDB as a NoSQL database.
- Demonstrate hands-on working knowledge of MongoDB and perform various common tasks (including CRUD operations, limit and sort records, indexing, aggregation, replication, sharding)
- Describe the architecture, features, and key benefits of Cassandra as a NoSQL database.
- Demonstrate hands-on working knowledge of Cassandra and perform various common tasks (including using the CQL shell, keyspace operations, table operations, and CRUD operations)
- Describe the architecture, features, and key benefits of Cloudant as a NoSQL database.
- Demonstrate hands-on working knowledge of Cloudant and perform various common tasks (including creating the database, add documents, query data, utilize the HTTP API).
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
- Basics of MongoDB
o Overview of MongoDB
o Advantages of MongoDB
o Use Cases for MongoDB
o Lab: Getting Started with MongoDB
- Getting Started with MongoDB
o CRUD Operations
o Lab: MongoDB CRUD
o Lab: MongoDB Indexing
o Aggregation Framework
o Lab: MongoDB Aggregation
o Replication & Sharding
o Accessing MongoDB from Python
o Lab: Accessing MongoDB from Python
Module 3 – Introducing Apache Cassandra – An Open-Source NoSQL Database
- Cassandra Basics
o Overview of Cassandra
o Architecture of Cassandra
o Key Features of Cassandra
o Cassandra Data Model - Part 1
o Cassandra Data Model - Part 2
o Introduction to Cassandra Query Language (cqlsh)
o Lab: Using the CQL Shell (cqlsh)
- Working with Cassandra
o CQL Data Types
o Keyspace Operations
o Lab: Keyspace Operations
o Table Operations
o Lab: Table Operations
o CRUD Operations - Part 1
o CRUD Operations - Part 2
o Lab: CRUD Operations
Module 4 – Introducing IBM Cloudant – A NoSQL DBaaS
- Cloudant Basics
o Overview of Cloudant
o Cloudant Architecture and Key Technologies
o Cloudant Benefits and Solutions
o Deployment Options for Cloudant
o Lab: Sign up for IBM Cloud account
o Lab: Create an instance of IBM Cloudant
- Working with Cloudant
o Dashboards in Cloudant
o Lab: Dashboards in Cloudant
o Working with Databases in Cloudant
o Lab: Working with Databases in Cloudant
o HTTP API Basics
o Working with the HTTP API
o Query Optimization with Indexes
o Lab: Querying Data using the HTTP API
o How to Access Documentation and Support Resources
Module 5 – Final Project – Working with NoSQL Databases
- Peer-Graded Final Assignment
o Lab: Setup & Practice Assignment
o Project Overview
o Lab: Final Assignment Project
o Project Submission & Peer Review
- Final Quiz