Table of Contents

Базы данных

🎓 Лабораторные работы: 🚀 ТОП-ИТ УРОВЕНЬ

💡 Лабораторная работа 6. Репликация и кластеризация

Продвинутый уровень: Работа с распределенными системами

Цель: Освоение принципов построения отказоустойчивых систем.

📋 Задачи:

  1. Настройка master-slave репликации PostgreSQL
  2. Создание кластера из 2-х узлов
  3. Тестирование отказоустойчивости
  4. Нагрузочное тестирование кластера

🔧 Технологии:

📊 Критерии оценки:

Задача Баллы
Настройка репликации 40
Тестирование отказоустойчивости 30
Документация архитектуры 30

💡 Лабораторная работа 7. Миграции и CI/CD для БД

Цель: Освоение современных практик управления изменениями БД.

📋 Задачи:

  1. Настройка Flyway/Liquibase для миграций
  2. Создание pipeline для автоматического развертывания
  3. Реализация отката миграций (rollback)
  4. Интеграция с GitLab CI/GitHub Actions

📁 Структура проекта:

db/
├── migrations/
│   ├── V1__Create_tables.sql
│   ├── V2__Add_indexes.sql
│   └── V3__Insert_test_data.sql
├── flyway.conf
└── docker-compose.yml

💡 Лабораторная работа 8. Оптимизация для высоких нагрузок

Цель: Освоение техник оптимизации для high-load систем.

📋 Задачи:

  1. Партиционирование больших таблиц
  2. Настройка connection pooling
  3. Кэширование запросов с Redis
  4. Мониторинг производительности с Prometheus + Grafana

📊 Метрики для мониторинга:

💡 Лабораторная работа 9. Безопасность и авторизация

Цель: Реализация комплексной системы безопасности БД.

📋 Задачи:

  1. Настройка RBAC (Role-Based Access Control)
  2. Шифрование чувствительных данных
  3. Аудит безопасности с помощью pgAudit
  4. Создание политик row-level security
-- Пример политики безопасности
CREATE POLICY user_policy ON users
    FOR ALL USING (CURRENT_USER = user_role);

💡 Лабораторная работа 10. NoSQL и гибридные решения

Цель: Изучение альтернативных подходов к хранению данных.

📋 Задачи:

  1. Интеграция PostgreSQL с MongoDB
  2. Использование JSONB для документной модели
  3. Сравнение производительности SQL vs NoSQL
  4. Реализация гибридного решения

🔧 Стек технологий:

📈 Система оценивания

🎓 Базовый уровень (лабы 1-5):

Лабораторная Макс. балл Срок сдачи
Лаб 1. Проектирование 20 3 недели
Лаб 2. Инсталляция 25 2 недели
Лаб 3. Представления 20 2 недели
Лаб 4. Производительность 20 2 недели
Лаб 5. Триггеры 15 2 недели
Итого 100

🚀 ТОП-ИТ уровень (лабы 6-10):

Лабораторная Макс. балл Бонусы
Лаб 6. Репликация 25 +5 к итогу
Лаб 7. CI/CD 25 +5 к итогу
Лаб 8. Оптимизация 25 +5 к итогу
Лаб 9. Безопасность 25 +5 к итогу
Лаб 10. NoSQL 25 +5 к итогу

Примечание: Лабораторные 6-10 являются дополнительными и выполняются по желанию для повышения оценки

🔗 Ресурсы и контакты

📚 Учебные материалы:

💼 Платформы для сдачи:

📞 Контакты:

Совет: Начните работу заранее - сложные лабораторные требуют глубокого понимания и времени на отладку!

базы_данных лабораторные_работы postgresql топ-ит