Module 3: NoSQL and Document-Oriented Databases
Module Overview
Need to deal with Big Data? You may need tools beyond standard SQL approaches. Enter NoSQL and document-oriented databases! In this module, we explore the world of NoSQL databases with a focus on MongoDB, one of the most popular document-oriented databases. We'll learn how to store, retrieve, and query data in a schema-less environment.
Learning Objectives
1. Deploy and use a simple MongoDB instance
• Set up and configure MongoDB Atlas cloud service
• Create and manage MongoDB databases and collections
• Understand MongoDB's document-based data model
• Perform basic CRUD operations in MongoDB
• Connect to MongoDB using Python and PyMongo
• Implement proper security and access controls
2. Build a data pipeline between SQL (SQLite) and NoSQL (MongoDB) databases
• Design and implement ETL processes between different database types
• Transform relational data into document format
• Handle data type conversions and mappings
• Validate data consistency across databases
• Optimize data transfer performance
• Implement error handling and logging
Setting Up MongoDB in 2025
MongoDB has evolved significantly, and the recommended setup process for 2025 involves using MongoDB Atlas, their fully managed cloud database service. Here's what you need to know:
Modern Setup Process
- MongoDB Atlas Cloud: No local installation required - MongoDB now primarily operates through their cloud platform
- Serverless Instances: Utilize auto-scaling serverless database instances for optimal resource management
- Enhanced Security: Built-in features for network isolation, encryption, and access controls
- Integration Tools: Native support for modern development frameworks and cloud services
Key Requirements
- A MongoDB Atlas account (free tier available)
- Python 3.9+ with the latest pymongo package
- MongoDB Compass (optional) for GUI-based database management
Additional Learning Resources
To enhance your MongoDB skills, we recommend taking advantage of MongoDB University's Free Courses. These courses are regularly updated and provide hands-on experience with the latest MongoDB features and best practices.
Note: While local MongoDB installations are still possible, cloud-based solutions are now the industry standard for both development and production environments.
Guided Project
Sprint 10 NoSQL and Document-Oriented Databases Video
Resources
The GitHub repository contains valuable resources, examples, and documentation that align with the lecture content and learning objectives. Take time to review these materials as they will help reinforce your understanding of NoSQL databases and MongoDB implementation.
Guided Project File:
guided-project.md
Module Assignment
Please read the assignment.md file in the GitHub repository for detailed instructions
Assignment File:
assignment.md
Assignment Solution Video
Check for Understanding
Make sure you can answer the following questions about NoSQL and document-oriented databases:
- What are the main differences between SQL and NoSQL databases?
- When would you choose a document-oriented database over a relational database?
- How does MongoDB store data compared to a traditional SQL database?
- How do you perform basic CRUD operations in MongoDB?
- What is PyMongo and how do you use it to interact with MongoDB from Python?