Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
Сравнительное тестирование трех СУБД на реальной информационной системе
Д. Ковригин, dkovr@eureca.ru,
А. Николаев, alnik@eureca.ru
Один из важнейших этапов построения информационной системы выбор программной
платформы. Каждый из производителей хвалит свой продукт. И если в финансовых
инструментах (акциях) введено такое понятие как справедливая цена, то в области
ИКТ его пока нет. Остается ориентироваться на приобретаемые возможности. А далее
как в рекламе: если разницы нет, зачем платить больше. Итак, во время выставки
Горзаказ в феврале этого года на стенде компании Эврика посетителями был
задан вопрос по поводу созданной ее специалистами и введенной в промышленную
эксплуатацию ИС Диафарм-СПб: А можно ли в ней обрабатывать информацию по
миллиону больных? Поскольку в ИС Диафарм-СПб клиентские места сделаны на платформе
Borland Interbase, центральная база на сервере на MS SQL, а считается, что
СУБД меньше Oracle вроде и не справится.
Квалифицированный ответ подготовил начальник управления разработки программных
и аппаратных средств Д. А. Ковригин. Под его руководством специалисты компании
Эврика протестировали возможность работы ИС Диафарм-СПб на трех СУБД MS
SQL, Oracle 9i и Borland Interbase 6. Иоценили их сравнительную производительность.
Почему было возможно организовать сравнение? Изначально при разработке ИС Диафарм-СПб
использовались методики и технологии, позволяющие одному и тому же коду работать
с различными СУБД.
В принципе известно, что если в базе данных используется несколько десятков
миллионов записей и сотен пользователей, то все современные СУБД практически
подходят для обработки таких массивов. Что и показали результаты тестирования.
Но одно маленькое уточнение при разной стоимости самой СУБД и ее дальнейшего
сопровождения.
1. Проверить работоспособность различных СУБД при работе с БД ИС Диафарм-СПб
при увеличении количества записей о пациентах в 20 раз больше значения, заданного
в техническом задании (ТЗ) на разработку данной системы (задано 100 тыс. записей,
проверить при 2 млн).
2. Оценить уменьшение производительности выполнения запросов различными СУБД
при увеличении количества записей о пациентах со 100тыс. до 2 млн.
3. Сравнить рассматриваемые СУБД по производительности и по влиянию роста количества
записей на производительность.
При разработке ПО для обработки большого объема данных было проведено тестирование
различных СУБД на производительность и надежность. Тестирование проводилось
на основе БД, спроектированной для ИС Диафарм-СПб. БД состояла из следующих
таблиц:
1. Таблица пациентов 2 млн записей.
2. Таблица назначений лекарственных средств 20 млн записей (10 назначений
на пациента).
3. Таблица отпущенных рецептов 60 млн записей (30 рецептов на пациента).
Для тестирования было разработано приложение типа клиент-сервер, имитирующее
работу нескольких клиентских приложений с одной БД одновременно.
Для тестирования использовались следующие СУБД:
1) MS SQL Server 2000 Developer Edition SP3 (MSSQL).
2) Firebird 1.5 (Borland Interbase 6.0) (Interbase).
3) Oracle 9i Enterprise Edition Release 1 (9.0.1.1.1) for Windows (Oracle).
Занесение записей было проведено на одном компьютере. То есть сервер СУБД и
клиент находились на одной машине с платформой MS Windows 2000 Server. Это позволило
ускорить процесс внесения данных за счет отсутствия работы по локальной сети,
а также обеспечило чистоту теста. После внесения данных БД были перенесены на
другой, более мощный, компьютер, выделенный для тестирования. Каждый тест проводился
после перезапуска компьютера, с отключенными службами остальных СУБД, установленных
на данном компьютере. ОС для всех тестов MS Windows 2000 Server SP4.
Тест на выборку данных
проходил по схеме клиент-сервер: n клиентов, один сервер.
Для получения зависимости количества запросов в секунду, обрабатываемых сервером,
от количества записей в БД, были созданы дополнительные БД для трех тестируемых
СУБД. Количество записей в этой базе данных приведено ниже:
Таблица пациентов 100 тыс. записей.
Таблица назначений 1 млн записей (10 назначений на пациента).
Таблица отпущенных рецептов 3 млн записей (30 рецептов на пациента).
Дополнительные настройки, направленные на оптимизацию производительности, для
всех СУБД не проводились.
Результаты показаны на диаграммах.



Результаты тестов показали, что база данных ИС Диафарм СПб с большим количеством
записей не дает сбоев ни под одной из тестируемых СУБД. Более того, при увеличении
количества записей базы данных в 20 раз, скорость выполнения для использованных
запросов у всех СУБД падает не более чем в два раза.
Результаты позволяют говорить о том, что и при дальнейшем увеличении количества
записей каждая СУБД будет вести себя достаточно надежно, без резких падений
производительности.
Если же сравнивать по производительности различные СУБД, то можно отметить,
что СУБД MSSQL и СУБД Oracle в целом показывают близкую производительностью,
при этом последняя показывает лучшую производительность при увеличении количества
запросов к ней.
СУБД Interbase уступает в производительности и MSSQL, и Oracle, однако для поставленных
задач это не имеет критического значения.
Кроме того, стоит отметить, что СУБД MSSQL загружает процессор компьютера сильнее,
нежели Oracle или Interbase, однако при тестах не была достигнута 100 % загрузка
процессора. Этот факт объясняется тем, что из-за большого объема данных скорость
выборки из таблиц БД ограничивалась скоростью чтения с жесткого диска компьютера,
специально не оптимизированного под работу с БД. Тот факт, что даже при 10 постоянно
работающих клиентах (соответствующих в реальной жизни работе 200400 клиентов),
не удалось загрузить процессор компьютера полностью, еще раз дает повод быть
уверенным в том, что при увеличении количества записей или количества клиентов,
не будет резкого падения производительности СУБД.
Также нет никаких опасений в том, что при обращении к БД многих клиентов, какой-либо
из клиентов будет иметь преимущество перед другим. Каждая из тестируемых СУБД
распределяет ресурсы равномерно между клиентами, вне зависимости от конфигурации
клиентского компьютера.
Во время тестирования не было замечено никаких сбоев, а так как тестирование
было очень продолжительным (более 30 дней непрерывной работы системы, по 10
дней с каждой СУБД), то можно сказать, что все тестируемые СУБД показали отличный
результат по надежности.
Рубрики || Работа
|| Услуги || Поиск
|| Архив || Дни
рождения
О "КИ" || График
выхода || Карта сайта || Подписка
Рассылка анонсов газеты по электронной почте
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов
без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru