Интернет-магазин: товары, заказы с позициями и покупатели. Основная база для CRUD и агрегации.
products 21 · orders 120 · customers 20
Издание для старших курсов
Макаров Максим Николаевич
От первого документа до аналитической витрины:
запросы, агрегация и связи
Разделы идут в том порядке, в каком с базой работают: запись и чтение, затем язык запросов, затем агрегация. Каждый оператор показан дважды — как он выглядит в оболочке и как тот же запрос пишется из программы, — и подтверждён кадром MongoDB Compass на реальных данных.
Язык драйвера выбирается кнопкой в шапке любой главы: Python, C++, Go или Ruby. Модули, главы и объяснения от этого не меняются — меняется только код. Выбор запоминается и переносится на все страницы.
Порядок глав — это порядок изучения: оператор не встретится в примере раньше, чем разобран. После логически завершённого набора тем идёт практическая работа с готовым решением в репозитории, а за ней — контрольная точка: задача уровня рабочей, без разбора.
Все примеры выполнены на четырёх базах курса. Они восстанавливаются одной командой из репозитория практик, данные детерминированные — числа в книге совпадут с вашими. Как скачать базы с GitHub и загрузить в MongoDB — глава 1.0.
Интернет-магазин: товары, заказы с позициями и покупатели. Основная база для CRUD и агрегации.
products 21 · orders 120 · customers 20
Наём: резюме, вакансии, компании и собеседования. На ней разбирается язык фильтров.
resumes 9 · vacancies 8 · companies 8 · interviews 60
Журнал сервиса: события с уровнем, маршрутом и длительностью. Для индексов и группировки по времени.
events 1200
Иерархии: сотрудники с руководителями и дерево категорий. Нужны для рекурсивного поиска.
employees 15 · categories 10
github.com/MaximBytecamp/mongodb-practice — стенд, данные и решения практик
Кейсы — девять разобранных случаев из практики, со ссылками на источники
Отдельный справочник System design: архитектура приложений Работа и выстраивание полноценных систем: балансировщик, ограничение частоты запросов, выбор базы под данные. С практикумом «Архитектор по заявке». Открыть →Как программа доходит до документа: клиент, база, коллекция — и четыре операции, из которых состоит вся работа с данными.
_idчитатьФильтр — это документ. Разбираем все операторы запроса: от сравнения до условий по элементам массива.
Что база может проверить за нас и почему один и тот же запрос выполняется то мгновенно, то за секунды.
Главный инструмент отчётов: документы проходят через стадии, каждая меняет поток. Здесь считают деньги.
Массив внутри документа обрабатывается целиком, без разворачивания: выбрать, преобразовать, свернуть в число.
Документная база умеет соединять коллекции — и делает это иначе, чем SQL. Заканчиваем материализованной витриной.