ORACLE MAGAZINE
Июль Поиск
Российское Электронное Издание

Общая методология
Новости и события
Опыт пользователей
Oracle Applications
Высокие технологии
Постоянная экспозиция
Мастерская разработчика
Кабинет администратора
Полезные ссылки
Архив







       ПОСТОЯННАЯ ЭКСПОЗИЦИЯ

Несколько мыслей о том, чем занимаются Администраторы, АБД и Архитекторы Данных

1 июня 2000 г.

Some Thoughts on Data Administrators, DBAs, and Data Architects, by Tom Cox, ORACLE INTEGRATOR, vol.7, No.2, march/april 1996

Том Кокс

[От научного редактора “Мир Oracle” Анатолия Бачина.

Эта статья имеет серьезное методологическое значение. Во-первых, вводятся в оборот довольно новые понятия “Администратор Данных” (Data Administrator), как профессиональная квалификация, и “владение данными” (Data Ownership). В связи с этим хочу обратить внимание на статью К.Люни “Роли системного уровня” (“Мир Oracle”, 3/95), где прописана роль APPLICATION OWNER (владелец приложения), исполнитель которой не имеет никаких привилегий (даже входа в базу!), но является владельцем и распределителем полномочий доступа ко всем объектам приложения в базе данных.

Во-вторых, сведенное в таблицы распределение функций и задач администраторов различных этапов жизненного цикла базы данных может послужить ценным источником информации для всех специалистов, профессионально связанных с жизнедеятельностью базы данных, от аналитиков до прикладных программистов и конечных пользователей. Особенно хочу обратить внимание на эти таблицы менеджеров высшего уровня, отвечающих за интересы своих компаний в целом, поскольку по современным понятием (и Т.Кокс это отмечает) информация уже давно является капиталом.

Где же взять столько системных администраторов?! (Я ведь еще не назвал системных программистов по ОС и ВС. Они совершенно необходимы!) Счастьем это не назовешь, но жизнь такова, что одни и те же лица вынуждены играть по несколько системных ролей. Хорошо хоть, в разное время и в близких предметных областях. Все более высокими становятся требования к их квалификации, а опыт и умение приходят с годами. И поскольку очевидно, что высокая квалификация сотрудников также является частью богатства и могущества организации, ее необходимо поощрять и поддерживать. В системном администрировании выгоднее брать не числом, а умением и постоянным стремлением к все новому знанию.]

В сфере консалтинга Oracle существуют серьезные расхождения в понимании того, что же представляет собой АБД. Многие хотят нанять АБД Oracle, нет отбоя от рекламных объявлений, я еженедельно получаю просьбы от фирм по подбору кадров (headhunters), спрашивающих, не соглашусь ли я стать “АБД Oracle” для их клиентов. Но если спросить, что же они вменяют в обязанности АБД, то Вы получите в ответ ужасную путаницу задач, многие из которых полностью находятся вне сферы деятельности администрации базы данных.

Существует три различных набора задач, выполняемых на базе данных:

(1) задачи администрирования данными (Data Administration tasks);
(2) задачи архитектуры данных (Data Architect tasks);
(3) задачи администрирования базы данных (Database Administration tasks).

Довольно часто встречается ситуация, когда один человек выполняет задачи двух или даже всех трех разделов. АБД, например, может решать задачи архитектуры в период разработки, но эти области деятельности все же различны. Ясно одно, что эти различные задачи имеют место на различных стадиях жизненного цикла базы данных.

В большинстве случаев новая база данных создается для поддержки нового или настолько существенно измененного приложения, что старая база данных уже не может быть использована. Для того, чтобы создать подходящую базу данных, некто должен проанализировать приложение и спроектировать соответствующие таблицы. Последнее совершается или посредством построения модели “сущность-связь”, на которой и проектируются таблицы, или непосредственным [эмпирическим образом] моделированием таблиц. Задача проектирования таблиц (Designing Tables) подпадает под начало архитектуры данных (Data Architect). Другие задачи архитектуры данных включают конкретный анализ (Impact Analysis – пристальный анализ), который имеет место, когда приложение требует изменения и должны быть определены необходимые изменения таблиц.

