Роли пользователей базы данных:
- Пользователь — работает с данными: просматривает, добавляет, изменяет.
- Проектировщик — создает таблицы, систему прав доступа, настраивает систему.
- Программист — пишет код, чаще всего для хранимых процедур.
- Администратор — следит, чтобы у всех были нужные права и ресурсы для работы.
Типы администраторов баз данных:
- Системный администратор — делает резервные копии, восстанавливает данные, следит за производительностью.
- Архитектор баз данных — проектирует и оптимизирует БД, настраивает взаимодействие с программами.
- Аналитик БД — анализирует, как эффективно используется база, ищет пути улучшения.
- Администратор хранилища данных — следит за расчетами, доступом, историей запросов, помогает другим понять, как работает хранилище.
Другие: разработчик моделей данных, админ веб-сайта, админ с узкой задачей, аналитик производительности и т. д.
Вопрос: Администратор = владелец базы?
Нет, не обязательно. Администратор управляет, но не всегда владелец.
Задачи администратора БД:
1. Загрузка и ведение БД:
- Разработка технологии загрузки данных.
- Формы ввода, модули, проверка корректности данных.
2. Защита от несанкционированного доступа:
- Пароли, права доступа, шифрование данных, тестирование защиты.
3. Защита от потери данных:
- Резервное копирование на случай сбоев или ошибок.
- Возможность восстановления базы.
4. Работа с пользователями:
- Сбор отзывов, обучение, консультации.
- Анализ и развитие базы данных.
Главные задачи администратора:
- Настроить политику доступа.
- Обеспечить безопасность и производительность базы.
Требования безопасности:
1. Конфиденциальность:
- Только уполномоченные видят данные.
- Используются SQL-команды
GRANT(дать доступ) иREVOKE(отменить доступ).
2. Доступность:
- Данные должны быть всегда доступны для тех, кто имеет право.
- Решается с помощью резервного копирования и дублирования данных (например, RAID-диски).
3. Целостность:
- Данные подлинные и не изменялись без разрешения.
- Это включает точность, актуальность, правильность данных и связи между ними.
Риски для безопасности БД:
| Фактор | Какие угрозы |
|---|---|
| Люди | Целостность, доступность, конфиденциальность |
| Оборудование | Целостность, доступность |
| Операционная система | Всё: конфиденциальность, целостность, доступность |
| СУБД | Всё: конфиденциальность, целостность, доступность |
Домашнее задание (просто знать термины):
COMMIT
COMMIT — команда в системах управления базами данных (СУБД), которая сохраняет все изменения, сделанные в рамках текущей транзакции. После выполнения COMMIT изменения становятся постоянными и видимыми для других пользователей.
Пример: если вы вставили данные в таблицу и выполнили COMMIT, эти данные больше не исчезнут даже при сбое системы.
ROLLBACK
ROLLBACK — команда, которая отменяет все изменения, сделанные в рамках текущей транзакции до момента последнего COMMIT. Используется, если нужно откатить транзакцию из-за ошибки или некорректных данных.
Пример: если в процессе вставки данных возникла ошибка, можно выполнить ROLLBACK, и база вернётся в состояние до начала транзакции.
ROLLFORWARD
ROLLFORWARD — процесс восстановления базы данных до более нового состояния, используя архивные журналы транзакций. Применяется после восстановления резервной копии для восстановления всех изменений, которые произошли после создания этой копии.
Пример: если база была восстановлена из резервной копии, можно применить ROLLFORWARD, чтобы догнать актуальное состояние, проигрывая все операции из журналов.
Data Mining
Data Mining — это процесс извлечения полезной, ранее неизвестной информации из большого объема данных. Основан на применении математических, статистических и машинных методов. Используется для выявления закономерностей, кластеров, аномалий, прогнозирования поведения и т. д.
Методы Data Mining:
- Классификация
- Кластеризация
- Ассоциативные правила (например, «если купил X, то часто покупает Y»)
- Регрессия
- Деревья решений и др.
Data Warehouse (хранилище данных)
Data Warehouse (DWH) — это централизованное хранилище, где собираются, обрабатываются и хранятся большие объемы данных из различных источников. Предназначено для аналитики и принятия решений, а не для оперативной работы.
Особенности:
- Интеграция данных из разных систем
- Обновление в определённые интервалы (не в реальном времени)
- Поддержка сложной аналитики и отчётности
- Часто используется вместе с BI-системами
Ссылки на источники информации:
COMMIT, ROLLBACK, ROLLFORWARD
- COMMIT и ROLLBACK (Oracle)
https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10001.htm - ROLLBACK и ROLLFORWARD (IBM Db2)
https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database - Разница между ROLLBACK и ROLLFORWARD
https://softwareengineering.stackexchange.com/questions/362760/databases-difference-between-roll-back-and-roll-forward-with-example
Data Mining (Интеллектуальный анализ данных)
- Data Mining Techniques (GeeksforGeeks)
https://www.geeksforgeeks.org/data-mining-techniques/ - Qlik – Что такое Data Mining
https://www.qlik.com/us/data-analytics/data-mining - Wikipedia — Data mining
https://en.wikipedia.org/wiki/Data_mining
Data Warehouse (Хранилище данных)
Oracle — Что такое Data Warehouse
https://www.oracle.com/database/what-is-a-data-warehouse/
Wikipedia — Data warehouse
https://en.wikipedia.org/wiki/Data_warehouse
