Сравнительный анализ настольных и клиент-серверных субд

УДК 004.65

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

Сравнительный анализ настольных и клиент-серверных СУБД

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

Ключевые слова: система управления базами данных, производительность СУБД, транзакции, триггеры, хранимые процедуры, защита данных, Firebird, MySQL, Oracle, MS SQL Server. doi: 10.21293/1818-0442-2017-20-4-92-94

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

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

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

Обзор современных настольных СУБД

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными и используемыми являются 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].

И.Г. Боровской, Е.А. Шельмина. Сравнительный анализ настольных и клиент-серверных СУБД

93

Выбор и тестирование СУБД

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

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

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

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

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

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

Тестирование настольных СУБД

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

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

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

Таблица 1

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

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

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

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

Таблица 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

Oracle

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

Запись, мс 47 406 3046 31170 302071

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

Обновление, мс 63 362 9475 788632 7800000

Удаление, мс 0 31 125 1797 30924

Результаты тестирования клиент-серверных СУБД [7] показали, что при увеличении количества записей со 100 до 1 млн СУБД Oracle показала значительно более высокую производительность в отличие от MySQL и Firebird.

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

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

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

чает их обслуживание. Однако Oracle наложила ограничения на свой бесплатный продукт, поэтому версия Oracle Database 11 g Express Edition, может работать только с 1 ядром, 1 Гб оперативной памяти и хранить данные не более 11 Гб. Этого вполне достаточно для одновременной работы с базой данных сотрудников малого предприятия либо сотрудников отдела крупной компании.

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

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

Заключение

В представляемой работе был проведен сравнительный анализ возможностей современных СУБД на основе тестирования их производительности при выполнении различных операций. В результате этого тестирования СУБД Oracle показала значительно более высокую производительность в отличие от MySQL и Firebird. На основе полученных результатов были сформулированы наиболее перспективные направления работы для каждой СУБД.

Литература

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

2. Введение в базы данных: Архитектура клиент-сервер [Электронный ресурс]. - Режим досту-па:http://www.mstu.edu.ru/study/materisls/zelenkov/ch_7_1.h tml, свободный (дата обращения: 25.09.2017).

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

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

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

6. Документация по СУБД Firebird [Электронный ресурс]. - Режим доступа: http://www.firebirdsql.org/manual/ rUfirebird-database-docementation-ru.html, свободный (дата обращения: 27.09.2017).

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

8. Документация по СУБД Firebird [Электронный ресурс]. - Режим доступа: http://www.firebirdsql.org/ man-ual/ru/firebird-database-docementation-ru.html, свободный (дата обращения: 27.09.2017).

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

Боровской Игорь Георгиевич

Д-р физ.-мат. наук, профессор, зав. каф. экономической математики, информатики и статистики ТУСУРа Тел.: +7 (382-2) 90-01-85, внутр. 2819 Эл. почта: igdoca@mail.ru

Шельмина Елена Александровна

Канд. физ.-мат. наук, доцент каф. экономической математики, информатики и статистики ТУСУРа Тел.: +7-913-840-69-67 Эл. почта: eashelmina@mail.ru

Borovskoy I.G., Shelmina E.A.

Comparative analysis of desktop and client-server

databases

In this paper, a comparative analysis of desktop and clientserver DBMS is made, criteria and practical recommendations are formed when choosing a DBMS for solving various problems. In addition, we tested the performance of the DBMS in question. The most popular desktop DBMS, such as Microsoft Access, Paradox, as well as client-server DBMS: Firebird, MySQL and Oracle, are selected for this analysis. As a result, practical recommendations are offered to developers, who find it difficult to choose a DBMS for the implementation of their task.

Keywords: database management system, DBMS performance, transactions, triggers, stored procedures, data protection, Firebird, MySQL, Oracle, MS SQL Server.