Государственное высшее учебное заведение
«Национальный горный университет», Украина
Оценка производительности баз
данных…
В
статье рассмотрена проблема выбора СУБД при использовании в корпоративных
информационных системах, имеющих большую нагрузку и требование к высокой
эффективности хранилища данных.
Постановка
проблемы
Одним
из основных компонентов эффективной работы любой информационной системы
является система управления базой данных (СУБД), обеспечивающая хранение, поиск
информации, сохранение и изменение всех состояний данной информационной
системы, а так же интеграцию различных ее компонентов в единое информационное
пространство. Поэтому вопросы
эффективности использования различных СУБД в составе корпоративных информационных систем (КИС) являются
актуальной и своевременной задачей.
Цель работы
Одним
из направлений разработки КИС является попытка создания единого информационного
пространства на основе корпоративных сетевых решений путем интеграции и добавления
новых свойств и объектов в службу самой операционной системы. Таким образом,
удается в одной базе данных хранить системную информацию, информацию о правах
доступа к файлам, каталогам, принтерам и другим сетевым ресурсам, а также
дополнительную специализированную информацию КИС. В настоящий момент активно
используются две сетевых службы: AD фирмы Microsoft и NDS eDirectory фирмы
Novell. Однако возникает вопрос
производительности данных служб в сравнении с обычными базами данных.
В данной статье рассматриваются выбор
основных параметров оценки производительности СУБД и описан результат
экспериментальных исследований сравнения eDirectory и FoxPro.
Основная часть
Служба eDirectory операционной системы (ОС) NetWare
это глобальная служба, использующая распределенную объектно-ориентированную
СУБД сетевых ресурсов. Она содержит информацию обо всех сетевых ресурсах,
включая информацию о пользователях, группах пользователей, принтерах, томах и
компьютерах, их адресах, правах доступа и т.д. NetWare использует эту информацию
для обеспечения и контроля доступа к сетевым ресурсам.
Предварительный анализ показал, что служба eDirectory
представляет собой эффективное решение для создания единого информационного
пространства КИС и обладает рядом преимуществ по сравнению с подобными
компонентами других операционных систем за счет:
- распределенности;
- реплицируемости;
- объектности;
- прозрачности;
- глобальности.
Объекты eDirectory организованы в иерархическую
структуру, соответствующую структуре организации, и позволяют создавать новые
объекты отражающие реальные информационные потоки и потребности разделения
ресурсов реальной КИС.
Производительность СУБД является важнейшим фактором
при выборе ее для реализации КИС, того или иного проекта. Для сравнения
производительности СУБД наиболее важным критерием является скорость выполнения
запросов к данным, которая зависит от физических характеристик сервера и
структуры хранимой информации в СУБД.
Кроме того, предполагая, что производительность СУБД
будет также зависеть от объема (количества) хранимой в них информации, для
проведения эксперимента разработан ряд опытов, в каждом из которых над данными
выполняется одна из операций. Количество обрабатываемых объектов в каждом опыте
принимали равным: 100, 1000, 5000, 25000, 50000, 100000.
Для повышения достоверности проведения
экспериментальных исследований скорости выполнения отдельных операций каждый
опыт (операция) над данными проводился по три раза.
В результате анализа практического опыта различных
вариантов использования информации предлагается выделить операции поиска,
обновления, добавления и удаления объектов. Таким образом, план проведения
эксперимента был построен на базе оценки скорости віполнения следующих
операций:
- добавление объектов при различном количестве
объектов БД;
- поиск объекта при различном количестве объектов БД;
- поиск объекта по маске при различном количестве
объектов БД;
- обновление одного объекта при различном количестве
объектов БД;
- обновление 10% объектов при различном количестве
объектов БД;
- удаление одного объекта при различном количестве
объектов БД;
- удаление 50% объектов при различном количестве
объектов БД;
- удаление всех объектов при различном количестве
объектов БД;
- удаление группы объектов (подразделение) при
различном количестве объектов БД.
Для проведения сравнительной оценки производительности
были выбраны две СУБД, объектная (eDirectory) и реляционная (Visual FoxPro
9.0).
Однако в результате анализа было установлено, что эти
СУБД имеют различную структуру. Тогда, для получения максимально точных и
соответствующих результатов эксперимента проведен предварительный анализ
объектов eDirectory, и в качестве экспериментальной информационной структуры БД
был выбран объект User содержащий большое количество свойств. Для получения
точного соответствия разработана модель базы данных для СУБД Visual FoxPro 9.0,
в основе которой лежит структура данного объекта, обладающего набором свойств
широко используемыми при организации доступа пользователей к ресурсам
предоставляемых ОС Novell NetWare. При этом, для создания БД в Visual FoxPro
9.0 использовались не все свойства объекта User в eDirectory, а только те
которые удовлетворяют критерию совместимости данных с Visual FoxPro 9.0, в
связи с чем, получен набор полей в полной мере эмулирующий объект User и его
свойства.
При проведении эксперимента для получения наиболее
достоверных результатов, тестирование СУБД производилось на машинах с
одинаковой конфигурацией (Intel Celeron 2,67GHz/512Mb / 80.0Gb / 1.44 /
SVGA-64Mb / sound / LAN).
Для получения численного значения времени выполнения
каждой операции над объектами СУБД, разработан ряд программных модулей,
реализующих возможности изменения данных находящихся в СУБД. Дополнительно были
созданы модули для предварительного заполнения БД необходимым количеством
объектов или записей.
В результате анализа полученных данных, выяснено, что
для СУБД FoxPro самой быстрой оказалась операция «поиск записей по индексному
значению». При чем на диапазоне от 100 до 25000 записей более быстрой является
операция «поиск записей по конкретному индексному значению», а самой медленной
– операция «добавления записей». Время добавления 100000 записей составилось
1796, 636 с. что составляет примерно 30 минут. Так же было установлено, что
операция «обновление записей не по индексированному полю», работает быстрее
операции «обновление записей по индексному полю» на 0, 003 – 0,018 с. в
диапазоне от 100 до 100000.записей
Анализ работы СУБД eDirectory показал, что среди всех
операций самой медленной операцией является «добавление», время добавления
100000 записей осуществляется за 3690,53 с. Затем идет операция «удаления»,
скорость обработки которой уменьшается на диапазоне от 25000 до 50000, а зетам
снова увеличивается. Самой быстрой в этой СУБД является операция поиска,
особенностью которой состоит в отсутствии зависимости времени обработки данных
от объема БД. Скорость обработки информации в диапазоне от 100 до 100000
записей осуществляется от 0,03 – 0,04 с. в зависимости от типа поиска.
Выводы и перспективы
Таким образом, на основкании комплексной оценки
установлено, что проанализированные СУБД приблизительно равноценны по
производительности. Отдельные операции (например «добавление») выполняются
быстрее в FoxPro 9.0 в среднем в 3 раза, с другой стороны, в NDS eDirectory
быстрее выполняется операция «поиск» не зависящая от объема информации в СУБД.
Однако, анализ особенностей eDirectory (объектная БД,
интегрирована в ядро ОС, встроенный контроль доступа, интеграция всех объектов,
прозрачность, репликация, встроенная синхронизация и т.д.) позволяет сделать
предположение, что данная СУБД обладает достаточной производительностью и
является перспективным решением для создания корпоративной информационной
системы с единым информационным пространством.
Список литературы:
1) Лебедев А.А.
Удаленная репликация: критерии выбора / Storage News.
– № 2 (27). – 2006. – С. 6 – 9.;
2)
Даниела Флореску, Дональд Коссман. Переосмысление стоимости и
производительности систем баз данных, 2009. –
С. 43– 48.
3) Марк Ривкин. Тенденции развития универсальных
коммерческих СУБД / Открытые системы. – № 2. – 2009. – С. 10 – 15.