9 глав · 41 урок
Первый урок: Зачем NoSQL, если есть PostgreSQL
Практический курс по NoSQL с нуля · Redis, MongoDB, Cassandra
Не всё должно быть таблицей.
Redis, MongoDB и Cassandra — с нуля.
Курс для тех, кто начинает с нуля: что такое база данных, зачем рядом с ней кэш, документы и кольцо серверов, как выбрать хранилище под задачу и не уронить систему. Всё руками: учебные Redis и MongoDB, а также модель Cassandra работают прямо в браузере.
Первая глава бесплатно · остальные 8 глав входят в Pro · Что входит в Pro
- Хранилище выбираем по вопросам к данным, а не по моде
- Задания проверяются автоматически
- Живые ячейки Redis, MongoDB и модели Cassandra
- Без установки: всё в браузере
redis> SET session:42 "Пазл 1000 деталей" EX 1800OKredis> TTL session:42(integer) 1800… прошло полчаса и одна секунда …redis> GET session:42(nil)
Что болит
Задача с работы и приём для её решения
Кэш, документы, кольцо серверов и поиск — рядом с основной базой. Под каждой задачей указан приём из программы и то, что разбирает глава.
Цену обновили, а сайт показывает старую
инвалидация кэшаОсновная база уже знает новую цену, а кэш — нет. В главе о кэше разберёшь, когда удалять ключ, а когда обновлять, и почему старое значение иногда возвращается в кэш само.
Истёк один ключ — и упала основная база
лавина промаховСотни запросов одновременно не нашли ключ в кэше и пошли в базу. Курс показывает это числом — сколько раз сходили в базу — и учит разносить сроки жизни и защищать базу от лавины.
Поиск по корзине в MongoDB нашёл не тот заказ
$elemMatchУсловия на товар и количество выполнились разными элементами массива. Глава о запросах к документу разбирает эту ловушку на данных и показывает, как спросить про один и тот же элемент.
Документ покупателя растёт без конца
вложить или сослатьсяИстория заказов внутри покупателя удобна, пока заказов десять. Курс учит решать, что вкладывать, а что выносить ссылкой, и жить с несколькими версиями документов сразу.
Cassandra отказывается выполнить простой запрос
таблица под запросЗапрос «все посылки в Казань» не по ключу раздела — и кольцо серверов отвечает отказом. Глава о Cassandra учит проектировать таблицу от вопроса, а не от сущностей.
Удалённая запись вернулась
надгробия и починка копийКопия долго лежала, удаление до неё не дошло, а потом она вернулась. В главе о репликах увидишь это руками: какая копия права, что значит QUORUM и почему удаление — тоже запись.
Записали в базу, а в кэш — нет
outboxДве записи в два хранилища — это не одна транзакция. Финальная глава учит переживать неизвестный исход записи и доставлять изменения из основной базы через transactional outbox.
Кому подойдёт курс
- Тем, кто начинает с нуля и хочет понять, что такое базы данных и почему их бывает много
- Бэкенд-разработчикам, которые подключают Redis и MongoDB «как в туториале» и хотят знать, где грабли
- Аналитикам и тестировщикам, которые встречают NoSQL в проекте и хотят понимать, что там происходит
- Тем, кто готовится к собеседованию и вопросу «почему именно эта база?»
Кому курс не подойдёт
- Тем, кому нужно администрировать кластеры: установку, шардирование и резервные копии курс не разбирает
- Тем, кто готовится к сертификации по одной СУБД: курс про выбор и модели, а не про все команды одной системы
- Тем, кому нужны векторные базы для нейросетей: курс их не разбирает
Как устроено
Команда — отказ — разбор
В уроках есть живые ячейки, квизы и задания с автопроверкой. Сначала видишь странный ответ хранилища, потом разбираешься, почему он такой.
Живые хранилища без установки
Учебные Redis и MongoDB, а также модель Cassandra работают прямо в браузере. Время в учебной среде можно передвинуть одной строкой: сразу видно, что станет с кэшем через полчаса.
Ломаем систему специально
Лавина промахов, горячий раздел, отставшая копия, воскресшее удаление — каждую поломку видно числом: сколько раз сходили в базу, сколько копий ответило.
Честно о модели
Где учебное хранилище проще настоящего, урок говорит об этом прямо — плашкой «в настоящей системе иначе». Так видно, где заканчивается учебная модель.
Десятая смена одной истории
Тёмная галерея
Основная база «Котомаркета» уцелела целиком: покупатели, товары, заказы. Но магазин жил не в одной базе. Рядом работали быстрая память для корзин, хранилище карточек товаров, кольцо серверов службы доставки, поиск по витрине. Все они погасли в последний вечер магазина, 24 февраля 2025 года, — и стоят за тёмным стеклом «Хранилища-9».
Станция впервые даёт питание в Тёмную галерею. Комендант хочет знать, что ещё можно спасти и зачем магазину было столько хранилищ. Наставник тот же — КВЕРИ, старый архивный интеллект с характером кота: «Основная база хранит то, что нельзя потерять. Остальным поручают скорость, гибкость или работу сразу на многих серверах — и за каждое преимущество чем-то платят. Разберёмся, чем».
Программа
9 глав, 41 урок, 21 ч 10 мин
В каждой главе видны уроки и прогресс. Первая глава бесплатна, остальные входят в Pro.
Не всё должно быть таблицей
Начало с нуля: что такое база данных и почему не всё хранят таблицами. Пять подходов к хранению — по задаче, а не по названию; вопросы к данным раньше выбора хранилища; первая копия, которая отвечает устаревшим. В конце — ставка: где что лежало у «Котомаркета».
Redis: структуры и атомарность
Кэш «Котомаркета» просыпается в 18:00 24 февраля, и сроки жизни идут дальше. Строки, хэши, списки, множества и рейтинги; атомарные операции против гонки двух клиентов; ограничители частоты и ключи, которые не дают выполнить запрос дважды.
Redis в бою: кэш и его грабли
Как кэш стоял перед основной базой и как однажды её уронил. Кэш «сначала спроси меня», инвалидация и её гонки, лавина промахов, память и вытеснение, перезапуск, копия и простая блокировка с токеном.
MongoDB: запросы к документу
В витрине три товара выглядят по-разному: архив повреждён или магазин так хранил? Документы и коллекции, запросы внутрь документа и ловушка массивов, операторы обновления, агрегации вместо GROUP BY и JOIN, индексы и план запроса.
MongoDB: проектирование
Одна карточка товара — и три поколения документов. Что вкладывать, а что выносить ссылкой, как жить с несколькими версиями схемы, где хватает одного документа, а где нужна транзакция, — и когда для этого достаточно PostgreSQL.
Cassandra: таблица под запрос
Кольцо серверов службы доставки отказывается выполнить простой запрос «все посылки в Казань». Ключ раздела и порядок внутри него, таблица под каждый вопрос, денормализация вместо JOIN, большие разделы и бакеты по времени.
Кто прав, когда реплики спорят
Копии на узлах расходятся, а отменённая доставка «снова в пути». Репликация и координатор, уровни согласованности ONE, QUORUM и ALL, последняя запись побеждает по часам, надгробия, починка копий — и откуда воскресает удалённое.
Другие хранилища: узнать задачу
Один вопрос покупателя — три хранилища: найти товар по словам, показать, что с ним берут, проверить остаток у партнёра. Поисковый индекс, граф связей, DynamoDB и карта всех хранилищ, которые встретятся в работе.
NoSQL живёт не один
Галерею собирают в одну схему вокруг уцелевшей основной базы. Двойная запись и неизвестный исход, transactional outbox, поиск рядом с базой — и итоговый проект: архитектура «Котомаркета» после инцидента. В конце — экзамен.
Границы курса
Чего в курсе нет — и почему
Установка и администрирование
Установка и администрирование кластеров остаются за рамками: курс про то, как пользоваться хранилищем и где оно ломается.
Всё работает прямо в браузере, без установки. Отказы узлов, отставшие копии и перезапуски показываем на учебных моделях.
Абсолютные замеры скорости
Учебные хранилища работают в браузере, и их миллисекунды ничего не говорят о настоящих системах.
Цену решения показываем числом, которое не врёт: сколько раз сходили в базу, сколько записей просмотрел запрос, сколько копий ответило.
Kafka и CDC подробно
У них свои курсы на платформе.
В финальной главе — transactional outbox и место CDC в системе. Kafka и CDC подробно разбираются в отдельных курсах платформы.
FAQ
Частые вопросы
Нет. Курс начинается с того, что такое база данных, и объясняет каждое понятие при первой встрече. Тем, кто знает SQL, будет проще: сравнение с привычной таблицей идёт через весь курс.
Галерея ждёт
Первая глава открыта целиком: 4 урока без подписки и карты.