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

Операции управления базой данных осуществляются одним или несколькими администраторами баз данных (DBA), которые отвечают за управление конфигурацией (настройкой) БД. К числу их задач принадлежат, среди прочего, административные схемы СУБД при помощи существующих программ управления, используя DDL-команды, и конфигурирование политики доступа пользователей.
Это не
означает, что администратор базы данных является владельцем базы данных (так
же, как администратор жилищного товарищества не является владельцем жилья), но
вместо того высококвалифицированный специалист, который может действовать в любой ситуации в соответствии с
обычным планом, согласованным с организацией, которая производит или использует
данные, директором (правообладатель).
До сих пор мы не говорили о роли DBA с точки зрения физического представления БД. Прежде всего, эти операции обычно не являются стандартным управлением, поскольку с управлением физическим представлением обычно имеет дело поставщик СУБД. Эти операции могут быть различными для разных СУБД, но они отражают общие потребности. Эти потребности связаны в основном с безопасностью и производительностью СУБД (скорость выполнения и работы). Потребности безопасности связаны с конфиденциальностью данных (confidentiality) и доступностью (availability). Существуют соответствующие SQL-команды для управления конфиденциальностью, но они будут описаны ниже.
Требования к доступности, как правило, разрешаются на физическом уровне путем избыточности или дублирования данных и также политики резервного копирования. Избыточность может быть как локальной (использование RAID-диска) или удаленной (в соответствии с инициированной политикой отражения базы данных на другой компьютер).
Потребности улучшения производительности разрешаются на физическом уровне путем настройки физического представления:
- Выбирая для рабочей среды новые (raw devices) запоминающие устройства (или жесткие диски) вместо использования файловой системы (сохранение через FHS). Это такой вариант, который создает сложности и, следовательно, также дорогостоящий, но может значительно улучшить производительность СУБД, которая должна управлять большими объемами данных.
- Решив разделить БД между несколькими машинами в целях достижения большей вычислительной мощности.
- Используя многопоточные СУБД (распределенная обработка), которые в состоянии использовать больше процессоров или в каждом случае эффективно использовать команды (запросы).
- Изменяя разделяемую память так, чтобы она была в состоянии адаптироваться к требуемому расширению растущего количества процессов.
- Точно определяя политику логов (журналов транзакций) и политику управления транзакциями (это также уместно, хотя это пограничный вопрос физического и логического представлений).
Также можно управлять конфиденциальностью путем соответствующих команд (приказов) SQL. Команды grant-предоставлять и revoke-отменять дают различные полномочия для доступа к данным. Как пример приведен синтаксис этих двух команд, регулирующих разрешение на доступ к БД.
grant role to user [identified by pwd] [with grant option];
revoke role from user;
Используемые обозначения:
role - может быть администратор баз данных (DBA), ресурс, соединение;
user - имя пользователя, кому права предоставляются или аннулируются;
pwd - пароль;
grant option - предоставляет получающему привилегии (права) пользователю также права, позволяющие ему передавать права другим пользователям (выполнять передачу полученных привилегий).
Роль DBA более четкая, чем роли других пользователей БД; хотя можно утверждать, что их роль по сравнению с DBA обладает относительно меньшим правом действия. DBA может делать все, пользователь с разрешением на доступ к ресурсам (resource) не может изменять схему, а те, кто имеет разрешение на соединение (connect), не могут изменять данные. Важно понять, что ключевые слова, описывающие различные роли, могут быть различными в разных СУБД. Поэтому следует всегда внимательно читать руководство пользователя (справочник) прежде чем давать привилегии или писать команды удаления.
Как мы увидели СУБД - это ИТ-продукт, который используется для управления данными в организации. Как правило, СУБД состоит из:
- программ администрирования для управления физическим представлением, например, изменение конфигурации так, чтобы она могла быть настроена в соответствии с потребностями и желаниями пользователей, тем самым улучшая производительность программы (скорость работы) или определяя политику управления резервным копированием (backup).
- программа администрирования схемы (плана) (планировщик), которая используется для управления логическими представлением DDL-командами.
- программ администрирования данных, которые позволяют оперировать управляющими устройствам и делать экстренные изменениями данных, хранящихся в БД, используя DML-приказы без необходимости использования других программ. Обычно используют для управляющих команд простую консоль интерпретации команд, управляющие команды были рассмотрены также в предыдущем пункте.