Многочисленные усовершенствования СУБД способствуют автоматизации важных процедур
СУБД Database 11g, являющаяся основой архитектуры распределенных вычислений Oracle Grid, должна привлечь внимание администраторов баз данных благодаря наличию в ней улучшенных возможностей администрирования, восстановления информации и сжатия таблиц. Выпущенный в конце августа продукт Oracle позволяет производить тонкую настройку БД, не прибегая к методу проб и ошибок.
![]() Снабженный Web-интерфейсом модуль Enterprise Manager контролирует множество настроечных функций 11g |
Я протестировал Database 11g в редакции Enterprise Edition для 32-разрядных x86-систем под управлением ОС Linux. По словам представителей компании, 64-разрядная версия для Linux, которая, по-видимому, будет наиболее востребована корпоративными пользователями, как и аналогичные версии для других популярных платформ, ожидается к концу года.
Oracle Database 11g поставляется по тем же расценкам, что и 10g. Например, Standard Edition One стоит $149 за именованного пользователя и $4995 в расчете на процессор, а Enterprise Edition — соответственно $800 за каждого пользователя или $40 000 на один процессор.
Фокус на автоматизации
После трех лет труда разработчиков Oracle Database 11g обзавелась массой новых и модернизированных функций, нацеленных на автоматизированное повышение производительности баз данных и скорости обработки запросов, а также на оптимизацию использования оперативной и дисковой памяти.
Один из примеров — инструмент анализа «что, если» под названием Database Replay. При тестировании я воспользовался этим средством для регистрации рабочей нагрузки реальной БД и последующего ее воспроизведения на тестовой системе.
Однако работа с Database Replay — вовсе не легкая прогулка: для достижения оптимальных результатов может понадобиться перезагрузка действующей базы данных. А в ходе диалога с мастером установки мне пришлось ответить на ряд строгих (но уместных) предупреждений, чтобы система была способна записать в специальный файл рабочую нагрузку, не прерывая своего функционирования.
![]() Для оценки влияния тех или иных изменений, например модификации схемы данных, SPA сравнивает скорость обработки рабочей загрузки |
Отмечу, что испытания, проводимые на базе реальных рабочих нагрузок, являются одним из наиболее точных методов прогнозирования того, как изменения, внесенные в систему или приложение, могут повлиять на фактическую производительность.
На тот же круг задач нацелен и инструмент SPA (SQL Performance Analyzer), посредством которого администраторы баз данных смогут прогнозировать влияние изменений в системе на план исполнения SQL-команд и другие функции. Благодаря SPA можно предсказывать, как изменится производительность в случае обновления СУБД, уточнения настроек, модификации структуры БД, запуска сбора статистики и даже при внесении изменений в ОС или аппаратную платформу.
Я создал набор сценариев STS (SQL Tuning Set), в которых отражены информация о рабочей нагрузке, план исполнения заданий, имеющиеся связи и требования к сбору статистики.
![]() Благодаря средствам сжатия данных экономится дисковое пространство, но снижение производительности при этом незначительно |
Созданный мною STS-сценарий относился к модельной базе данных отдела кадров. После его прогона я установил «заплатку» и повторил настроечный тест. SPA подтвердил, что качество исполнения большинства SQL-команд повысилось, а производительность БД при этом осталась на том же уровне.
Еще один компонент Database 11g — SQL Tuning Advisor — умеет фиксировать информацию в процессе работы Guided Workflow и после ее анализа выдавать конкретные предложения по корректировке тех или иных SQL-операторов.
Новый модуль SQL Query Result Cache повышает производительность приложений путем кэширования результатов SQL-запросов и функций на языке PL/SQL в оперативной памяти. До тех пор пока объект БД остается неизменным, используются кэшированные результаты запроса. Реальный прирост производительности за счет кэширования зависит от степени статичности обрабатываемых данных. Однако в целом применение Result Cache наиболее эффективно при наличии в приложении одних и тех же часто исполняемых SQL-запросов и PL/SQL-функций.
Расширенная статистика
Расширенная (или многоколоночная) статистика — новая функция Oracle Database 11g — помогает находить зависимость между двумя или более столбцами таблицы. Я использовал эту возможность, чтобы сгенерировать статистическую информацию, отображающую связь между клиентами, штатами и странами (все нужные данные хранились в одной таблице).
Оптимизатор CBO (Cost-Based Optimizer) может использовать эту статистику для выявления взаимосвязей между несколькими колонками таблицы.
В ходе тестов я убедился, что CBO правильно рассчитывает селективность одноколоночных предикатов, даже если к полям применяется та или иная функция, например UPPER (lname). В итоге CBO смог определить уровень селективности и кардинальное число для каждого поля и задействовать расширенную статистику для выявления корреляции между ними.
Протокол истории
В тестах я предписал Database 11g отслеживать и сохранять все транзакционные изменения в отдельных записях и убедился в том, что новая СУБД действительно позволяет фиксировать сопутствующую информацию на время жизни записи.
Однако поскольку для сохранения сведений об изменениях нужна дополнительная дисковая память, администраторам БД следует позаботиться о том, чтобы такие мгновенные снимки делались только для тех записей, которые реально нуждаются в тщательном мониторинге.
Конфигурируя свои тесты, я задал квоту памяти в 10 Мб и период хранения транзакционного архива — один год. В ходе испытаний я изменял данные, например размеры зарплат различных сотрудников, а затем использовал ретроспективный архив для восстановления тех значений, которые были скорректированы по ошибке.
Эта функция, несомненно, будет полезна для анализа информации в ходе судебных расследований. Общий объем сопутствующих подобным изменениям метаданных, создаваемых и хранимых в Database 11g, столь велик, что подделка записей или очистка следов изменений кем-то из сотрудников организации практически невозможны. Чтобы тайно и бесследно удалить улики, потенциально содержащиеся в Database 11g, необходимо проявить выдающуюся настойчивость и усердие.
Усиленная безопасность
Oracle существенно повысила безопасность Database 11g. Чтобы засекретить дисковые данные, я воспользовался функцией Transparent Database Encryption. Криптозащита, предоставляемая Web-модулем Enterprise Manager, позволила мне сделать невидимыми отдельные поля. Тестирование показало, что работа с зашифрованными данными — у меня это были вымышленные кредитные лимиты — не вызывает особого замедления функционирования СУБД.
В целях соблюдения регулятивных норм продукт использует довольно усложненную процедуру сохранения ключей и управления ими. В рамках каждой таблицы с шифруемыми столбцами действует один ключ, который, в свою очередь, шифруется главным ключом БД и хранится в словаре данных вместе с таблицей. Ни один из ключей не хранится в незашифрованном виде, причем главный ключ базы данных размещается в модуле безопасности, функционирующем вне самой БД.
Сисадминам и специалистам, ответственным за ИТ-безопасность, важно усвоить, что главный ключ базы данных должен быть защищен, но в то же время его местоположение не следует делать абсолютным секретом, иначе он будет недоступен, когда вдруг возникнет необходимость в дешифрации информации. Я акцентирую на этом внимание потому, что, поскольку главные ключи баз данных обычно периодически обновляются (или должны обновляться), администраторам БД следует помнить, что будущему ИТ-персоналу доступ к ключам и данным когда-нибудь все-таки потребуется.
Oracle улучшила в Database 11g средства управления и мониторинга Enterprise Manager Database Control, усилив безопасность и обеспечив генерацию более детальных отчетов. Enterprise Manager, впервые появившийся в Oracle Database 10g, имеет удобный интерфейс с закладками, показывающий хронологию рабочей нагрузки на СУБД, предупреждающие сообщения, конфигурацию хост-системы, последовательность обновлений ПО и содержимое пространства таблиц, и служит исходной точкой для выполнения большинства административных задач.
Экономия дисковой памяти
Oracle озабочена более оптимальным использованием ресурсов системы хранения. В Database 11g с этой целью активно применяется сжатие данных, сокращающее потребность в дисковом пространстве.
В ходе тестов я создал две одинаковые таблицы и одну из них сжал, чтобы оценить разницу в размерах. Я также сравнил время, необходимое для доступа к сжатым и несжатым данным. Результаты оказались весьма приемлемыми, но я все-таки собираюсь продолжить свои эксперименты, чтобы понять, какие данные лучше всего подходят для сжатия.
Таблицы, использованные для проверки, содержали чуть более 900 тыс. записей о продажах. Несжатая таблица заняла примерно 36 Мб, а сжатая — 19 Мб, т.е. несколько больше половины объема несжатых данных. Хотя степень компрессии составила 47%, время доступа для выполнения операций со сжатой таблицей возросло только на 1-2%.
С техническим директором eWeek Labs Камероном Стардевантом можно связаться по адресу: cameron.sturdevant@ziffdavisenterprise.com.
| Что нового в 11g Oracle Database 11g содержит сотни новых функций и усовершенствований. • SPA. Оценивает последствия корректировки плана исполнения SQL-оператора, что существенно экономит время администраторов БД, затрачиваемое на выявление и исправление операторов, ставших неэффективными из-за изменений в системе. • Database replay. Помогает работать со SPA и позволяет администраторам БД “проигрывать” реальные рабочие нагрузки в тестовой среде. • Сжатие табличных данных. Экономит дисковое пространство, занимаемое данными, с минимальным ущербом для производительности; новая техника сжатия будет способствовать переходу с жестких дисков на твердотельные накопители. • Ретроспективный архив данных. Отслеживает и сохраняет историю всех транзакционных изменений конкретной таблицы на протяжении ее жизненного цикла. • Онлайновое обновление ПО. Под этим понимается не загрузка обновлений из онлайнового источника, а их установка на работающую СУБД; эту функцию можно сравнить с заменой деталей на мчащемся по шоссе автомобиле. • SQL Access Advisor. Эта утилита выдает теперь рекомендации и по секционированию индексов, представлений и таблиц. |














.jpg)



