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

Эксплуатация и надёжность программных систем 2

ID 1160586

Статус: Курс обязательный (Прикладная математика и информатика)
Когда читается: 4-й курс, 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 4
Контактные часы: 26

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

Аннотация

Курс посвящён изучению фундаментальных принципов хранения и обработки данных в распределённых программных системах. Студенты освоят ключевые концепции надёжного хранения данных, включая свойства ACID, и познакомятся с основными проблемами и ограничениями, возникающими при проектировании распределённых систем. Курс охватывает практические подходы к репликации и партиционированию данных, а также методы организации распределённых транзакций в условиях частичных отказов и сетевой нестабильности. Особое внимание уделяется компромиссам, с которыми сталкиваются разработчики при выборе архитектурных решений, — в частности, теореме CAP и моделям согласованности данных. По завершении курса студенты будут готовы принимать обоснованные решения при проектировании надёжных и масштабируемых систем хранения и обработки данных.
Цель освоения дисциплины

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

  • Сформировать у студентов понимание фундаментальных проблем хранения данных и принципов обеспечения их целостности и надёжности в рамках транзакционных систем на основе свойств ACID.
  • Развить способность анализировать архитектурные особенности и ограничения распределённых систем, понимать теоретические основы их проектирования, включая теорему CAP и модели согласованности данных.
  • Обеспечить освоение практических методов репликации и партиционирования данных, формируя умение выбирать подходящие стратегии масштабирования в зависимости от требований к системе.
  • Сформировать компетенции в области организации распределённых транзакций, понимание протоколов консенсуса и методов обеспечения согласованности данных в условиях частичных отказов.
  • Развить способность комплексно оценивать архитектурные решения в области хранения и обработки данных, осознанно выбирая между конкурирующими требованиями к согласованности, доступности и устойчивости к разделению.
Планируемые результаты обучения

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

  • Студент знает основные проблемы хранения данных в программных системах, понимает свойства ACID-транзакций и умеет объяснять, каким образом каждое из этих свойств обеспечивает целостность и надёжность данных.
  • Студент знает фундаментальные принципы построения распределённых систем, понимает теорему CAP и модели согласованности данных, а также умеет анализировать архитектурные решения с точки зрения их соответствия требованиям конкретной системы.
  • Студент знает основные стратегии репликации данных (синхронная, асинхронная, мультимастер), понимает их преимущества и ограничения и умеет выбирать подходящую стратегию репликации в зависимости от требований к доступности и согласованности данных.
  • Студент знает методы партиционирования данных (горизонтальное, вертикальное, шардирование), умеет обосновывать выбор стратегии партиционирования и понимает влияние партиционирования на производительность и масштабируемость системы.
  • Студент знает основные протоколы организации распределённых транзакций (2PC, Saga, TCC), понимает проблемы согласованности в распределённых системах и умеет выбирать подходящий подход к управлению транзакциями в зависимости от архитектурных ограничений.
  • Студент умеет комплексно оценивать архитектуру системы хранения данных, выявлять узкие места и потенциальные точки отказа, а также разрабатывать обоснованные рекомендации по повышению надёжности, масштабируемости и производительности системы.
Содержание учебной дисциплины

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

  • Модуль 5.
Элементы контроля

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

  • неблокирующий Домашния задания
    Средний балл за все дз в 3м модуле
  • блокирующий Экзамен
Промежуточная аттестация

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

  • 2026/2027 3rd module
    0.4 * Экзамен + 0.6 * Домашния задания
Список литературы

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

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

  • Введение в системы баз данных, Дейт, К. Дж., 2018
  • Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019

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

  • Распределенные системы : принципы и парадигмы, 877 с., Таненбаум, Э., Стеен, М., 2003

Авторы

  • Солдатова Татьяна Владимировна