div.main {margin-left: 20pt; margin-right: 20pt}
Управление корпоративными СУБД:
возвращение на землю
Маклаков Сергей
Достаточно немного понаблюдать за работой администратора базы данных, как
понимаешь, насколько сложны современные средства управления, с которыми ему
приходится иметь дело, и как велика лежащая на нем ответственность. Порой
кажется, что охватить всю распределенную систему взглядом можно, только
поднявшись под облака, а управление ею доступно лишь небожителям.
Согласно исследованиям консалтинговой фирмы Gartner Group, в организациях,
входящих в число Fortune 1000, работу распределенной базы данных обеспечивают в
среднем пять типов серверов СУБД. К такой "разношерстности" используемых баз
данных приводят слияния компаний и несогласованные действия различных
департаментов корпораций по построению единой информационной среды. Средства же
администрирования масштаба предприятия, которые бы сами учитывали специфику
различных СУБД, предоставляли возможность единого управления пользователями и
гетерогенной структурой БД и своевременно обнаруживали возникающие проблемы,
способны, наверное, свести с ума даже самых опытных специалистов.
Чтобы как следует разобраться с современными средствами управления
реляционными базами данных в масштабе предприятия, мы предложили их
производителям предоставить нам для испытания лучшие образцы своей продукции в
сфере администрирования и управления БД. При оценке продуктов мы исходили из
того, насколько они экономят время и силы администратора, обеспечивая
"прозрачную" поддержку многочисленных баз данных, работающих на различных
платформах. Целью тестирования было проанализировать удобство пользовательского
интерфейса, средства администрирования пользователей, функции управления
структурой и содержимым баз данных и возможности мониторинга работы СУБД.
Компания BMC Software предоставила нам несколько продуктов из своей серии
PATROL — это DB-Admin Knowledge Module, Pathfinder, DB-Voyager, DB-Alter,
DB-Change Manager, DB-Integrity и SQL-Explorer; фирма PLATINUM technology —
продукт Enterprise DBA 2.2, а также дополнительные модули DBVision 3.1 for
Oracle and Sybase, Database Analyzer for Oracle 1.1 и TSreorg for Oracle 2.0 and
Sybase 1.0; фирма Tivoli Systems — пакет TME 10 Framework 3.5 и модули для
мониторинга баз данных Sybase, Oracle и Microsoft SQL Server. Корпорация IBM, в
состав которой входит Tivoli, прислала нам поставляемый отдельно управляющий
модуль DB2 Enterprise Control Center (DB2 ECC).
Бета-версию своего ПО SQL Server 7.0, куда входит и управляющий компонент SQL
Enterprise Manager (SEM), предложила нам корпорация Microsoft. Однако SEM не
является средством управления гетерогенной средой, поэтому, если бы мы и
включили его в данный обзор, он получил бы самые низкие оценки, так как работает
исключительно на сервере Windows NT и позволяет выполнять администрирование
только SQL Server 7.0. Но мы считаем, что он вполне может служить примером
интеграции средств управления ОС и БД, к чему следовало бы стремиться и другим
фирмам-производителям.
Корпорация Hewlett-Packard сейчас занимается разработкой средств управления
СУБД для своей платформы сетевого управления OpenView, но они еще не готовы для
тестирования. При проектировании новых компонентов OpenView основной упор
делается на мониторинге событий и проблем, связанных с работой баз данных, при
этом из рассмотрения намеренно исключены задачи администрирования и управления
базами данных. HP утверждает, что ее программисты будут расширять возможности
уже существующих в OpenView средств сетевого мониторинга так, чтобы они смогли
охватить все имеющиеся в сети предприятия гетерогенные базы данных.
Компания Computer Associates International (CA) отклонила нашу просьбу
прислать на испытания модули управления базами данных для Unicenter TNG.
Специалисты из CA заявили, что не хотели бы, чтобы их платформа системного
управления Uniсenter TNG оценивалась исключительно с точки зрения функций
управления СУБД.]
Среди протестированных нами средств в продукте Enterprise DBA 2.2 компании
PLATINUM technology представлен самый большой набор функций, в том числе
администрирование пользователей и управление структурой и наполнением баз
данных, а дополнительный модуль DBVision осуществляет функции мониторинга БД.
Enterprise DBA для выполнения многих задач управления предлагает интуитивно
понятный пользовательский интерфейс и работает с самыми популярными СУБД; кроме
того, он позволил нам связанную с управлением нагрузку распределить между
несколькими компьютерами. Но Enterprise DBA, хотя и получил наивысшую оценку,
тоже не лишен недостатков: для того чтобы иметь исчерпывающий набор основных
функций администрирования БД, вам придется приобрести у PLATINUM дополнительные
модули TSreorg, DBVision и Database Analyzer. Эти средства пока не включены в
общий пользовательский интерфейс Enterprise DBA; кроме того, они не поддерживают
полный набор основных БД. Несмотря на все это, Enterprise DBA оказался лучшим
продуктом для управления БД в масштабе предприятия среди тех, с которыми мы
имели дело.
Серия продуктов PATROL фирмы BMC ненамного отстала от лидера испытаний. Это
ПО предлагает заслуживающие внимания средства управления схемой и содержимым баз
данных и их мониторинга, но в нем отсутствуют функции администрирования
пользователей. Продукт TME 10 фирмы Tivoli, напротив, позволял управлять
пользователями, а также выполнял мониторинг баз данных, но функции управления
структурой базы данных и ее содержимым у него нет.
Enterprise DBA 2.2 компании PLATINUM technologyПо средствам
администрирования, изменения и переноса баз данных в гетерогенной сети масштаба
предприятия лучшим в испытаниях оказался продукт Enterprise DBA. Наша тестовая
сеть включала несколько баз данных: Adaptive Server, Oracle и SQL Server.
Продукт работает и с DB2 Common Server, но пока не поддерживает DB2 Universal
Database. Представители фирмы PLATINUM technology утверждают, что Enterprise DBA
поддерживает базы Informix и MVS-DB2, но мы это не проверяли. Продукт
обеспечивает возможность полного контроля над пользователями, рабочими группами,
схемой и содержимым баз данных. Однако оказалось, что отдельные его модули не
поддерживают одну или несколько из основных СУБД, с которыми мы их тестировали.
Именно это, а также отсутствие единого пользовательского интерфейса для всех
средств мы считаем основными недостатками продукта.]
Мы также высоко оценили средства DBVision (мониторинг), Database Analyzer for
Oracle (анализ БД Oracle) и TSreorg (дефрагментация БД Oracle и Sybase), но
необходимость платить дополнительные деньги за каждый модуль, цена на которые
варьируется в зависимости от платформы и БД, несколько озадачивает.
Находясь за рабочей станцией, мы с помощью Enterprise DBA выполняли
автоматическое распространение изменений в гомогенных и гетерогенных базах
данных во всей тестовой корпоративной сети. Все наши задания по переносу
структур данных и объектов между БД этот продукт выполнял быстро и точно. Он
также позволяет создавать, изменять и уничтожать объекты баз данных. С помощью
входящего в Enterprise DBA средства Global Changes мы безболезненно
переименовывали таблицы и прочие объекты во всех базах данных. Кроме того, мы
смогли с помощью данного продукта сгруппировать эти изменения в поименованные
наборы и сохранить для дальнейшего использования, что нам очень понравилось.
Аналогичные возможности по управлению структурой и содержимым БД есть и у
DB-Change Manager фирмы BMC Software, а вот у TME 10 таких средств не оказалось.
Очень хорошее впечатление на нас произвела способность Enterprise DBA
централизованно решать задачи управления пользователями и рабочими группами, а
также выполнять функции обеспечения безопасности для всех наших "разношерстных"
БД. Впрочем, в TME 10 несколько проще управление пользователями и он быстрее,
чем Enterprise DBA, справлялся с обновлением информации о пользователях во всей
сети.
Нам понравилось, что Enterprise DBA позволяет не только выполнять задачи в
интерактивном режиме, но и планировать их заранее. Когда мы с его помощью
запустили особенно сложное задание по изменению базы данных, то все его агенты,
функционирующие на различных серверах баз данных, подошли к его выполнению
интеллектуально, учтя специфику работы своего конкретного сервера. Затем, по
результатам выполнения, каждый из агентов принял решение о том, должен ли он
производить перезагрузку сервера, чтобы реализовать произведенные изменения БД.
При тестировании средств Enterprise DBA для управления пользователями и
изменения БД мы с помощью модуля DBVision осуществляли мониторинг наших серверов
СУБД Adaptive Server, Oracle и SQL Server и отслеживали возникающие проблемы.
DBVision использует графические интерфейсы Motif или Windows NT, отличающиеся от
интерфейса Enterprise DBA. Это средство также поддерживает базы Informix и DB2
Common Server. В нашей тестовой лаборатории мы сконфигурировали DBVision таким
образом, чтобы иметь возможность отслеживать ситуации с возникновением
недостаточного свободного пространства, появлением неуправляемого процесса, со
слишком высокой загрузкой центрального процессора и недостаточным объемом
области подкачки (swap). DBVision точно информировал нас о возникновении каждого
такого события во время тестирования.
Представители фирмы PLATINUM technology обратили наше внимание на то, что
модуль DBVision способен отслеживать тысячи связанных с БД событий и подавать
сигнал аварии на пейджер, по электронной почте или прямо на экран. Серия
продуктов PATROL фирмы BMC тоже осуществляет мониторинг огромного числа событий,
тогда как TME 10 способен отследить лишь 300 ситуаций. Более того, фирма
PLATINUM technology заявляет, что для решения некоторых проблем DBVision может
сам произвести корректирующие действия, запустив на выполнение сформированный
пользователем сценарий. В нашей лаборатории мы преднамеренно вызвали ситуацию
нехватки свободного дискового пространства на сервере БД, чтобы пронаблюдать за
тем, как DBVision справится с возникшей проблемой. Он запустил на выполнение наш
сценарий, который произвел сжатие файлов журналов регистрации и освободил таким
образом дисковое пространство. В других спровоцированных нами аварийных
ситуациях DBVision также незамедлительно выдавал сообщение о возникшей проблеме
по электронной почте.
Нас обрадовало то, что Enterprise DBA поддерживает расширенные изменения в
таблицах. Администраторы баз данных часто получают задания на добавление в
таблицу новых полей и на выполнение других сложных операций со структурами
данных и связанными с ними объектами. С этим заданием Enterprise DBA справился
не хуже профессионального администратора — и это при одновременно работающих
CУБД Adaptive Server, Oracle и SQL Server! В середину таблицы, состоящей из
десяти полей, мы вставили новое поле, а затем определили его в качестве внешнего
ключа. Enterprise DBA без ошибок распространил эти изменения на все наши
разнородные базы данных.
Гибкость Enterprise DBA также произвела на нас хорошее впечатление. Мы
провели тиражирование всей БД целиком со всеми ее объектами: триггерами,
хранимыми процедурами и средствами обеспечения безопасности. Другой тест
заключался в частичном переносе структуры БД, т. е. только таблиц и индексов.
При копировании БД с одного сервера на другой Enterprise DBA позволяет делать
выбор: отслеживать или игнорировать нарушения ссылочной целостности. Мы имели
возможность указать пакету, чтобы часть наиболее сложных операций выполнялась на
отдельном компьютере. В процессе проведения самого напряженного теста над БД мы
смогли избежать роста сетевого трафика, выдав команду пакету Enterprise DBA
выполнять операции прямо на сервере БД. Во всех случаях удаленные агенты на
каждом из серверов сумели проанализировать сложный запрос и успешно справились с
внесением изменений в БД.
Database Analyzer for Oracle — средство для структурного анализа и генерации
отчетов, в графическом виде отображающее занимаемое таблицами пространство и
собранную статистику использования БД. Оно позволяет задавать фильтрацию
статистических данных, идентифицировать перенесенные таблицы, находить значение
определенного ключа в индексе и хранить эту информацию в специальных таблицах.
Oднако нас несколько разочаровало, что в пользовательский интерфейс
Enterprise DBA не интегрированы остальные продукты управления PLATINUM
technology, такие, как DBVision, Database Analyzer, Log Analyzer, TSreorg и Fast
Load/Unload. Впрочем, все они хорошо работали в нашей тестовой лаборатории.
Представители фирмы PLATINUM technology заверяют, что уже в этом году будет
выпущено средство ProVision, которое объединит все продукты управления БД, в том
числе и Enterprise DBA, в едином, тесно интегрированном пользовательском
интерфейсе.
Серия продуктов PATROL фирмы BMC SoftwareВсе эти продукты понравились
нам благодаря своим средствам внесения изменений в структуру данных и переноса
их на всю распределенную БД. Кроме того, очень полезными для нашей лаборатории
оказались реализованные в них средства анализа и генерации SQL-команд. Серия
продуктов PATROL схожа со средствами управления и мониторинга продукта
Enterprise DBA, но в них отсутствуют функции управления пользователями и
рабочими группами.
Для мониторинга нашей БД Oracle мы воспользовались модулем DB-Admin Knowledge
Module for Oracle. Другой модуль — Pathfinder позволил нам просматривать наши БД
в интерфейсе, выполненном наподобие браузера Microsoft Internet Explorer, а при
помощи средств DB-Alter мы вносили изменения в содержимое и структуру БД. Модуль
DB-Change Manager предназначен для переноса этих изменений на все базы в сети,
DB-Integrity — для проверки целостности БД, а SQL-Explorer — для анализа
запросов SQL. Единый пользовательский интерфейс обеспечивает модуль DB-Voyager,
в который включаются все средства данной серии. Цены производителя на отдельные
компоненты варьируются в зависимости от платформы и БД, но они сопоставимы с
ценами PLATINUM technology.
При помощи DB-Alter мы легко меняли схемы баз и переносили их содержимое
между гетерогенными БД. На нас произвело впечатление, как эта программа
проводила анализ предложенных нами изменений и предупреждала нас о том, что эти
изменения могут привести к нарушению ссылочной целостности базы данных, например
к ошибке с внешним ключом. После того как мы задали требуемые изменения из
интерфейса DB-Alter, другой компонент — DB-Change Manager, работающий на основе
сценариев, распространил эти изменения на все многочисленные БД в сети. Даже для
баз данных со сходной в своей основе структурой, но имевших некоторые
особенности настройки, это средство сумело внести изменения с учетом требуемой
специфики.
Графический редактор объектов продукта DB-Alter предоставляет возможность
эффективно создавать, модифицировать, копировать, перестраивать и уничтожать
объекты БД. Как и PLATINUM Enterprise DBA, продукт DB-Alter позволил
модифицировать большее число атрибутов БД, чем даже собственные средства
администрирования СУБД. Мы добавили новое поле в середину таблицы, просто нажав
на соответствующую кнопку и задав его атрибуты. Проанализировав возможный эффект
от добавления нового поля, DB-Alter сгенерировал оптимизированный сценарий
внесения изменений.
Продукты PATROL от BMC поддерживают те же типы БД, что и PLATINUM Enterprise
DBA. Модуль PATROL DB-Voyager имеет интуитивно понятный пользовательский
интерфейс, включающий все средства PATROL для работы с нашими хранилищами данных
Adaptive Server, Oracle и SQL Server. BMC заявляет, что DB-Voyager поддерживает
также DB2 Common Server, DB2 for MVS и Informix. На нашей локальной рабочей
станции DB-Voyager выделил схемы БД и предложил нам работать с копиями, так как
такой подход позволяет сократить сетевой трафик. Однако мы отказались от этой
возможности, поскольку наш опыт показывает, что работа даже с самыми сложными
структурами баз данных (в отличие от передачи их содержимого) не требует большой
полосы пропускания.
Перенос изменений в структурах БД на все наши многочисленные серверы,
сравнение версий БД и контроль версий их объектов мы выполняли средствами
DB-Change Manager. Он обеспечивает "прозрачную" работу с различными типами баз
данных, скрывая от администратора различия между ними, что позволяет
использовать его в качестве централизованной управляющей консоли так же
эффективно, как и продукты фирм PLATINUM technology и Tivoli.
PATROL DB-Admin Knowledge Module for Oracle оказался ценным и надежным
дополнением к нашей базе данных Oracle. Он непрерывно осуществлял мониторинг БД,
отслеживал возможность возникновения тысяч проблем и предупреждал нас о их
появлении через электронную почту или пейджер. К контролируемым параметрам
относились доступное дисковое пространство, суммарное количество активных
транзакций в виде процента от установленного для одного сервера Oracle лимита,
число выборок последовательных строк за данный период для отдельного сервера,
процент попыток доступа к свободному буферу, при котором возникали задержки,
интенсивность обращений к кэшу и наиболее долго выполняющиеся SQL-запросы. Опции
SQL Snapshot и SQL Viewer позволяют обнаружить и проанализировать SQL-запросы в
режиме реального времени. Этот модуль также предоставил нам возможность
просматривать операции Parallel Server Option на уровне отдельных серверов, в
том числе мониторинг и статистику блокировок, ошибок установления соединений и
запросов ping.
В некоторых ситуациях DB-Admin Knowledge Module for Oracle с возникающими
проблемами справлялся автоматически. Когда на устройстве, на котором хранился
архив, оказалось мало места для файлов регистрации, модуль DB-Admin сам без
лишних вопросов эффективно упаковал файлы. Приняв во внимание заданные нами
параметры, он автоматически изменял размеры растущих объектов БД. Этот компонент
может работать как с седьмой, так и с восьмой версией серверов Oracle.
Мы воспользовались SQL-Explorer (для DB2 и Oracle), чтобы провести анализ
SQL-запросов, поступающих из самых разных источников: приложений, командных
файлов, хранимых процедур и триггеров. При этом в графическом виде пошагово
отображались все необходимые действия для их выполнения, а экспертная база
правил использовалась для того, чтобы рекомендовать альтернативные
SQL-конструкции. Средства анализа и декомпозиции SQL-запросов в продуктах
PLATINUM и Tivoli в сравнении с SQL-Explorer выглядели особенно скудными.
После проведения нескольких сот тестов мы обнаружили, что наши базы данных
были будто пропущены через мясорубку. На выручку нам пришло средство
DB-Integrity for Oracle. Оно выручило нас там, где Enterprise DBA и TME 10
"спасовали". При просмотре таблиц, индексов, триггеров, хранимых процедур и
выборок продукт PATROL выявлял ошибочные объекты. К сожалению, он не мог нам
ничем помочь в работе с базами данных других производителей. Еще один компонент
— DB-Stats отображает результаты работы команды Analyze из СУБД Oracle. Он
предоставляет статистические данные в виде отчетов и диаграмм, в том числе и
такие параметры, как количество операций добавления, обновления и удаления
записей для отдельных таблиц. Модуль DB-Log Master проанализировал файлы
журналов транзакций Oracle (redo log files) и выдал нам информацию о количестве
совершенных транзакций, среднем времени отклика и максимальном числе
одновременно выполнявшихся транзакций.
TME 10 компании Tivoli SystemsОсновное предназначение продукта TME 10
Framework компании Tivoli — пассивный контроль за базами данных, а не управление
ими. Соответственно он обладает хорошо интегрированными средствами мониторинга
БД и администрирования пользователей. К сожалению, в отличие от Enterprise DBA
фирмы PLATINUM technology и DB-Alter фирмы BMC у TME 10 отсутствуют функции
изменения структуры баз данных и переноса их содержимого. Таким образом, чтобы
иметь полнофункциональный пакет, вам придется дополнительно покупать другие
средства, что делает TME 10 довольно дорогим решением.
В администрировании пользователей TME 10 превзошел Enterprise DBA благодаря
более дружественному пользовательскому интерфейсу и большей скорости работы.
Впрочем, у модуля DBVision средства мониторинга были не хуже, чем у TME 10, но
его пользовательский интерфейс заметно отличался от интерфейса основной системы
Enterprise DBA.
TME 10 включает в себя мониторинг для СУБД Adaptive Server, Informix, Oracle
и SQL Server, кроме того, в дополнение к нему можно бесплатно получить
управляющий модуль Enterprise Control Center для базы данных DB2, поставляемый
IBM. При тестировании в нашей лаборатории каждый монитор непрерывно отслеживал
более 300 параметров БД, используя при этом настраиваемые пороговые величины и
аварийные сигналы. Продукт позволяет устанавливать пять градаций аварийных
состояний системы: critical, severe, warning, normal и always, для каждого из
которых можно задать те или иные действия. Мы определили следующие действия по
исправлению ситуации: увеличение пространства для таблиц баз данных и передача
сигналов тревоги на консоль TME 10 Enterprise Console для пересылки сообщения
определенному администратору через электронную почту или пейджер. Со всеми этими
задачами TME 10 справлялся быстро и легко.
Модуль Oracle Monitor, поставляемый вместе с TME 10 Framework, мы
использовали для отслеживания некоторых параметров работы СУБД Oracle, таких,
как дисковое пространство, занятое таблицами, интенсивность блокировок, число
открытых сеансов, загрузка центрального процессора, величина трафика сообщений,
операции чтения с диска и записи на него. Для базы DB2 Universal Database мы
воспользовались модулем DB2 ECC от IBM, который активизировал все свои 11
наборов для мониторинга: базовый, блокировок, SQL-активности, сортировок,
таблиц, агентов, буферного пула ввода-вывода, конфигурационных параметров,
SQL-запросов, тиражирования данных и трафика SNMP. Во время проведения каждого
теста Oracle Monitor и ECC аккуратно информировали нас о возникающих проблемах.
Нам понравилось, что сервисные опции TME 10 можно расширять. Так, мы могли
определять дополнительные наборы параметров для мониторинга. Продукты PATROL от
BMC и Enterprise DBA от PLATINUM technology настраивать труднее. Для расширения
возможностей TME 10 мы воспользовались его интерфейсом создания сценариев.
Программный интерфейс продукта позволяет программистам настраивать поведение TME
10. Кроме того, мы по достоинству оценили его средство Profile Managers, дающее
возможность разбивать серверы на категории и привязывать к каждой из них свои
параметры мониторинга. Продукты PATROL и Enterprise DBA тоже позволяют
группировать серверы, но у TME 10 процедура создания и использования таких
групп, или профилей, реализована проще.
Во время тестирования TME 10 обращался с нашими базами "по старинке". Для
установления соединения с базами данных Oracle и управления ими TME 10 просто
вызывал командную утилиту Oracle SQL*Plus, с помощью которой, сформулировав
предварительно запрос, уже можно получить информацию из системных таблиц. Эту
утилиту он использовал и для внесения обновлений в таблицы. Так же он вел себя и
с другими СУБД, т. е. работал с утилитой запроса, а не с программным интерфейсом
базы данных. Мы-то рассчитывали на более высокий уровень интеграции с СУБД.
Посредством TME 10 довольно просто управлять пользователями, но используемые
здесь параметры, которые нам пришлось внести, явно были предназначены для
общесистемного управления, а не специально для баз данных. И все же работать со
средствами администрирования в TME 10, такими, как управление пользователями, их
ролями и выделенными им ресурсами, на всем множестве БД оказалось значительно
удобнее, чем собственными средствами СУБД. Определения и роли для тех
пользователей, информацию о которых необходимо было распространить по всем БД,
мы внесли централизованно. На каждом сервере БД местный интеллектуальный агент
сравнил текущее определение пользователей с теми изменениями, которые мы ему
передали, и автоматически сгенерировал соответствующий SQL-оператор.
Запустить процедуру внесения изменений оказалось проще простого. Достаточно
было выбрать из меню пункт назначения, которому следовало передать информацию об
изменениях в конфигурации пользователей. Другой способ состоял в том, чтобы
прямо в пользовательском интерфейсе настольной системы мышью "перетащить"
пиктограмму профиля на пиктограмму группы баз данных, для которой этот профиль
предназначен. В обоих случаях изменения могут быть выполнены немедленно или
запланированы на определенное время. При помощи TME 10 мы могли задавать правила
проверки, позволявшие нам контролировать дублирование имен пользователей,
устаревание паролей, их длину и содержание. Помимо этого, TME 10 позволяет гибко
переназначать полномочия на выполнение административных функций. Во время
тестирования мы создали новые объекты типа "пользователь", присвоили им
различные уровни полномочий и приписали их к разным группам. Так, опытному
администратору, отвечающему за работу основных серверов, мы назначили полномочия
владельца базы данных (database owner), в то время как начинающий получил доступ
лишь к тестовым серверам.
|