Научная статья на тему 'АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ СОВРЕМЕННЫХ НАСТОЛЬНЫХ И КЛИЕНТ-СЕРВЕРНЫХ СУБД'

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ СОВРЕМЕННЫХ НАСТОЛЬНЫХ И КЛИЕНТ-СЕРВЕРНЫХ СУБД Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
224
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ / ПРОИЗВОДИТЕЛЬНОСТЬ СУБД / ТРАНЗАКЦИИ / ТРИГГЕРЫ / ХРАНИМЫЕ ПРОЦЕДУРЫ / ЗАЩИТА ДАННЫХ / FIREBIRD / MYSQL / ORACLE / MS SQL SERVER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шельмина Елена Александровна, Боровской Игорь Георгиевич

Стремительное развитие вычислительной техники повлияло на развитие технологии баз данных. Так, с каждым днем объем хранимой и обрабатываемой информации неуклонно растет. Это приводит к необходимости создания все более мощных и производительных баз данных. При этом бюджеты компаний из года в год растут достаточно медленно. В результате через некоторое время большинство компаний сталкиваются с тем, что доступных средств перестает хватать даже на масштабирование существующих решений, не говоря уже о внедрении новых систем. В данной работе приведен обзор современных настольных и клиент-серверных СУБД, определены достоинства и недостатки наиболее популярных настольных и клиент-серверных СУБД, сформированы критерии и практические рекомендации при выборе СУБД для решения различных задач. Кроме того, проведено тестирование производительности рассматриваемых СУБД. Для проведения указанного анализа выбраны наиболее популярные настольные СУБД, такие как: Microsoft Access, Paradox, а также клиент-серверные СУБД: Firebird, MySQL и Oracle. В результате в работе предложены практические рекомендации разработчикам, затрудняющимся в выборе СУБД для реализации своей задачи.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шельмина Елена Александровна, Боровской Игорь Георгиевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ СОВРЕМЕННЫХ НАСТОЛЬНЫХ И КЛИЕНТ-СЕРВЕРНЫХ СУБД»

УДК 004.65

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ СОВРЕМЕННЫХ НАСТОЛЬНЫХ И КЛИЕНТ-СЕРВЕРНЫХ СУБД

Е. А. Шельмина, И. Г. Боровской

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

В данной работе приведен обзор современных настольных и клиент-серверных СУБД, определены достоинства и недостатки наиболее популярных настольных и клиент-серверных СУБД, сформированы критерии и практические рекомендации при выборе СУБД для решения различных задач. Кроме того, проведено тестирование производительности рассматриваемых СУБД. Для проведения указанного анализа выбраны наиболее популярные настольные СУБД, такие как: Microsoft Access, Paradox, а также клиент-серверные СУБД: Firebird, MySQL и Oracle. В результате в работе предложены практические рекомендации разработчикам, затрудняющимся в выборе СУБД для реализации своей задачи.

Ключевые слова: система управления базами данных, производительность СУБД, транзакции, триггеры, хранимые процедуры, защита данных, Firebird, MySQL, Oracle, MS SQL Server.

ОБЗОР СОВРЕМЕННЫХ НАСТОЛЬНЫХ СУБД

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако, наиболее популярными и используемыми являются Paradox и Microsoft Access. Настольные СУБД чаще всего используются в государственных учреждениях, сферах образования, сферах обслуживания, малом и среднем бизнесе. Специфика возникающих в этих областях задач заключается в том, что объемы данных не являются катастрофическими, частота обновлений не бывает слишком большой, территориально организация обычно расположена в одном небольшом здании, количество пользователей колеблется от одного до десяти человек. В подобных условиях использование настольных СУБД для управления информационными системами является вполне оправданным и с успехом применяется [1].

Так, основными преимуществами СУБД Microsoft Access являются: высокая устойчивость данных, простота в освоении, возможность использования непрофессиональными программистами, способность создания отчетов из баз данных различных форматов.

Основными преимуществами СУБД Paradox являются: простота в администрировании

и освоении, наличие встроенных средств администрирования с GUI - интерфейсом, наличие собственных утилит для отладки запросов.

Недостатками СУБД Paradox являются: отсутствие возможности удаленного и web -администрирования, очень слабая защита данных паролем, отсутствие шифрования данных.

ОБЗОР КЛИЕНТ-СЕРВЕРНЫХ СУБД

