• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Базы данных: хранение и передача информации

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 48

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

Аннотация

Дисциплина «Базы данных: хранение и передача информации» предназначена для формирования у студентов практических компетенций в области проектирования, разработки и эксплуатации подсистем хранения данных современных AI/ML-систем. Курс изучается параллельно с дисциплиной «Промышленное программирование на Python» и синхронизируется с разрабатываемым в ней инженерным проектом. Если в курсе Python студенты реализуют модели машинного обучения, REST API и программную логику AI-сервиса, то в настоящей дисциплине они проектируют и реализуют слой хранения данных для этой системы. В курсе рассматриваются реляционные базы данных на примере PostgreSQL, key-value хранилища на примере Redis, а также векторные базы данных и расширения для поиска по эмбеддингам. Документоориентированные СУБД рассматриваются обзорно как отдельный класс систем хранения данных. Особое внимание уделяется проектированию схем данных, индексированию, транзакциям, оптимизации запросов, кэшированию, репликации, резервному копированию, консистентности, доступности и базовым требованиям безопасности данных.
Цель освоения дисциплины

Цель освоения дисциплины

  • Курс посвящен базам данных как инфраструктурному слою современных AI/ML-систем. Основное внимание уделяется не только синтаксису SQL, но и инженерным последствиям выбора модели хранения данных, структуры схемы, индексов, транзакций, кэшей и механизмов репликации. Ключевая идея курса: Современная AI-система использует не одну базу данных, а архитектуру хранения, в которой разные классы хранилищ решают разные инженерные задачи.
  • Фокус курса: • реляционная модель данных и PostgreSQL; • транзакции, индексы, MVCC и оптимизация запросов; • key-value хранилища и Redis; • кэширование, rate limiting, очереди и session storage; • векторные базы данных и хранение эмбеддингов; • базовые принципы репликации, резервного копирования и восстановления; • безопасность доступа к данным, аудит и защита соединений; • интеграция баз данных с Python-приложениями и ML-сервисами.
  • Дисциплина синхронизируется с курсом «Промышленное программирование на Python». Практические задания выполняются на основе единого прикладного исследовательского кейса, используемого в образовательной программе. В рамках курса студенты проектируют слой хранения данных для AI/ML-системы, включающий: • PostgreSQL для хранения структурированных данных, результатов инференса, метаданных экспериментов и журналов операций; • Redis для кэширования, хранения временных состояний, ограничения частоты запросов и поддержки сервисной логики; • векторное хранилище для работы с эмбеддингами, similarity search и компонентами RAG; • обзорное знакомство с документоориентированными СУБД и их применимостью в системах машинного обучения. Такой подход позволяет рассматривать базы данных не изолированно, а как часть единой архитектуры промышленной AI-системы.
Планируемые результаты обучения

Планируемые результаты обучения

  • Умеет проектировать схемы реляционных баз данных для прикладных AI/ML-систем
  • Умеет использовать PostgreSQL для хранения структурированных данных и метаданных ML-сервисов
  • Умеет проектировать индексы и анализировать планы выполнения запросов
  • Умеет применять транзакции и понимать ограничения различных уровней изоляции
  • Умеет использовать Redis для кэширования, хранения сессий, очередей и ограничения частоты запросов
  • Умеет объяснять назначение векторных баз данных и применять их для хранения эмбеддингов
  • Умеет проектировать базовые механизмы резервного копирования и восстановления данных
  • Умеет учитывать требования консистентности, доступности и производительности при выборе архитектуры хранения
  • Умеет применять базовые механизмы безопасности баз данных: роли, права доступа, TLS, аудит и защиту секретов
  • Умеет интегрировать базы данных с Python-приложениями и ML-сервисами
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Модуль 1. Архитектура хранения данных AI/ML-систем
  • Модуль 2. PostgreSQL и реляционная модель данных
  • Модуль 3. Транзакции, MVCC и консистентность данных
  • Модуль 4. Индексы и оптимизация запросов
  • Модуль 5. Redis и key-value хранилища
  • Модуль 6. Векторные базы данных и хранение эмбеддингов
  • Модуль 7. Документоориентированные базы данных
  • Модуль 8. Репликация, резервное копирование и восстановление
  • Модуль 9. Безопасность баз данных
  • Модуль 10. Интеграция подсистемы хранения данных с AI/ML-сервисом
Элементы контроля

Элементы контроля

  • неблокирующий Практические задания
    Практические работы 1. Проектирование архитектуры хранения данных для AI/ML-сервиса. 2. Проектирование схемы PostgreSQL. 3. Реализация миграций и слоя доступа к данным. 4. Анализ транзакций и конкурентного доступа. 5. Индексирование и оптимизация SQL-запросов. 6. Интеграция Redis для кэширования и rate limiting. 7. Хранение эмбеддингов и реализация векторного поиска. 8. Резервное копирование и восстановление PostgreSQL. 9. Настройка ролей, прав доступа, TLS и аудита. 10. Интеграция PostgreSQL, Redis и векторного хранилища с Python ML-сервисом.
  • неблокирующий Итоговый проект
    В рамках итогового проекта студент проектирует и реализует подсистему хранения данных для AI/ML-сервиса. Проект должен включать: • реляционную схему PostgreSQL; • слой доступа к данным из Python-приложения; • механизм кэширования или ограничения частоты запросов на Redis; • компонент хранения эмбеддингов или векторного поиска; • базовые механизмы резервного копирования; • настройку ролей и прав доступа; • описание архитектуры хранения данных; • анализ производительности ключевых запросов; • описание базовых рисков безопасности данных.
  • неблокирующий Участие в обсуждениях и защите инженерных решений
Промежуточная аттестация

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

  • 2026/2027 2nd module
    0.4 * Практические задания + 0.2 * Участие в обсуждениях и защите инженерных решений + 0.4 * Итоговый проект
Список литературы

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

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

  • Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
  • Perkins, L., Redmond, E., & Wilson, J. R. (2018). Seven Databases in Seven Weeks : A Guide to Modern Databases and the NoSQL Movement (Vol. Second edition). Raleigh, N. C: Pragmatic Bookshelf. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1806794

Рекомендуемая дополнительная литература

  • Foster, E. C., & Godbole, S. (2016). Database Systems : A Pragmatic Approach (Vol. Second edition). [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174505
  • Jukic, N., Vrbsky, S., & Nestorov, S. (2017). Database Systems : Introduction to Databases and Data Warehouses. Burlington, Virginia: Prospect Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1562389

Авторы

  • Иванов Федор Ильич