Этот курс научит вас использовать MongoDB и документ-ориентированные базы данных для создания более простых и быстрых приложений, работающих с данными.
Мы начнем с объяснения происхождения и основных концепций NoSQL и документ-ориентированных баз данных. Затем вы научитесь работать с MongoDB через его собственный шелл, а также многие CLI и GUI инструменты управления.
Многие курсы по MongoDB заканчиваются на этом этапе. Этот курс предназначен для практического охвата MongoDB от начала до конца. Мы идем дальше простого ознакомления, охватывая темы, применимые в реальном мире.
Вы увидите, как использовать Beanie (популярный ODM для MongoDB — аналог ORM для NoSQL) для отображения классов в MongoDB. Beanie базируется на передовых технологиях Python, таких как Pydantic и асинхронные операторы async и await.
В этом практическом курсе, ориентированном на демонстрации и написание кода, мы построим несколько простых примеров приложений с использованием Beanie. Затем мы перейдем к моделированию реальных данных PyPI с сотнями тысяч записей в MongoDB. Как только наш код Python начнет работать с данными PyPI, мы создадим полноценное API на FastAPI, демонстрируя гладкую интеграцию Beanie и асинхронного MongoDB внутри FastAPI.
После того как мы освоим работу с MongoDB c Python, мы обратим внимание на производительность. Мы возьмем большую базу данных с миллионами точек данных и заставим ее работать в сотни раз быстрее, чем это возможно «из коробки» с MongoDB. Мы проверим наши изменения в производительности с помощью пользовательского кода Python и фреймворка для нагрузочного тестирования Locust.
Мы завершим курс развертыванием MongoDB на производственных серверах Linux. Существует несколько очень важных шагов для запуска MongoDB в производственной среде, и мы будем двигаться шаг за шагом через эту настройку.
В конце концов, вы будете готовы начать создание и эксплуатацию высокопроизводительных приложений, работающих с данными и поддерживаемых MongoDB.
В этом курсе вы узнаете:
- Как работают документо-ориентированные базы данных, такие как MongoDB.
- Какое место занимает MongoDB среди других баз данных, используемых в мире.
- Как установить и настроить MongoDB, а также несколько инструментов управления и графических интерфейсов.
- Основной набор команд и запросов собственного шелла MongoDB.
- Основные технологии, такие как Pydantic и асинхронные операторы Python async и await.
- Как проектировать модели данных с помощью Beanie и Pydantic.
- Понимание компромиссов при моделировании данных с документами.
- Узнать, когда хорошая идея (и когда плохая) встраивать данные в другие записи.
- Использование программирования в стиле ORM с MongoDB и Beanie.
- Использование более эффективных операций «на месте», таких как addToSet с Beanie.
- Проектирование классов проекций в Pydantic для повышения производительности.
- Как безопасно хранить учетные записи пользователей (особенно пароли) в MongoDB.
- Глубокая интеграция Beanie и MongoDB с FastAPI.
- Создание сложных индексов в MongoDB через Beanie для увеличения производительности в 1000 раз.
- Использование индексов для обеспечения целостности данных в MongoDB.
- Безопасное развертывание MongoDB в самостоятельно размещенной среде внутри облачного провайдера на нескольких машинах Linux.
- Использование фреймворка для нагрузочного тестирования Locust для изучения и тестирования пределов производительности ваших веб-API на базе MongoDB.
- И многое другое.