Между тем, должна быть четко осознана ставшая насущной жизненная реальность, что информация - это сила [прим. редактора: я бы добавил, могущество и богатство]. Поэтому данные в базе данных должны кому-то принадлежать. И этой персоной является Администратор Данных (Data Administrator). Он устанавливает, кто владеет определенными элементами данных и кто что получает право создавать, изменять и уничтожать. Например, если в базе данных ведется копия основного ценника (master price list) продукции корпорации, то кто ответственен за поддержание этой копии в актуализированном состоянии? Если это возложено на владельца ценника, то кто тогда должен осуществлять изменения? Если эта ответственность возложена на владельца приложения, то кто тогда собирает и выполняет (polls and pulls) изменения? Обладают ли соответствующие исполнители полномочиями, чтобы прочитать какие следует данные? (Я не могу выполнить изменения в ценнике, если я не могу прочитать его.) Администратор Данных должен застолбить “владение данными” (Data Ownership) по элементам данных - задача, независимая от проектирования таблиц (Архитектура). Эта задача также независима от деталей размещения данных по конкретным дискам (АБД).

Стадия жизненного цикла базы данных Архитектор Администратор Данных Администратор Базы Данных
1. Стратегия, анализ Проектирование таблиц, средств безопасности Определение владения данными, тактики защиты  
2. Проектирование, Построение Конкретный анализ Управление изменениями Инсталляция, Создание файлов данных, Распределение таблиц по пространствам, Создание таблиц, Планирование процедур резервирования/восстановления, Процедуры обеспечения безопасности
3. Юность     Физическая реорганизация, Настройка производительности
4. Зрелость     Мониторинг производительности
Настройка производительности
Выполнение процедур резервирования/восстановления
Управление файлами данных
A. Небольшие изменения Конкретный анализ Управление изменениями Модификация таблиц
B. Большие изменения Конкретный анализ Управление изменениями Создание таблиц

Каждый раз, когда приложение требует изменения, Администратор Данных должен выполнить функцию “управление изменениями” (Change Management), чтобы и далее гарантировать принадлежность данных соответствующим персонам, а эти люди должны быть уведомлены о факте произведенного действия.

После того, как таблицы спроектированы, наступает время их создания (Table Creation). Это включает в себя планирование пространства, отработку параметров распределения памяти (на основе объемностных характеристик, предоставленных Архитектором на базе анализа приложения), и первую примерку распределения данных по дискам в целях сбалансированной их загрузки. АБД должен определить количество создаваемых табличных пространств, где и сколько надо построить файлов данных. Он также должен нести ответственность за создание плана процедур резервирования/восстановления (Backup and Recovery Planing). Если создание базы данных следует методике OFA (Optimal Flexible Architecture - Оптимальная гибкая архитектура), тогда АБД должен реализовать соглашения OFA относительно размещения файлов данных.

Качественные различия

Некоторые авторы единственно отмечают различия между Архитекторами и АБД, основываясь на том, что Архитекторы исключительно имеют дело с логическими конструкциями (сущности, связи, проекты таблиц), тогда как АБД исключительно имеют дело с физическими структурами (файлы данных, баланс дисковой загрузки, резервирование/восстановление).

В такой постановке вопроса имеется изрядная доля истины, но таится и определенная опасность. Очень здраво звучит мысль, что персонам, исполняющим функции Архитектора, следует обладать определенными знаниями о том, как физически организована база данных, потому что конструкции, созданные грамотным в этой области специалистом, вероятно, будут легче для построения и управления.

[Прим. редактора: от всей души и других внутренних органов горячо поддерживаю Т.Кокса, потому что в качестве АБД испытал на собственном опыте, насколько не просто разговаривать с аналитиками и проектировщиками; ну, вероятно, и им со мной бывает также не просто.]

В автомобильной индустрии это известно под названием “промышленное проектирование” (“designing for manufacturability”). Представьте себе, что проектировщик выбирает между двумя возможностями, которые функционально эквивалентны, но так уж случается, что одна из них настолько просто реализуется, что не требует воплощения в виде программного кода. Если проектировщик не понимает производственных вопросов, тогда он не имеет необходимой информации для выбора более дешевой опции.

Я достаточно удачлив в том, что несколько моих разработок благополучно прошли путь от начальной идеи до полного воплощения. Это многому меня научило в области промышленного проектирования. Ничто не заменит подобного опыта.

Оборотной стороной этого вопроса является опасность погружения АБД в роль проектировщика. Я знаю несколько человек, которые пытались так перевоплотиться. Так вот они обычно конструировали объекты с единственным уклоном на легкость управления и недостаточно подчеркивали функциональные требования приложения. Такие проекты обычно не оправдывают надежд.

