Курс посвящен изучению нереляционных (NoSQL) баз данных и их ключевой роли в создании современных высоконагруженных и масштабируемых систем. Программа охватывает все значимые классы систем: ключ-значение (Redis), документные (MongoDB), колоночные (ClickHouse, Cassandra), графовые (Neo4j), поисковые (Elasticsearch), а также in-memory и векторные решения. Особое внимание уделяется российским технологиям — Tarantool и ClickHouse.
Курс формирует архитектурное мышление и принцип polyglot persistence: студенты учатся осознанно выбирать и комбинировать различные СУБД в рамках одного проекта, исходя из требований бизнеса к производительности, консистентности и стоимости эксплуатации.
Цель освоения дисциплины
Дать студентам целостное представление о ландшафте NoSQL-технологий и научить их проектировать эффективные системы хранения данных под задачи разной направленности (аналитика, кэширование, поиск, работа со связными данными, ML). Курс нацелен на формирование архитектурного подхода: понимание компромиссов между скоростью, надежностью и сложностью масштабирования. Выпускник должен уметь обоснованно подбирать технологический стек, проектировать схемы данных «под запросы» и реализовывать сложную логику на стороне базы данных.
Планируемые результаты обучения
Классифицировать типы NoSQL-систем (ключ-значение, документные, колоночные, графовые, поисковые) и объяснять их архитектурные отличия от реляционных баз данных.
Проектировать и оптимизировать аналитические хранилища на базе ClickHouse, применяя механизмы партиционирования, репликации и настройки TTL.
Разрабатывать высокопроизводительные решения с использованием Redis, включая кеширование, очереди и rate limiting.
Создавать гибкие модели данных в MongoDB, используя паттерны встраивания и ссылок, индексы и агрегационный пайплайн.
Реализовывать поисковые интерфейсы в Elasticsearch, настраивая анализаторы, индексы и фильтрацию.
Проектировать модели данных для колоночных (Cassandra) и графовых (Neo4j) баз данных с учётом специфики их архитектур.
Реализовывать бизнес-логику внутри Tarantool с использованием Lua-скриптов и хранимых процедур.
Выстраивать архитектуру распределённых систем, осознанно выбирая СУБД на основе анализа компромиссов (CAP/BASE).
Реализовывать комплексный NoSQL-проект от этапа проектирования до защиты архитектурного решения.
Содержание учебной дисциплины
Раздел 1. Введение в мир NoSQL
Раздел 2. Документные базы данных на примере MongoDB
Раздел 3. Базы данных "ключ-значение" на примере Redis
Раздел 4. Поисковые системы на примере Elasticsearch
Раздел 5. Колоночные базы данных на примере Apache Cassandra
Раздел 6. Графовые базы данных на примере Neo4j
Раздел 7. Российские NoSQL системы Tarantool и ClickHouse
Элементы контроля
Домашние задания
Лабораторные работы (30 баллов)
Всего 6 лабораторных работ по ключевым практическим темам курса. Максимум за каждую ЛР — 5 баллов, общая сумма — 30 баллов.
Перечень лабораторных работ
№
Лабораторная работа
Максимум баллов
1
Обзор NoSQL-систем и выбор технологии
5
2
ClickHouse: запросы, агрегации и оптимизация
5
3
Tarantool: индексы, транзакции и Lua-логика
5
4
MongoDB: документная модель и CRUD-операции
5
5
Redis: структуры данных, TTL и кеширование
5
6
Elasticsearch и векторные БД
5
Всего
30
Домашнее задание
Промежуточный тест проводится в онлайн формате на платформе Технотест в конце первого модуля и охватывает ключевые темы первой части курса:
Основы NoSQL: причины появления, отличия от реляционных СУБД
Классификация NoSQL-систем (document, key-value, wide-column, graph, time-series, vector)
CAP-теорема, ACID vs BASE, eventual consistency
Моделирование данных «от запросов»: агрегаты, денормализация, встраивание vs ссылки
Основы ClickHouse: архитектура, MergeTree, базовые запросы
Основы Redis и Tarantool: in-memory хранилища, структуры данных
Характеристики теста
Количество вопросов: 20
Типы вопросов: выбор одного ответа, выбор нескольких ответов, установление соответствия
Время выполнения: 40 минут
Итоговый тест
Итоговое испытание по курсу (экзамен) проводится в формате онлайн-тестирования без прокторинга.
Характеристики теста
Количество вопросов: 25
Типы вопросов: выбор одного ответа, выбор нескольких ответов, установление соответствия, открытые вопросы с кратким ответом
Время выполнения: 60 минут
Проходной порог: не менее 25 баллов из 50 (обязательное условие для получения зачёта)
Kafka Streams и ksqlDB : данные в реальном времени, Сеймур, М., 2023
The Little Learner: чудесное машинное обучение, Фридман, Д. П., 2024
Многозначные СУБД и XML базы данных : монография, Филиппов В.А., Щукин Б.А., 2008
Советов, Б. Я. Базы данных : учебник для вузов / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 403 с. — (Высшее образование). — ISBN 978-5-534-18479-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/559898 (дата обращения: 02.07.2026).
Преподаватель
Графеева Наталья Генриховна
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Авторы