TalkPython - MongoDB with Async Python

TalkPython - MongoDB with Async Python

Register & Get access to index

mongodb-beanie.webp
Course Summary​

MongoDB is one of the most exciting data technologies. You can build extremely high performance apps with the joy of a schemaless lifestyle. Python is the perfect counterpart to MongoDB. In this course, we feature the latest Python frameworks and techniques for working with MongoDB: The Beanie ODM (object-document mapper), Pydantic, FastAPI, Locust load testing, and Python's async and await capabilities.

What's this course about and how is it different?​

This course will teach you how to use MongoDB and document databases to build simpler and faster data-driven applications.
We start by explaining the origin and major concepts of NoSQL and document databases. You then learn how to work with MongoDB from its native shell as well as many of the CLI and GUI management tools.
Many MongoDB courses stop there. This course is meant to be a practical end-to-end coverage of MongoDB. We go beyond scratching the surface by covering real-world topics.
You'll see how to use Beanie (a popular ODM for MongoDB - think ORM for NoSQL) to map classes to MongoDB. Beanie is based on state-of-the-art Python technologies such as Pydantic and Python's async and await.
In this code-based and hands-on, demo-driven course, we will build some simple example apps using Beanie. Then we'll move on to modeling real PyPI data with 100,000s of records in MongoDB. Once we have our Python code working with the PyPI data, we'll build out a full FastAPI API around the data showing the smooth integration of Beanie and async MongoDB within FastAPI.
After we master working with MongoDB from Python, we'll turn our attention to performance. We take a large database with millions of data points and make it run hundreds of times faster than you get out-of-the-box with MongoDB. We test our performance changes with both custom Python code and the Locust load testing framework.
We wrap up the course by deploying MongoDB to production Linux servers. There are a few very important steps to getting MongoDB running in production and we'll go step-by-step through this setup.
In the end, you'll be ready to start building and running high-performance, MongoDB-backed, data-driven applications.
View the full course outline.

What will you learn?​

In this course, you will:
  • How document databases, such as MongoDB, work
  • Where MongoDB fits in the larger scope of databases used in the world
  • How to install and configure MongoDB and several management tools and GUIs
  • A basic set of MongoDB's native shell commands and queries
  • Foundational technologies such as Pydantic and Python's async and await
  • How to design data models with Beanie and Pydantic
  • Understand the tradeoffs when modeling data with documents
  • Learn when it's a good idea (and when it's a bad one) to embed data within other records
  • Use ORM-style programming with MongoDB and Beanie
  • Use more efficient "in-place" operations such as addToSet with Beanie
  • Design projection classes in Pydantic for improved performance
  • How to safely store user accounts (namely passwords) in MongoDB
  • To deeply integrate Beanie and MongoDB with FastAPI
  • Create complex indexes in MongoDB from Beanie for 1000x performance boosts
  • Use indexes to enforce data integrity in MongoDB
  • Safely deploy MongoDB in a self-hosted environment within a cloud provider on multiple Linux machines
  • Use the load testing framework Locust to probe and test the performance limits of your MongoDB-based web APIs
  • And lots more
  • View the full course outline.

Who is this course for?​

For anyone who wants to use the latest Python technologies to work with MongoDB.
As for prerequisites, we assume:
  • Basic familiarity with the Python programming language and core tools (e.g. pip)
  • That you have very minimal understanding and experience with some database technology (relational or NoSQL)
The tools chosen and featured during this course are 100% free and most of them are open source or have free and solid alternatives.
Author
Satoru Gojo
Downloads
85
Views
310
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Satoru Gojo