Хранилище-9 · Тёмная галерея

9 глав · 41 урок

Первый урок: Зачем NoSQL, если есть PostgreSQL

0/41
уроков пройдено
0· +10 за урок
Начать бесплатно

Практический курс по 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)
Запись никто не удалял: срок жизни вышел, и Redis забыл её сам. В таблице для этого пришлось бы писать отдельную программу.
9 глав
от первой команды до архитектуры
41
уроков с живыми ячейками
21 ч 10 мин
все уроки в сумме
4
урока бесплатно, без карты

Что болит

Задача с работы и приём для её решения

Кэш, документы, кольцо серверов и поиск — рядом с основной базой. Под каждой задачей указан приём из программы и то, что разбирает глава.

  • Цену обновили, а сайт показывает старую

    инвалидация кэша

    Основная база уже знает новую цену, а кэш — нет. В главе о кэше разберёшь, когда удалять ключ, а когда обновлять, и почему старое значение иногда возвращается в кэш само.

  • Истёк один ключ — и упала основная база

    лавина промахов

    Сотни запросов одновременно не нашли ключ в кэше и пошли в базу. Курс показывает это числом — сколько раз сходили в базу — и учит разносить сроки жизни и защищать базу от лавины.

  • Поиск по корзине в MongoDB нашёл не тот заказ

    $elemMatch

    Условия на товар и количество выполнились разными элементами массива. Глава о запросах к документу разбирает эту ловушку на данных и показывает, как спросить про один и тот же элемент.

  • Документ покупателя растёт без конца

    вложить или сослаться

    История заказов внутри покупателя удобна, пока заказов десять. Курс учит решать, что вкладывать, а что выносить ссылкой, и жить с несколькими версиями документов сразу.

  • Cassandra отказывается выполнить простой запрос

    таблица под запрос

    Запрос «все посылки в Казань» не по ключу раздела — и кольцо серверов отвечает отказом. Глава о Cassandra учит проектировать таблицу от вопроса, а не от сущностей.

  • Удалённая запись вернулась

    надгробия и починка копий

    Копия долго лежала, удаление до неё не дошло, а потом она вернулась. В главе о репликах увидишь это руками: какая копия права, что значит QUORUM и почему удаление — тоже запись.

  • Записали в базу, а в кэш — нет

    outbox

    Две записи в два хранилища — это не одна транзакция. Финальная глава учит переживать неизвестный исход записи и доставлять изменения из основной базы через transactional outbox.

Кому подойдёт курс

  • Тем, кто начинает с нуля и хочет понять, что такое базы данных и почему их бывает много
  • Бэкенд-разработчикам, которые подключают Redis и MongoDB «как в туториале» и хотят знать, где грабли
  • Аналитикам и тестировщикам, которые встречают NoSQL в проекте и хотят понимать, что там происходит
  • Тем, кто готовится к собеседованию и вопросу «почему именно эта база?»

Кому курс не подойдёт

  • Тем, кому нужно администрировать кластеры: установку, шардирование и резервные копии курс не разбирает
  • Тем, кто готовится к сертификации по одной СУБД: курс про выбор и модели, а не про все команды одной системы
  • Тем, кому нужны векторные базы для нейросетей: курс их не разбирает

Как устроено

Команда — отказ — разбор

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

  • Живые хранилища без установки

    Учебные Redis и MongoDB, а также модель Cassandra работают прямо в браузере. Время в учебной среде можно передвинуть одной строкой: сразу видно, что станет с кэшем через полчаса.

  • Ломаем систему специально

    Лавина промахов, горячий раздел, отставшая копия, воскресшее удаление — каждую поломку видно числом: сколько раз сходили в базу, сколько копий ответило.

  • Честно о модели

    Где учебное хранилище проще настоящего, урок говорит об этом прямо — плашкой «в настоящей системе иначе». Так видно, где заканчивается учебная модель.

Десятая смена одной истории

Тёмная галерея

Основная база «Котомаркета» уцелела целиком: покупатели, товары, заказы. Но магазин жил не в одной базе. Рядом работали быстрая память для корзин, хранилище карточек товаров, кольцо серверов службы доставки, поиск по витрине. Все они погасли в последний вечер магазина, 24 февраля 2025 года, — и стоят за тёмным стеклом «Хранилища-9».

Станция впервые даёт питание в Тёмную галерею. Комендант хочет знать, что ещё можно спасти и зачем магазину было столько хранилищ. Наставник тот же — КВЕРИ, старый архивный интеллект с характером кота: «Основная база хранит то, что нельзя потерять. Остальным поручают скорость, гибкость или работу сразу на многих серверах — и за каждое преимущество чем-то платят. Разберёмся, чем».

Программа

