Считать CAP выбором любых двух всегда без контекста
Симптом: Архитектурное решение получается слишком грубым.
Исправление: Учитывайте поведение именно при сетевом разделении.
CAP-теорема описывает ограничения распределённых систем данных.
Consistency: все узлы видят одинаковые данные в одинаковый момент времени.
Availability: отказ узлов не мешает системе отвечать на запросы.
Partition Tolerance: система продолжает работать при разделении сети.
В распределённой системе можно гарантировать только два свойства из трёх.
ACID описывает надёжность транзакций: Atomicity, Consistency, Isolation, Durability.
Практика закрепляет aggregation на trips, companies, shipwrecks и restaurants.
Домашка 18: средняя цена на Гавайях и фильмы с imdb > 8 за 2015–2023 годы.
Симптом: Архитектурное решение получается слишком грубым.
Исправление: Учитывайте поведение именно при сетевом разделении.
Симптом: Одинаковый термин воспринимается как одно и то же.
Исправление: В CAP это согласованность между узлами; в ACID — корректность состояния транзакции.
Симптом: Геофильтр возвращает пусто.
Исправление: Пишите longitude, latitude.
Симптом: В сортировку попадают null или строки.
Исправление: Добавьте фильтр по числовому типу.
Симптом: Получается список документов, а не средняя цена.
Исправление: Используйте $group с $avg.
Симптом: Побеждает объект с малым числом отзывов.
Исправление: Сначала number_of_reviews >= 50, затем сортировка по рейтингу.