• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

НИУ ВШЭ в Санкт-ПетербургеПрограммы бакалавриатаШкола информатики, физики и технологий

РУС
Версия для слабовидящихВерсия для слабовидящихЛичный кабинет сотрудника ВШЭПоиск

01.03.02 Прикладная математика и информатика

Бакалаврская программа

Прикладной анализ данных и искусственный интеллект

Нереляционные базы данных

2026/2027
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс по выбору
Когда читается:
4-й курс, 1, 2 модуль

Преподаватель

Программа дисциплины

Аннотация

Курс посвящен изучению нереляционных (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 (обязательное условие для получения зачёта)
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    0.3 * Домашние задания + 0.2 * Домашнее задание + 0.5 * Итоговый тест
Список литературы

Список литературы

Рекомендуемая основная литература

  • 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).

Авторы

  • Оленчук Ольга Геннадьевна
  • Юнышева Анастасия Владимировна
  • Архимандритов Игорь Борисович
  • Оленчук Павел Дмитриевич
  • Любавина Светлана Вячеславовна