Анализ производительности систем управления базами данных при работе с большим объемом информации

Анализ производительности систем управления базами данных при работе с большим объемом информации.

Н.Ф. Шаякбаров, Д.С. Зорин Пермский национальный исследовательский политехнический университет

Аннотация: В статье проведен анализ работы различных систем управления базами данных MySQL, PgSQL, SqLite при большом количестве данных в одной таблице. Для сравнительного анализа использована таблица из 100000 записей. Выявлены положительные и отрицательные аспекты работы баз данных, сделаны выводы и рекомендации по их производительности.

Ключевые слова: база данных, первичный ключ, внешний ключ, реляционная база данных, модель, система управления базами данных, PHP, Laravel, MySQL, PgSQL, SqLite.

При создании информационных автоматизированных систем для предприятий различных отраслей успех быстрой и качественной реализации зависит от правильного выбора системы управления базами данных(СУБД) [1]. База данных (БД) представляет собой файловое хранилище информации, состоящее из данных и программно-аппаратного носителя, как интегрированное хранилище данных разных пользователей обеспечивает коллективное использование, является неотъемлемой частью любой информационный системы (ИС).[2-4]

В работе рассмотрены наиболее распространенные [5] и функциональные СУБД, которые являются основой создания прототипов приложений[6] на начальной стадии проектирования информационных систем:

• MySQL - свободно распространяемая реляционная система управления базами данных. MySQL, в основном используется в качестве сервера[7], к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека

внутреннего сервера, позволяющая включать MySQL в автономные программы.[8]

• PgSQL - свободно распространяемая объектно-реляционная СУБД. Существует в реализациях для множества UNIXlike платформ, а также для Microsoft Windows.[9]

• SQLite - компактная встраиваемая реляционная база данных. SQLite не использует парадигму клиент-сервер, вследствие чего уменьшаются накладные расходы и время отклика.[10]

Системные характеристики компьютера и используемое программное обеспечение:

• Операционная система: Windows 8.1 professional

• Процессор: Intel Core i7-4770K CPU @ 3.50GHz

• ОЗУ: 16 GB

• Web сервер: Apache

• Драйвер базы данных: MySQL, PgSQL, SqLite

• Используемый фреймворк: PHP Laravel framework

• Составление запросов: Query builder

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

Запрос 1. SELECT title , author' FROM Posts' (вывод всех записей двух столбцов таблицы Posts);

Запрос 2. SELECT * FROM 'Posts' WHERE 'author' = 'name' (вывод всех столбцов таблицы Posts, при условии, что имя автора известно);

Запрос 3. SELECT * FROM 'Posts' WHERE 'created_at' BETWEEN '2014-01-01 00:00:00' AND '2015-01-01 00:00:00' (вывод всех столбцов таблицы Posts за заданный интервал дат);

Запрос 4. INSERT INTO 'Posts' VALUES (title, author, text, datetime, datetime) (добавить записи в таблицу Posts);

Запрос 5. UPDATE 'Posts' SET author=new_author WHERE id=random int (обновить записи в таблице Posts указанного атрибута).

Для экспериментов в базе данных создана таблица Posts (таблица №1):

Таблица №1

Физическая модель таблицы Posts в базе данных

Наименование атрибутов Id Title author content created_at updated_at

Типы данных int varchar varchar text timestamp timestamp

Размерность 10 255 100 0000-00-00 00:00:00 0000-0000 00:00:00

Результаты исследования скорости выполнения вышеуказанных запросов приведены на рисунках 1 -5.

Скорость выполнения первого запроса драйверами базы данных MySQL, PgSQL и SqLite показана на рис. 1.

Рис. 1. - График запроса № 1

Расчет среднего времени выполнения первого запроса составил:

• MySQL: 1,62039;

• PgSQL: 0,19745;

• SqLite: 0, 25381.

Скорость выполнения второго запроса драйверами базы данных MySQL, PgSQL и SqLite показана на рис. 2.

Запрос 2

1,8 1,6 1,4 1,2 | 1 I

