ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Публикационная активность

(сведения по итогам 2017 г.)
2-летний импакт-фактор РИНЦ: 0,500
2-летний импакт-фактор РИНЦ без самоцитирования: 0,405
Двухлетний импакт-фактор РИНЦ с учетом цитирования из всех
источников: 0,817
5-летний импакт-фактор РИНЦ: 0,319
5-летний импакт-фактор РИНЦ без самоцитирования: 0,264
Суммарное число цитирований журнала в РИНЦ: 6012
Пятилетний индекс Херфиндаля по цитирующим журналам: 404
Индекс Херфиндаля по организациям авторов: 338
Десятилетний индекс Хирша: 17
Место в общем рейтинге SCIENCE INDEX за 2017 год: 527
Место в рейтинге SCIENCE INDEX за 2017 год по тематике "Автоматика. Вычислительная техника": 16

Больше данных по публикационной активности нашего журнале за 2008-2017 гг. на сайте РИНЦ

Вход


Забыли пароль? / Регистрация

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
16 Декабря 2018

Оптимизация настроек систем управления базами данных

Статья опубликована в выпуске журнала № 2 за 2008 год.[ 24.06.2008 ]
Аннотация:
Abstract:
Авторы: Ковалев И.В. (kovalev.fsu@mail.ru) - Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, г. Красноярск, , , доктор технических наук, Ежеманская С.Н. () - , , , Гражданцев Е.В. () - , , , Царев Р.Ю. (tsarev.sfu@mail.ru) - Сибирский федеральный университет, г. Красноярск, , , кандидат технических наук, Прокопенко А.В. (tsarev.sfu@mail.ru) - Сибирский федеральный университет, г. Красноярск, ,
Ключевые слова: оптимизация, субд oracle, система управления базами данных
Keywords: optimisation, DB Oracle, database management system
Количество просмотров: 10903
Версия для печати
Выпуск в формате PDF (1.83Мб)

Размер шрифта:       Шрифт:

Современный уровень развития программно-информационных технологий корпоративных структур предполагает сложные расчеты данных большого объема. Хранение структурированной информации и ее обработка практически невозможны без использования баз данных. С целью сокращения времени доступа и обработки информации требуется оптимизировать процесс работы СУБД. Одним из целесообразных подходов для решения этой задачи является оптимизация настроек СУБД. Авторским коллективом была разработана программная система "MultiDB", которая позволяет оптимизировать настройки системы управления базами данных ORACLE. Основной задачей программной системы «MultiDB» является оптимизация настроек СУБД ORACLE.

 

СУБД ORACLE как компонент программно-информационных технологий корпоративных структур – это сложно настраиваемый программный продукт. Его гибкость позволяет оказывать влияние на информационную производительность корпоративной среды в целом. При этом требуются небольшие настроечные изменения, которые, тем не менее, произвести вручную практически не возможно. Однако, как показывает опыт эксплуатации информационных систем, основанных на СУБД ORACLE, такая настройка существенно влияет на производительность системы, обеспечивая повышенную готовность и доступность информационных ресурсов. Путем настройки ORACLE можно влиять на качество управления IT-услугами в корпорации и удовлетворять разнообразные потребности пользователей.

Особенности настроек СУБД ORACLE

Процесс настройки и оптимизации ORACLE состоит из четырех шагов-процедур, а именно: настройки распределения памяти, ввода-вывода, соперничества и дополнительных параметров.

Рассмотрим последовательно содержание указанных процедур.

Настройка распределения памяти. Правильное распределение ресурсов памяти между структурами ORACLE имеет большое влияние на производительность. На первом шаге определяется, сколько памяти выделять областям SQL и PL/SQL, кэшу словаря данных, буферному кэшу.

Правильное распределение ресурсов памяти способно улучшить производительность кэша; сократить разбор предложений SQL, блоков PL/SQL, а также сократить страничный обмен и свопинг.

Настройка ввода-вывода. Дисковый ввод-вывод имеет тенденцию снижать производительность многих программных приложений. Однако система ORACLE спроектирована так, что ее производительность не обязательно должна лимитироваться вводом-выводом.

На втором шаге выполняется настройка ввода-вывода, включающая следующие процедуры:

· распределение ввода-вывода таким образом, чтобы избежать соперничества за диски;

· размещение данных в дисковых блоках для лучшего доступа;

· манипулирование размерами экстентов данных.

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

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

OPEN_CURSORS – максимальное число открытых курсоров (контекстных областей), которое может одновременно иметь один пользовательский процесс. Этот параметр контролирует максимальное адресное пространство, используемое каждым процессом.

SHARED_POOL_SIZE – размер разделяемого пула, содержащего разделяемые курсоры и хранимые процедуры. Большие значения улучшают производительность в многопользовательских системах. Меньшие значения экономят память.

DB_BLOCK_BUFFERS – число блоков базы данных, кэшируемых в памяти в SGA (один блок равен одному буферу). Этот параметр является наиболее существенным детерминантом размера SGA и производительности базы данных. Высокое значение этого параметра позволяет пользователю с большей вероятностью получить доступ к блоку базы данных, находящемуся в памяти, что сокращает время ввода-вывода. Недостаток высокого значения в том, что при этом потребляется больше памяти.

MTS_MAX_SERVERS – максимальное число разделяемых серверных процессов, которые могут выполняться одновременно.

LOG_SMALL_ENTRY_MAX_SIZE – размер в байтах наибольшей записи, которая может копироваться в буфер журнала повторения под замком распределения, без получения замка копирования. Если значение LOG_SIMULTANEOUS_COPIES равно 0, этот параметр игнорируется (все записи маленькие и пишутся без замка копирования).

SORT_AREA_SIZE – максимальный объем памяти в области PGA для внешней (дисковой) сортировки. Эта память освобождается, когда отсортированные строки записываются на диск. Увеличение SORT_AREA_SIZE улучшает эффективность больших сортировок.

Множественных распределений не бывает никогда: лишь одна область памяти размером SORT_AREA_SIZE существует в каждый момент времени для каждого пользовательского процесса.

SORT_AREA_RETAINED_SIZE – максимальный объем памяти сессии, в байтах, который может использоваться для сортировки в памяти. Эта память освобождается, когда извлечена последняя отсортированная строка. Если сортировке требуется больше памяти, то распределяется временный сегмент, и сортировка становится внешней (дисковой) сортировкой. Максимальный объем памяти, используемый такой сортировкой, теперь будет определяться параметром SORT_AREA_SIZE. Большие значения позволяют выполняться в памяти сортировкам данных большего размера.

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

Для оптимизации применяется следующий алгоритм.

1. Прогон тестового примера, останов инстанции ORACLE и установка начальных параметров.

2. Запуск инстанции ORACLE.

3. Оптимизация параметра: измерение времени исполнения; останов инстанции ORACLE; если возможно улучшить, то изменение параметров с учетом ограничений и переход на шаг 2; если дальнейшее улучшение невозможно, то переход на шаг 4.

4. Запуск инстанции ORACLE с оптимизированными параметрами.

Приведем ограничения на некоторые параметры настроек СУБД ORACLE:

OPEN_CURSORS

(интервал значений: 1 ... определяется ОС);

SHARED_POOL_SIZE

(интервал значений: 300 Кб … зависит от ОС);

DB_BLOCK_BUFFERS

(интервал значений: 4 или больше);

MTS_MAX_SERVERS

(интервал значений: зависит от ОС);

LOG_SMALL_ENTRY_MAX_SIZE

(интервал значений: зависит от ОС);

SORT_AREA_SIZE

(интервал значений: зависит от ОС);

SORT_AREA_RETAINED_SIZE

(интервал значений: 0 ... SORT_AREA_SIZE).

Данный оптимизационный алгоритм реализован в составе программной системы многоатрибутивной оптимизации настроек СУБД ORACLE «MultiDB» (Ковалев И.В., Царев М.Ю., Антамош- кин О.А., Тюпкин М.В., Шевчук С.Ф. «Оптимизация настроек систем управления базами данных (программная система «MultiDB ver. 1.0»)». - М.: ВНТИЦ, 2007. - № 50200701342. - Рег. номер ОФАП 8533).

Увеличение производительности СУБД ORACLE улучшает надежностные характеристики архитектуры программно-информационных технологий для корпоративных структур, в том числе оказывает влияние на среднее время появления сбоя, простоя системы и на коэффициент готовности системы. Цель программной системы – обеспечить гарантированную доступность ресурсов при мультиверсионном формировании программно-информационных технологий.

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

Оптимизация настроек СУБД эффективно реализована с использованием алгоритма условной многоатрибутивной целочисленной оптимизации (модифицированного покоординатного спуска), в качестве координат приняты параметры настроек, а оптимизируемый параметр – минимальное время выполнения тестового примера.

Отметим, что программная система оптимизации настроек СУБД ORACLE «MultiDB» реализована на языке С++ в среде визуального программирования C++ Builder (версия 5.0) фирмы Borland International Inc. При проектировании структуры программы использовался объектно-ориентированный подход. «MultiDB» функционирует в ОС Windows 9X/2000 и старше. Система обладает удобным пользовательским интерфейсом.

Программная система «MultiDB» используется на практических занятиях по дисциплинам «Разработка программного обеспечения для информационно-управляющих систем», «Проектирование баз данных» и «Информационные системы в экономике» для студентов Сибирского государственного аэрокосмического университета (и его филиала в г. Железногорске) и Сибирского федерального университета.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=744
Версия для печати
Выпуск в формате PDF (1.83Мб)
Статья опубликована в выпуске журнала № 2 за 2008 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: