Основные задачи администрирования баз данных

Роли пользователей базы данных:

  • Пользователь — работает с данными: просматривает, добавляет, изменяет.
  • Проектировщик — создает таблицы, систему прав доступа, настраивает систему.
  • Программист — пишет код, чаще всего для хранимых процедур.
  • Администратор — следит, чтобы у всех были нужные права и ресурсы для работы.

Типы администраторов баз данных:

  • Системный администратор — делает резервные копии, восстанавливает данные, следит за производительностью.
  • Архитектор баз данных — проектирует и оптимизирует БД, настраивает взаимодействие с программами.
  • Аналитик БД — анализирует, как эффективно используется база, ищет пути улучшения.
  • Администратор хранилища данных — следит за расчетами, доступом, историей запросов, помогает другим понять, как работает хранилище.

Другие: разработчик моделей данных, админ веб-сайта, админ с узкой задачей, аналитик производительности и т. д.


Вопрос: Администратор = владелец базы?

Нет, не обязательно. Администратор управляет, но не всегда владелец.


Задачи администратора БД:

1. Загрузка и ведение БД:

  • Разработка технологии загрузки данных.
  • Формы ввода, модули, проверка корректности данных.

2. Защита от несанкционированного доступа:

  • Пароли, права доступа, шифрование данных, тестирование защиты.

3. Защита от потери данных:

  • Резервное копирование на случай сбоев или ошибок.
  • Возможность восстановления базы.

4. Работа с пользователями:

  1. Сбор отзывов, обучение, консультации.
  2. Анализ и развитие базы данных.

Главные задачи администратора:

  1. Настроить политику доступа.
  2. Обеспечить безопасность и производительность базы.

Требования безопасности:

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

  1. COMMIT и ROLLBACK (Oracle)
    https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10001.htm
  2. ROLLBACK и ROLLFORWARD (IBM Db2)
    https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database
  3. Разница между ROLLBACK и ROLLFORWARD
    https://softwareengineering.stackexchange.com/questions/362760/databases-difference-between-roll-back-and-roll-forward-with-example

Data Mining (Интеллектуальный анализ данных)

  1. Data Mining Techniques (GeeksforGeeks)
    https://www.geeksforgeeks.org/data-mining-techniques/
  2. Qlik – Что такое Data Mining
    https://www.qlik.com/us/data-analytics/data-mining
  3. 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