ш

m 0,8 0,6 0,4

0,2

0 *

1

Рис. 2. - График запроса № 2

Среднее время выполнения запроса № 2 составил:

• MySQL: 1,36744;

• PgSQL: 0,0532;

• SqLite: 0,012357.

^орость выполнения третьего запроса драйверами базы данных MySQL, PgSQL и SqLite показана на рис. 3.

и

Рис. 3. - График запроса № 3

Среднее время выполнения запроса № 3 соствил

• MySQL: 1,42113;

• PgSQL: 0,06098;

• SqLite: 0, 21859.

График выполнения четвертого запроса приведен на рисунке 4.

Запрос 4

0,7 0,6

0,5

гг 0,4

ж

m 0,3 0,2 0,1 0

> Г4!—Г Щ 1 ! Т

•MySQL • PgSQL SqLite

5 6 7 8 Количество попыток

10

Рис. 4. - График запроса № 4

Среднее время выполнения запроса № 4 составил

• MySQL: 0,12844;

• PgSQL: 0,03248;

• SqLite: 0, 09368.

На рис. 5 изображен график, отображающий скорость выполнения пятого запроса драйверами базы данных MySQL, PgSQL и SqLite.

Рис. 5. - График запроса № 5

Среднее время выполнения запроса № 5 составил

• MySQL: 0,10137;

• PgSQL: 0,03081;

• SqLite: 0, 10875.

Результаты экспериментов представлены в общей таблице №2.

Таблица №2

Сравнительная таблица производительности драйверов СУБД

СУБД Запрос 1 Запрос 2 Запрос 3 Запрос 4 Запрос 5

MySQL 1,62039 1,36744 1,42113 0,12844 0,10137

PgSQL 0,19745 0,0532 0,06098 0,03248 0,03081

SqLite 0,25381 0,012357 0,21859 0,09368 0,10875

Анализ результатов экспериментального исследования скорости выполнения типовых запросов системами управления базами данных показал следующее.

1) СУБД MySQL , которая является самой популярной базой данных с открытым исходным кодом, при работе с большим количеством информации показал низкую производительность;

2) Среднее время выполнении запроса на обновление данных в таблице в СУБД SqLite оказалось больше, чем в MySQL;

3) Самой эффективной системой управления базами данных при работе с таблицей, вмещающей в себя большое количество данных, оказалась PgSQL.

Литература

1. Файзрахманов Р.А., Темичев А.А. Интеллектуализация процесса оценки производительности систем мониторинга. // Актуальные вопросы образования и науки сборник научных трудов по материалам Международной научно-практической конференции: в 11 частях. 2014. С. 136-138.

2. Дейт, К.Дж. Введение в системы баз данных, 8-е издание: Пер. с англ. - М: Изд. дом «Вильямс», 2005. - 1328с.

3. Гладков В.П. К вопросу о классификации тернарных связей. // Электротехника, информационные технологии, системы управления: сб. науч. тр. № 4 - Пермь: Изд-во Перм. гос. техн. ун-та, 2010. С. 34-38.

4. Файзрахманов Р.А., Архипов А. В. Проектирование автоматизированных информационных систем на основе объектно ориентированного подхода. // Учебное пособие. М-во образования и науки Российской Федерации, Гос. образовательное учреждение высш. проф. образования "Пермский гос. технический ун-т". Пермь, 2011. - 222с.

5. Shah A., Farooq A., Ahsan S. An Efficient Algorithm for Transforming XML Schema into Relational Schema. // Journal of American Science. 2010; 6(11) pp. 24-37.

URL:jofamericanscience.org/journals/amsci/am0611/04_2785am0611_24_37.pdf

6. Huda Abdalslam, Banour, Iraky Hussein Khalifaand, Mohamed Hassan Haggag. Spatial web search with Semantic Web Technology. Life Sci J 2013; 10(1):2926-2933.

URL: lifesciencesite.com/lsj/life1001/356_16374life1001_2926_2933.pdf

