db:main
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| db:main [2025/10/08 08:49] – [🎓 Лабораторные работы] eugeneai | db:main [2025/12/09 12:56] (current) – [🎯 Лабораторная работа 3. Представления и процедуры] eugeneai | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Базы данных ====== | ====== Базы данных ====== | ||
| - | {{topic> | + | < |
| ===== 🎓 Лабораторные работы ===== | ===== 🎓 Лабораторные работы ===== | ||
| - | Лабораторные работы [[db: | + | Лабораторные работы |
| ==== 🎯 Лабораторная работа 1. Проектирование структуры БД ==== | ==== 🎯 Лабораторная работа 1. Проектирование структуры БД ==== | ||
| Line 44: | Line 45: | ||
| - Создание DDL-запросов для PostgreSQL | - Создание DDL-запросов для PostgreSQL | ||
| - Заполнение таблиц данными (минимум 4 строки) | - Заполнение таблиц данными (минимум 4 строки) | ||
| - | - Выполнение содержательных SELECT-запросов с JOIN 2-3 таблиц | + | |
| + | - Делаете дамп вашей схемы данных (для командной строки пример - ' | ||
| + | - Отдаете в ваш чат Deepseek с запросом на проверку | ||
| + | - Добавляете результат в отчет | ||
| + | | ||
| <code sql> | <code sql> | ||
| Line 53: | Line 58: | ||
| JOIN products p ON o.product_id = p.id; | JOIN products p ON o.product_id = p.id; | ||
| </ | </ | ||
| + | |||
| + | |||
| ==== 🎯 Лабораторная работа 3. Представления и процедуры ==== | ==== 🎯 Лабораторная работа 3. Представления и процедуры ==== | ||
| Line 61: | Line 68: | ||
| - Создание представлений для выходных документов | - Создание представлений для выходных документов | ||
| - Разработка хранимых процедур с параметрами | - Разработка хранимых процедур с параметрами | ||
| - | - Оптимизация запросов | + | - Представление сложных |
| <code sql> | <code sql> | ||
| Line 106: | Line 113: | ||
| ===== 🚀 ТОП-ИТ УРОВЕНЬ ===== | ===== 🚀 ТОП-ИТ УРОВЕНЬ ===== | ||
| - | ==== 💡 Лабораторная работа 6. Репликация и кластеризация ==== | + | Лабораторные работы |
| - | + | ||
| - | **Продвинутый уровень: | + | |
| - | + | ||
| - | **Цель**: | + | |
| - | + | ||
| - | **📋 Задачи: | + | |
| - | | + | |
| - | - Создание кластера из 2-х узлов | + | |
| - | - Тестирование отказоустойчивости | + | |
| - | - Нагрузочное тестирование кластера | + | |
| - | + | ||
| - | **🔧 Технологии:** | + | |
| - | * **Docker** для контейнеризации | + | |
| - | * **PgPool-II** для балансировки нагрузки | + | |
| - | * **WAL-G** для непрерывного архивирования | + | |
| - | + | ||
| - | **📊 Критерии оценки: | + | |
| - | ^ Задача ^ Баллы ^ | + | |
| - | | Настройка репликации | 40 | | + | |
| - | | Тестирование отказоустойчивости | 30 | | + | |
| - | | Документация архитектуры | 30 | | + | |
| - | + | ||
| - | ==== 💡 Лабораторная работа 7. Миграции и CI/CD для БД ==== | + | |
| - | + | ||
| - | **Цель**: | + | |
| - | + | ||
| - | **📋 Задачи: | + | |
| - | - Настройка Flyway/ | + | |
| - | - Создание pipeline для автоматического развертывания | + | |
| - | - Реализация отката миграций (rollback) | + | |
| - | | + | |
| - | + | ||
| - | + | ||
| - | **📁 Структура проекта: | + | |
| - | < | + | |
| - | db/ | + | |
| - | ├── migrations/ | + | |
| - | │ | + | |
| - | │ | + | |
| - | │ | + | |
| - | ├── flyway.conf | + | |
| - | └── docker-compose.yml | + | |
| - | </ | + | |
| - | + | ||
| - | ==== 💡 Лабораторная работа | + | |
| - | + | ||
| - | **Цель**: | + | |
| - | + | ||
| - | **📋 Задачи: | + | |
| - | - Партиционирование больших таблиц | + | |
| - | - Настройка connection pooling | + | |
| - | - Кэширование запросов с Redis | + | |
| - | - Мониторинг производительности с Prometheus + Grafana | + | |
| - | + | ||
| - | **📊 Метрики для мониторинга: | + | |
| - | * QPS (Queries Per Second) | + | |
| - | * Latency (время ответа) | + | |
| - | * Connection pool usage | + | |
| - | * Cache hit ratio | + | |
| - | + | ||
| - | ==== 💡 Лабораторная работа 9. Безопасность и авторизация ==== | + | |
| - | + | ||
| - | **Цель**: | + | |
| - | + | ||
| - | **📋 Задачи: | + | |
| - | - Настройка RBAC (Role-Based Access Control) | + | |
| - | - Шифрование чувствительных данных | + | |
| - | - Аудит безопасности с помощью pgAudit | + | |
| - | - Создание политик row-level security | + | |
| - | + | ||
| - | <code sql> | + | |
| - | -- Пример политики безопасности | + | |
| - | CREATE POLICY user_policy ON users | + | |
| - | FOR ALL USING (current_user = user_role); | + | |
| - | </ | + | |
| - | + | ||
| - | ==== 💡 Лабораторная работа 10. NoSQL и гибридные решения ==== | + | |
| - | + | ||
| - | **Цель**: | + | |
| - | + | ||
| - | **📋 Задачи: | + | |
| - | - Интеграция PostgreSQL с MongoDB | + | |
| - | - Использование JSONB для документной модели | + | |
| - | - Сравнение производительности SQL vs NoSQL | + | |
| - | - Реализация гибридного решения | + | |
| - | + | ||
| - | **🔧 Стек технологий: | + | |
| - | + | ||
| - | * **PostgreSQL** с JSONB | + | |
| - | * **MongoDB** для документного хранения | + | |
| - | * **Redis** для кэширования | + | |
| ===== 📈 Система оценивания ===== | ===== 📈 Система оценивания ===== | ||
| Line 219: | Line 135: | ||
| | Лаб 10. NoSQL | 25 | +5 к итогу | | | Лаб 10. NoSQL | 25 | +5 к итогу | | ||
| - | <wrap important> | + | **Примечание: |
| ===== 🔗 Ресурсы и контакты ===== | ===== 🔗 Ресурсы и контакты ===== | ||
db/main.1759884576.txt.gz · Last modified: by eugeneai
