Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Get started with NoSQL Databases with this beginner-friendly introductory course! This course will provide 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 handle scalability and flexibility issues modern applications raise.
You will start this course by learning the history and the basics of NoSQL databases (document, key-value, column, and graph) and discover their key characteristics and benefits. You will learn about the four categories of NoSQL databases and how they differ. You’ll also explore the differences between the ACID and BASE consistency models, the pros and cons of distributed systems, and when to use RDBMS and NoSQL. You will also learn about vector databases, an emerging class of databases popular in AI.
Next, you will explore the architecture and features of several implementations of NoSQL databases, namely MongoDB, Cassandra, and IBM Cloudant. You will learn about the common tasks that they each perform and their key and defining characteristics.
You will then get hands-on experience using those 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.
At the end of this course, you will complete a final project where you will apply all your knowledge of the course content to a specific scenario and work with several NoSQL databases. This course suits anyone wanting to expand their Data Management and Information Technology skill set.
Syllabus
- Introducing NoSQL
- NoSQL means Not only SQL. The term refers to a class of databases that are non-relational in architecture. NoSQL databases have their roots in the open-source community and have become more popular due to the demands of Big Data. In this module, you will learn about the characteristics of NoSQL and the four main categories of NoSQL databases: document, key-value, column, and graph. You will explore the differences between the ACID and BASE consistency models, the advantages and challenges of distributed systems, and the CAP theorem and its characteristics. You will also learn how to decide when to use RDBMS and when to use NoSQL.
- Introducing MongoDB: An Open-Source NoSQL Database
- MongoDB is a document-oriented NoSQL database. MongoDB databases are easy to access by indexing. These databases support various data types, including dates and numbers. MongoDB is the most popular NoSQL database today, empowering users to query, manipulate, and find interesting insights from their collected data. It can also be used for various purposes because of the flexibility of storing structured or unstructured data. In this module, you will learn about the characteristics of MongoDB and expand your hands-on working knowledge of MongoDB performing various common tasks, including create, read, update, and delete (CRUD) operations, limit and sort records, indexing, and aggregation. You will explore replication and sharding, which are capabilities that support the scalability and availability seen with MongoDB.
- Introducing Apache Cassandra: An Open-Source NoSQL Database
- Apache Cassandra is an open source database that is best used by "always available" applications. These applications require a database that is always available (highly available) and that scales fast in high-traffic situations without compromising performance. Apache Cassandra is best for online services like Netflix, Uber, and Spotify. In this module, you will learn about the characteristics of Apache Cassandra. You will also expand your hands-on knowledge of how to perform common Cassandra tasks, including using the CQL shell, keyspace operations, table operations, and CRUD operations.
- Final Project: Working with NoSQL Databases
- This module contains the final project for this course. You will consolidate the skills you learned throughout this course by applying them to a specific scenario. To complete the project successfully, you must demonstrate that you have the skills to perform the tasks outlined. Your peers will grade this final project.
- [Optional] Introducing IBM Cloudant: A NoSQL DBaaS
- Database-as-a-service (DBaaS) is a popular solution for hybrid multi-cloud applications. IBM Cloudant is a fully managed DBaaS built on open source Apache CouchDB. Cloudant aims to be the data layer for all your web and mobile applications. In this module, you will find out how simple developing modern web applications is with Cloudant's rich features and JSON document store.​You will explore the architecture of Cloudant as a NoSQL database. You will gain hands-on experience with Cloudant capabilities and key technologies. You will also learn how to use the Cloudant dashboard to create and manage your database.
Taught by
Rav Ahuja, Ramesh Sannareddy and Steve Ryan