← К оглавлению занятия

📖 Теория

📁 Блок: MongoDB / CAP, ACID и практические задачи ⏱️ Время изучения: ~90 мин 🎯 Сложность: Продвинутая

⚡ Кратко: суть занятия

CAP-теорема описывает ограничения распределённых систем данных.

Consistency: все узлы видят одинаковые данные в одинаковый момент времени.

Availability: отказ узлов не мешает системе отвечать на запросы.

Partition Tolerance: система продолжает работать при разделении сети.

В распределённой системе можно гарантировать только два свойства из трёх.

ACID описывает надёжность транзакций: Atomicity, Consistency, Isolation, Durability.

Практика закрепляет aggregation на trips, companies, shipwrecks и restaurants.

Домашка 18: средняя цена на Гавайях и фильмы с imdb > 8 за 2015–2023 годы.

Разбор темы

CAP-теорема

Источник определяет CAP как концепцию ограничений в распределённых системах данных.

Consistency

Все узлы видят одинаковые данные в одинаковый момент времени; обновление на одном узле должно быть доступно на всех.

Availability

Отказ узлов базы данных, включая primary, не должен останавливать работоспособность системы.

Partition Tolerance

Система продолжает функционировать при разделении сети, когда часть узлов не может связаться друг с другом.

Выбор двух свойств

CAP утверждает, что в распределённой системе можно выбрать только два аспекта из трёх.

ACID

ACID — набор характеристик транзакций: атомарность, согласованность, изолированность и долговечность.

Практические задачи

Занятие применяет aggregation к sample_training, sample_geospatial, sample_restaurants, sample_airbnb и sample_mflix.

Проверить по документации: часть практических деталей может зависеть от версии MongoDB, Atlas или Compass. Перед занятием сверяйте интерфейс и команды с официальной документацией.