9 глав, 41 урок, 21 ч 10 мин

В каждой главе видны уроки и прогресс. Первая глава бесплатна, остальные входят в Pro.

Глава 1бесплатнооткрыта

Не всё должно быть таблицей

Начало с нуля: что такое база данных и почему не всё хранят таблицами. Пять подходов к хранению — по задаче, а не по названию; вопросы к данным раньше выбора хранилища; первая копия, которая отвечает устаревшим. В конце — ставка: где что лежало у «Котомаркета».

что такое база данныхшаблон доступакопия и задержка
4 урока · 1 ч 51 мин
Глава 2 PROзакрыта

Redis: структуры и атомарность

Кэш «Котомаркета» просыпается в 18:00 24 февраля, и сроки жизни идут дальше. Строки, хэши, списки, множества и рейтинги; атомарные операции против гонки двух клиентов; ограничители частоты и ключи, которые не дают выполнить запрос дважды.

структуры Redisатомарностьограничители
5 уроков · 2 ч 32 мин
Глава 3 PROзакрыта

Redis в бою: кэш и его грабли

Как кэш стоял перед основной базой и как однажды её уронил. Кэш «сначала спроси меня», инвалидация и её гонки, лавина промахов, память и вытеснение, перезапуск, копия и простая блокировка с токеном.

кэш перед базойлавина промаховвытеснение
5 уроков · 2 ч 39 мин
Глава 4 PROзакрыта

MongoDB: запросы к документу

В витрине три товара выглядят по-разному: архив повреждён или магазин так хранил? Документы и коллекции, запросы внутрь документа и ловушка массивов, операторы обновления, агрегации вместо GROUP BY и JOIN, индексы и план запроса.

запросы к документуагрегациииндексы
5 уроков · 2 ч 37 мин
Глава 5 PROзакрыта

MongoDB: проектирование

Одна карточка товара — и три поколения документов. Что вкладывать, а что выносить ссылкой, как жить с несколькими версиями схемы, где хватает одного документа, а где нужна транзакция, — и когда для этого достаточно PostgreSQL.

вложить или сослатьсяверсии схемытранзакции и реплики
4 урока · 2 ч 7 мин
Глава 6 PROзакрыта

Cassandra: таблица под запрос

Кольцо серверов службы доставки отказывается выполнить простой запрос «все посылки в Казань». Ключ раздела и порядок внутри него, таблица под каждый вопрос, денормализация вместо JOIN, большие разделы и бакеты по времени.

ключ разделатаблица под запросденормализация
5 уроков · 2 ч 37 мин
Глава 7 PROзакрыта

Кто прав, когда реплики спорят

Копии на узлах расходятся, а отменённая доставка «снова в пути». Репликация и координатор, уровни согласованности ONE, QUORUM и ALL, последняя запись побеждает по часам, надгробия, починка копий — и откуда воскресает удалённое.

согласованностьнадгробияCAP
4 урока · 2 ч 11 мин
Глава 8 PROзакрыта

Другие хранилища: узнать задачу

Один вопрос покупателя — три хранилища: найти товар по словам, показать, что с ним берут, проверить остаток у партнёра. Поисковый индекс, граф связей, DynamoDB и карта всех хранилищ, которые встретятся в работе.

поискграфыDynamoDB
4 урока · 1 ч 57 мин
Глава 9 PROзакрыта

NoSQL живёт не один

Галерею собирают в одну схему вокруг уцелевшей основной базы. Двойная запись и неизвестный исход, transactional outbox, поиск рядом с базой — и итоговый проект: архитектура «Котомаркета» после инцидента. В конце — экзамен.

двойная записьoutboxархитектура системы
5 уроков · 2 ч 39 минартефакт: итоговый проект и экзамен

Границы курса

Чего в курсе нет — и почему

  • Установка и администрирование

    Установка и администрирование кластеров остаются за рамками: курс про то, как пользоваться хранилищем и где оно ломается.

    Всё работает прямо в браузере, без установки. Отказы узлов, отставшие копии и перезапуски показываем на учебных моделях.

  • Абсолютные замеры скорости

    Учебные хранилища работают в браузере, и их миллисекунды ничего не говорят о настоящих системах.

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

  • Kafka и CDC подробно

    У них свои курсы на платформе.

    В финальной главе — transactional outbox и место CDC в системе. Kafka и CDC подробно разбираются в отдельных курсах платформы.

FAQ

Частые вопросы

  • Нет. Курс начинается с того, что такое база данных, и объясняет каждое понятие при первой встрече. Тем, кто знает SQL, будет проще: сравнение с привычной таблицей идёт через весь курс.

Галерея ждёт

Первая глава открыта целиком: 4 урока без подписки и карты.