Во многих современных СУБД реализуется архитектура клиент-сервер, в которой один процесс (клиент) посылает запрос для выполнения другому процессу (серверу) [2]. Наиболее популярными клиент-серверными СУБД являются: Firebird, MS SQL Server, MySQL, Oracle.

Firebird - компактная, кроссплатформен-ная, свободная система управления базами данных. Firebird полностью поддерживает стандарты ANSI в синтаксисе языка SQL и может работать под управлением многих операционных систем. Среди достоинств этой системы - использование очень развитого языка для хранимых процедур и триггеров. Firebird полностью бесплатна, она не требует ни регистрации, ни оплаты за поддержку [3].

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы [3].

MySQL - свободная система управления базами данных. Достоинства MySQL: работает на различных платформах, имеет поддержку нескольких одновременных запросов, содержит записи фиксированной и переменной длины, имеет гибкую система привилегий и паролей, обладает легкостью управления таблицей, включая добавление и удаление ключей и полей [4].

Недостатки и ограничения MySQL: не реализована поддержка транзакций, проблемы с надежностью - из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности [4].

Современная СУБД Oracle - это мощный программный комплекс, позволяющий создавать приложения любой степени сложности. Ядром этого комплекса является база данных, хранящая информацию, количество которой за счет предоставляемых средств масштабирования практически безгранично [5].

ТЕСТИРОВАНИЕ СУБД

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

В ходе тестирования настольных и клиент - серверных СУБД необходимо:

• проверить работоспособность СУБД при выполнении основных операций, таких как запись, чтение, обновление, удаление данных;

• проверить работоспособность СУБД при выполнении основных операций при увеличении количества записей со 100 до 100000 (для клиент-серверных до 1 миллиона.);

• сравнить рассматриваемые СУБД при выполнении основных операций по производительности и по влиянию роста количества записей на производительность.

Для тестирования СУБД было разработано Java-приложение, в котором все базы данных настроены на единого пользователя и единый пароль, а также единое имя базы данных. Приложение обеспечивает подключение к СУБД через API-интерфейс JDBC (Java Database Connectivity).

ТЕСТИРОВАНИЕ НАСТОЛЬНЫХ СУБД

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

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

Результаты тестирования настольных СУБД представлены в таблице 1.

Microsoft Access

Количество записей 100 1000 10000 100000

Запись, мс 734 7892 131939 1596871

Чтение, мс 0 16 31 125

Обновление, мс 905 19755 1559987 10900000

Удаление, мс 63 406 17501 22669

Paradox

Количество записей 100 1000 10000 100000

Запись, мс 708 7866 131910 1596842

Чтение, мс 0 0 17 96

Обновление, мс 879 19729 1559958 10899971

Удаление, мс 37 377 17475 22640

Таблица 1 - Результаты тестирования настольных СУБД

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ СОВРЕМЕННЫХ НАСТОЛЬНЫХ И КЛИЕНТ-СЕРВЕРНЫХ СУБД

Таблица 2 - Результаты тестирования клиент-серверных СУБД

Firebird

Количество записей 100 1000 10000 100000 1000000

Запись, мс 78 720 6544 63559 634949

Чтение, мс 0 0 0 0 0

Обновление, мс 78 702 6156 62820 623093

Удаление, мс 0 0 140 1094 10891

Mysql

Количество записей 100 1000 10000 100000 1000000

Запись, мс 46 515 4590 45179 454907

Чтение, мс 0 0 31 406 5766

Обновление, мс 16 438 4185 43429 434049

Удаление, мс 0 0 47 375 5047

Результаты тестирования показали, что СУБД Paradox показывает более высокую производительность в отличие от СУБД Microsoft Access, при выполнении операций записи, чтения, обновления и удаления записей. Но СУБД Paradox значительно проигрывает в мощности языка программирования и интегри-рованности с другими продуктами.

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

СУБД Microsoft Access также рекомендовано использовать для решения небольших задач, при создании небольших баз данных. Любая задача может быть реализована на Microsoft Access обычным пользователем, так как Microsoft Access предлагает большое количество мастеров, которые выполняют основную работу за

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

ТЕСТИРОВАНИЕ КЛИЕНТ СЕРВЕРНЫХ СУБД

При тестировании клиент-серверных СУБД использовалась та же база данных, что и при тестировании настольных СУБД. Результаты тестирования клиент-серверных СУБД представлены на рисунке 2.

Результаты тестирования клиент-серверных СУБД [7] показали, что при увеличении количества записей со 100 до 1 миллиона СУБД ПОЛЗУНОВСКИЙ ВЕСТНИК № 3 2017