Следующая ниже таблица классифицирует задачи жизненного цикла базы данных по областям задач. Коль скоро мы начали понимать качественные различия в этих задачах, возможно, надо выбирать и наиболее подходящих людей, которые в большей степени искусны к работам и задачам, требующим подобной квалификации. Результатом будет лучшее качество программного обеспечения, лучше работающие базы данных, более удачные проекты.

Область Задача Частота Стадии Описание
Архитектор данных Проект таблиц единожды 1, B Проектирование таблиц, которые отвечают нуждам приложения. Когда потребности изменяются, производятся соответствующие проектные изменения
Архитектор данных Проект защиты единожды 1 Обеспечение в структуре базы данных наличия некоторых элементов (специальные столбцы и т.п.), требуемых для обеспечения защиты и безопасности
Архитектор данных Конкретный анализ По мере необходимости 2,A,B Определение, какие элементы конструкции базы данных должны быть изменены для поддержки планируемого изменения приложения. (Изменения приложения могут потребовать модификации некоторых уже существующих программ; эта часть пристального (impact) анализа также должна быть выполнена соответствующим персоналом)
Администратор данных Владение данными единожды 1 Определение, кто «владеет» данными и кто ответственен за их правильность и сопровождение
Администратор данных Проект защиты единожды 1 Определение, кто авторизирован для просмотра данных, кто и какие данные может предоставлять другим пользователям
Администратор данных Управле-ние измене-ниями По мере необходимости   Всякий раз, когда изменяется приложение или его данные, обеспечение, что все данные сохраняют прежнюю принадлежность и уведомление тех, чья ответственность изменилась
АБД Инсталл единожды 2 Инсталляция выбранного варианта СУБД
АБД Создание файлов данных единожды 2 Создание соответствующих файлов данных дл предусмотренных табличных пространств на наличных дисках, имея в виду минимизацию их конкуренции При желании использование OFA. Требуется опреде- ление соответствующих табличных пространств
АБД План рез-ния/вос-ния единожды 2 Создание плана резервирования/восстановления для базы данных. Документирование этого плана Тестирование этого плана. Если не хватает ресурсов, следует усложнить управление
АБД Проц-ры защиты и безопас-ти единожды 2 Создание ролей, полномочий доступа к данным и системных привилегий, создание пользователей, паролей и т.п. При желании, подключение средств аудита
АБД Распред. таблиц по прост-вам единожды 2 По OFA или другим правилам определение, какие таблицы в каких табличных пространствах должны находиться. Документирование этих решений
АБД Создание таблиц единожды 2 Создание таблиц в соответствующих табличных пространствах
АБД Физ-кая реорга- низация По мере необходимости 3 Переупорядочивание таблиц в таб. пространствах, создание и изменение индексов, определение прозрачного горизонтального расчленения данных (horizontal partitioning transparent) приложения
АБД Настройка произ-сти По мере необходимости 3,4 Для начала, обнаружение серьезных проблем на физическом уровне, пропущенные индексы и т.д. Коль скоро база данных в поре зрелости, запуск задач Performance Monitoring, чтобы выполнить необходимую настройку производительности
АБД Мон-ринг произ-ти еженедельно 4 Проверка производительности базы данных по выбранной методике
АБД Управ-ние файлами данных По мере необходимости 4 Упорядочение файлов данных (используя OFA или подобную дисциплину) на дисках.
АБД Выполне-ние процедур резервир. ежедневно 4 Регулярное выполнение действий резервирования (оперативное, обязательное резервирование архивирование журналов). Когда требуется восстановление, выполнение соответствующего плана восстановления
АБД Мод-ция таблиц По мере необходимости А Когда требуются небольшие изменения приложения, типа изменения таблиц, АБД должен произвести эти изменения, сохраняя те данные, которые уже находятся в таблицах

Об авторе: Томас Кокс (Thomas Cox) - автор книги “Oracle Workgroup Server Handbook”, директор в области технологии фирмы True North Consulting. Его можно разыскать по tcox@aol.com или по телефону (503) 220-1790.



Материал номера:
Новый тест для специалистов по Oracle


Колонка главного редактора:

Oracle открывает третье тысячелетие.

 Письмо в редакцию
 


Человек месяца: Беседа с руководителями ИВЦ АИС и WEB-центра “Омега”
Oracle: от МВД до РПЦ