Разработка баз данных MongoDB 7.0
Курс ориентирован на проектирование и разработку баз данных на MongoDB 7.0: выбор модели документов, схемы коллекций, индексов, агрегирующих запросов, транзакционных границ и практик производительности. Он развивает темы приложенного курса: CRUD, индексы, aggregation, транзакции, репликация, шардирование и расширенные операторы
Целевая аудитория
Backend-разработчики, архитекторы приложений, инженеры данных и администраторы, участвующие в проектировании схемы данных и запросов
Необходимая предварительная подготовка
Практические основы MongoDB или прохождение курса Основы MongoDB 7.0. Желательно владеть одним языком программирования и понимать принципы API-приложенийПолучаемые знания и навыки
По окончании курса слушатели научатся- Проектировать документную модель: выбирать между вложенными документами и ссылками, учитывать размер документа, атомарность, частоту чтения/записи и жизненный цикл данных
- Разрабатывать эффективные запросы: использовать операторы запросов, проекции, сортировку, pagination-подходы, aggregation pipeline и $lookup там, где это оправдано
- Оптимизировать производительность: подбирать compound/multikey/text/geo/TTL индексы, читать explain, снижать full collection scan и избыточные индексы
- Управлять целостностью данных: применять JSON Schema validation, уникальные индексы, транзакции, writeConcern/readConcern в сценариях приложения
- Проектировать под масштабирование: понимать влияние replica set и sharding на ключи, запросы, запись, чтение, консистентность и эксплуатацию
Преподаватели курса
Валерий Вавилов
Программа курса
Документная модель, BSON-типы, коллекции, индексы, storage engine на уровне разработчика, ограничения документа, влияние сетевых round-trip и размера ответа
Embedding vs referencing, one-to-one/one-to-many/many-to-many, массивы, versioning, bucket/outlier/polymorphic patterns, денормализация и инварианты
JSON Schema validator, collMod, обязательные поля, типы BSON, уникальность, миграции структуры, обратная совместимость приложений
Find, фильтры, проекции, сортировки, пагинация, update operators, upsert, bulk operations, обработка ошибок и идемпотентность
Pipeline design, $match/$group/$project/$sort, $lookup, $unwind, $facet, расчётные поля, оптимизация порядка stages и ограничение объема данных
Single/compound/multikey/text/geo/TTL/wildcard, частичные и уникальные индексы, explain, cardinality, sort + index, баланс read/write workload
Single-document atomicity, multi-document transactions, readConcern, writeConcern, retryable writes, consistency trade-offs и работа с ошибками
Replica set и readPreference, sharding-aware design, выбор потенциального shard key, горячие ключи, распределение запросов, подготовка к мониторингу