Oracle показала значительно более высокую производительность в отличие от MySQL и Firebird [8,9].

СУБД Oracle обладает высочайшей надежностью, возможностью разбиения крупных баз данных на разделы, что дает возможность эффективно управлять гигантскими гигабайтными базами. Имеет эффективные методы максимального повышения скорости обработки запросов, широкий спектр средств разработки, мониторинга и администрирования. В Oracle реализуются лучшие на сегодняшний день средства для объектно-ориентированного конструирования баз данных, в том числе табличные структуры, допускающие наследование свойств и методов других табличных объектов БД, что позволят избежать ошибок при построении БД и облегчает их обслуживание. Однако, Oracle наложила ограничения на свой бесплатный продукт, поэтому версия Oracle Database 11 g Express Edition, может работать только с 1 ядром, 1 GB оперативной памяти и хранить данные не более 11 GB. Этого вполне достаточно для одновременной работы с базой данных сотрудников малого предприятия, либо сотрудников отдела крупной компании.

MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Если необходимо создать web - приложение, MySQL -идеальное решение, быстро и качественно работающее на сетевых серверах.

СУБД Firebird [6] является одной из самых популярных в мире бесплатных систем управления базами данных с открытым исход-

ным кодом. СУБД Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. И как в любой СУБД, на производительность Firebird влияют: количество памяти, скорость работы дисковой подсистемы. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д.

ЗАКЛЮЧЕНИЕ

В данной работе был проведен сравнительный анализ возможностей настольных и клиент-серверных СУБД, а также тестирование их производительности при выполнении различных операций: запись, чтение, обновление и удаление данных. Реализовано сравнение тестируемых СУБД по производительности, а также по влиянию роста количества записей на производительность. Разграничены наиболее перспективные направления работы для каждой СУБД.

СПИСОК ЛИТЕРАТУРЫ

1. Информационные системы: учебник для вузов/ Ю.С. Избачков, В.Н. Петров - 2 изд., доп. -СПБ.: Питер, 2006. - 656 с.

2. Введение в базы данных: Архитектура клиент - сервер [Электронный ресурс]. - Режим доступа:

http://www.mstu.edu.ru/studv/materisls/zelenkov/ch 7 1.html

3. Федоров А.Н., Елманова Н.С. Введение в базы данных. Настольные СУБД. / Федоров А.Н., Елманова Н.С. - 2 изд., перераб. и доп. - М.: КомпьютерПресс, 2000. - № 3,4.

4. Шварц Б.А., Зайцев П.Н., Ткаченко В.Т. MySQL. Оптимизация производительности/ Шварц Б.А., Зайцев П.Н., Ткаченко В.Т. - М.: Наука, 2010. -412 с.

5. Перри Джеймс, Пост Джеральд. Введение в Oracle. Перри Джеймс, Пост Джеральд; пер. с англ. А.В. Назаренко; под ред. Л.Д. Гамзикова. -М.:Вильямс, 2006. - 704 с.

6. Документация по СУБД Firebird [Электронный ресурс]. Режим доступа: http://www.firebird-sql.org/manual/ru/firebird-database-docementation-ru.html

7. Трофимов В.В, Завьялов Д.В. Синхронизация списков данных в клиент-серверных системах // Известия Волгоградского государственного технического университета. Серия Актуальные проблемы управления, вычислительной техники и информатики в технических системах. 2015. №6 (163). C. 87-90.

8. Документация по СУБД Firebird [Электронный ресурс]. Режим доступа: http://www.firebirdsql.org/manual/ru/firebird-data-base-docementation-ru.html

9. Шварц Б.А., Зайцев П.Н., Ткаченко В.Т. MySQL. Оптимизация производительности. / Шварц Б.А., Зайцев П.Н., Ткаченко В.Т. - М.: Наука, 2010. - 412 с.

10. Авдзейко В. И. Прогнозирование: формирование специализированных баз данных и построение временных рядов патентов / В. И. Авдзейко [и др.] // Доклады ТУСУР. - 2015. -№ 4(38). - С. 183-188.

Шельмина Елена Александровна, к.ф.-м.н., доцент кафедры ЭМИС ТУСУР, e-mail: eashelmina@mail.ru, тел.: +79138406967

Боровской Игорь Георгиевич, зав. каф., д.-ф.-м.н., профессор кафедры ЭМИС ТУСУР

i Надоели баннеры? Вы всегда можете отключить рекламу.