MongoDB 是最令人兴奋的数据技术之一。你可以在无模式生活的乐趣中构建极高性能的应用程序。Python 是 MongoDB 的完美搭档。在这门课程中,我们将展示最新的 Python 框架和技术来使用 MongoDB:Beanie ODM(对象-文档映射器)、Pydantic、FastAPI、Locust 负载测试以及 Python 的异步和等待能力。
源源代码和课程 GitHub 仓库
github.com/talkpython/mongodb-for-async-python-course
这门课程是关于什么的,它有何不同?
这门课程将教你如何使用 MongoDB 和文档数据库来构建更简单、更快速的数据驱动应用。
我们从解释 NoSQL 和文档数据库的起源和主要概念开始。然后你将学习如何从它的本地 shell 以及许多 CLI 和 GUI 管理工具使用 MongoDB。
许多 MongoDB 课程到此为止。这门课程旨在全面实用地覆盖 MongoDB。我们通过覆盖真实世界的主题,超越了表面的探索。
你将看到如何使用 Beanie(MongoDB 的流行 ODM – 想象一下 NoSQL 的 ORM)来将类映射到 MongoDB。Beanie 基于最先进的 Python 技术,如 Pydantic 和 Python 的异步与等待。
在这个基于源代码的、动手实操、以演示为主导的课程中,我们将使用 Beanie 构建一些简单的示例应用。然后,我们将继续使用 MongoDB 对真实的 PyPI 数据(包含成千上万的记录)进行建模。一旦我们的 Python 源代码可以处理 PyPI 数据,我们就会围绕这些数据构建一个完整的 FastAPI API,展示 Beanie 和异步 MongoDB 在 FastAPI 中的流畅集成。
在我们掌握了使用 Python 与 MongoDB 的工作后,我们将关注性能。我们将处理一个包含数百万数据点的大型数据库,使其运行速度比使用 MongoDB 的默认设置快数百倍。我们将使用自定义 Python 源代码和 Locust 负载测试框架测试我们的性能改进。
我们将通过将 MongoDB 部署到生产 Linux 服务器来结束这门课程。将 MongoDB 运行在生产环境中有一些非常重要的步骤,我们将一步步通过这个设置。
最终,你将准备好开始构建和运行高性能、由 MongoDB 支持的、数据驱动的应用程序。
Talk Python – MongoDB with Async Python
Last updated 4/2024
MP4 | Video: h264, 2560×1440 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 111 Lessons ( 7h 20m ) | Size: 2.34 GB
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.
Source code and course GitHub repository
github.com/talkpython/mongodb-for-async-python-course
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
扫码免费下载