7. Manal Elobaid, Kauser Hameed, Moawia Elfaki Yahia Eldow. Toward Designing and Modeling of Quran Learning Applications for Android Devices. Life Science Journal 2014; 11(1): 160-171. URL: lifesciencesite.com/lsj/life1101/025_20725life1101_160_171.pdf

8. Галушка В.В., Молчанов А.А., Фатхи В.А. Применение многослойных радиально-базисных нейронных сетей для верификации реляционных баз данных. // Инженерный вестник Дона. 2012. №1. URL: ivdon.ru/ru/magazine/archive/n1y2012/686

9. Ehsan Azizi Khadem, Emad Fereshteh Nezhad. Using Fusion for solving heterogeneity and incompleteness of information in Big Data. Nature and Science

2014;12(12):100-103.URL:

sciencepub.net/nature/ns1212/015_24490ns121214_100_103.pdf

10. Ольховик О. В., Белых А. В. Визуально-декларативный язык для проектирования автоматизированных информационных систем// Инженерный вестник Дона. 2009. №4. URL:

ivdon.ru/ru/magazine/archive/n4y2009/162

References

1. Fayzrakhmanov R.A., Temichev A.A. Intellektualizacija processa ocenki proizvoditel'nosti sistem monitoringa. Aktual'nye voprosy obrazovanija i nauki sbornik nauchnyh trudov po materialam Mezhdunarodnoj nauchno-prakticheskoj konferencii: v 11 chastjah. 2014. pp. 136-138.

2. Dejt, K.Dzh. Vvedenie v sistemy baz dannyh [Introduction to Database Systems], 8-e izdanie: Per. s angl. M.:Izd. dom «Vil'jams», 2005. 1328p.

3. Gladkov V.P. K voprosu o klassifikacii ternarnyh svjazej. Jelektrotehnika, informacionnye tehnologii, sistemy upravlenija: sb. nauch. tr. № 4.Perm': Izd-vo Perm. gos. tehn. un-ta, 2010.

4. Fayzrakhmanov R.A., Arhipov A. V. Proektirovanie avtomatizirovannyh informacionnyh sistem na osnove obektno orientirovannogo podhoda [Design of automated information systems based on object oriented approach]. Uchebnoe posobie. M-vo obrazovanija i nauki Rossijskoj Federacii, Gos. obrazovatel'noe uchrezhdenie vyssh. prof. obrazovanija "Permskij gos. tehnicheskij un-t". Perm', 2011.

5. Shah A., Farooq A., Ahsan S. An Efficient Algorithm for Transforming XML Schema into Relational Schema. URL: jofamericanscience.org/journals/am-sci/am0611/04_2785am0611_24_37.pdf

6. Huda Abdalslam, Banour, Iraky Hussein Khalifaand, Mohamed Hassan Haggag. URL: lifesciencesite.com/lsj/life1001/356_16374life1001_2926_2933.pdf

7. Manal Elobaid, Kauser Hameed, Moawia Elfaki Yahia Eldow. Toward Designing and Modeling of Quran Learning Applications for Android Devices. URL: lifesciencesite.com/lsj/life1101/025_20725life1101_160_171.pdf

8. Galushka V.V., Molchanov A.A., Fathi V.A. Primenenie mnogoslojnyh radial'no-bazisnyh nejronnyh setej dlja verifikacii reljacionnyh baz dannyh. Inzenernyj vestnik Dona (Rus). 2012. №1. URL: ivdon.ru/ru/magazine/archive/n1y2012/686

9. Ehsan Azizi Khadem, Emad Fereshteh Nezhad. Using Fusion for solving heterogeneity and incompleteness of information in Big Data. URL: sciencepub.net/nature/ns1212/015_24490ns121214_100_103.pdf

10. Ol'hovik O. V., Belyh A. V. Vizual'no-deklarativnyj jazyk dlja proektirovanija avtomatizirovannyh informacionnyh system. Inzenernyj vestnik Dona (Rus). 2009. №4. URL: ivdon.ru/ru/magazine/archive/n4y2009/162