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

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

CC BY
491
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВРЕМЯ ВЫПОЛНЕНИЯ ЗАПРОСА / СУБД / ГРАФОВАЯ БАЗА ДАННЫХ / NEO4J / ДОКУМЕНТНАЯ БАЗА ДАННЫХ / MONGODB / КОЛОНОЧНАЯ БАЗА ДАННЫХ / CASSANDRA / ОБЪЕКТНО-РЕЛЯЦИОННАЯ БАЗА ДАННЫХ / POSTGRESQL

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

В данной работе производительность СУБД оценивалась с помощью времени выполнения запроса на примере выполнения четырех запросов в СУБД, где присутствует простая вставка (добавление n пользователей, n научных статьей и n прав пользователя), простое чтение (выборка всех пользователей, научных статей и прав доступа), сложная вставка ( генерация n пользователей, n прав доступа и n научных статьей, где на 10 пользователей одинаковые права будут иметь 4 пользователя, а одинаковый адрес 8 пользователей) и сложное чтение (поиск пользователей по адресу с последующим выводом также всех прав пользователя и научных статей). Для проведения эксперимента база данных наполнялась разным количеством записей (от 1 до 300000 строк данных) в соответствии с предметной областью «репозиторий информационных материалов библиотеки научных статей». Исследование проводилось в документной (MongoDB), графовой (Neo4J), колоночной (Cassandra) и объектно-реляционной (PostgreSQL) системах управления базами данных. Таким образом, используя результаты данного исследования, можно подобрать оптимальную СУБД для работы с репозиторием информационных материалов и оценить время выполнения запроса с учётом возможностей восприятия зрительного анализатора человека.

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

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

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

PERFORMANCE RESEARCH OF CONTROL SYSTEM CLUSTER DATABASE BASED ON ERGONOMIC ANALYSIS

In this article, research performance of control system cluster database evaluated by time of lasting query as in case of four types queries to DBMS: simple insert (adding n users, n articles, n users rights), simple reading ( all users, all articles, all users rights), complex insert (generation of users, users rights, n articles - every 10 users have equal four users rights and equal link address 8 users), complex reading (search users by link address for displaying users, articles, users rights). In the experiment DB filled the range is the difference between 1 and 300 000 values in a set of numbers depend on subdiscipline of digital library and archives. The research based on document (MongoDB), graph (Neo4J), columnar (Cassandra) and object-relational (PostgreSQL) DBMS. Therefore, the result of this study will help to choose the optimal DBMS for working with the repository of information materials and estimate the time for executing a query with possibility perception of the human visual analyzer.

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

Научная статья Original article УДК 004.657

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

PERFORMANCE RESEARCH OF CONTROL SYSTEM CLUSTER DATABASE BASED ON ERGONOMIC ANALYSIS

Елисеева Елизавета Алексеевна, студент магистратуры, кафедра «Системы обработки информации и управления», Московский государственный технический университет им. Н.Э. Баумана (105005, Россия, Москва, 2-я Бауманская ул., д. 5), тел. 8(499) 263-60-42, eliseeva.ea@outlook.com Горячкин Борис Сергеевич, кандидат технических наук, доцент, кафедра «Системы обработки информации и управления», Московский государственный технический университет им. Н.Э. Баумана (105005, Россия, Москва, 2-я Бауманская ул., д. 5), тел. 8(499) 263-60-42, bsgor@mail.ru Виноградова Мария Валерьевна, кандидат технических наук, доцент, кафедра «Системы обработки информации и управления», Московский государственный технический университет им. Н.Э. Баумана (105005, Россия, Москва, 2-я Бауманская ул., д. 5), тел. 8(499) 263-60-42, vinogradova.m@bmstu.ru

Elizabeth A. Eliseeva, Master's Degree student, department «Information processing and management systems», Bauman Moscow State Technical University

2888

(bld. 5, 2nd Bauman Str., Moscow, 107005, Russia), tel. 8(499) 263-60-42, eliseeva.ea@outlook.com

Boris S. Goryachkin, Cand. of Sci. (Computer Sciences), docent, department «Information processing and management systems», Bauman Moscow State Technical University (bld. 5, 2nd Bauman Str., Moscow, 107005, Russia), tel. 8(499) 263-60-42, bsgor@mail.ru

Maria V. Vinogradova, Cand. of Sci. (Computer Sciences), docent, department «Information processing and management systems», Bauman Moscow State Technical University (bld. 5, 2nd Bauman Str., Moscow, 107005, Russia), tel. 8(499) 263-60-42, vinogradova.m@bmstu.ru

Аннотация В данной работе производительность СУБД оценивалась с помощью времени выполнения запроса на примере выполнения четырех запросов в СУБД, где присутствует простая вставка (добавление n пользователей, n научных статьей и n прав пользователя), простое чтение (выборка всех пользователей, научных статей и прав доступа), сложная вставка ( генерация n пользователей, n прав доступа и n научных статьей, где на 10 пользователей одинаковые права будут иметь 4 пользователя, а одинаковый адрес 8 пользователей) и сложное чтение (поиск пользователей по адресу с последующим выводом также всех прав пользователя и научных статей). Для проведения эксперимента база данных наполнялась разным количеством записей (от 1 до 300000 строк данных) в соответствии с предметной областью «репозиторий информационных материалов библиотеки научных статей». Исследование проводилось в документной (MongoDB), графовой (Neo4J), колоночной (Cassandra) и объектно-реляционной (PostgreSQL) системах управления базами данных. Таким образом, используя результаты данного исследования, можно подобрать оптимальную СУБД для работы с репозиторием информационных материалов

2889

и оценить время выполнения запроса с учётом возможностей восприятия зрительного анализатора человека.

Abstract. In this article, research performance of control system cluster database evaluated by time of lasting query as in case of four types queries to DBMS: simple insert (adding n users, n articles, n users rights), simple reading ( all users, all articles, all users rights), complex insert (generation of users, users rights, n articles - every 10 users have equal four users rights and equal link address 8 users), complex reading (search users by link address for displaying users, articles, users rights). In the experiment DB filled the range is the difference between 1 and 300 000 values in a set of numbers depend on subdiscipline of digital library and archives. The research based on document (MongoDB), graph (Neo4J), columnar (Cassandra) and object-relational (PostgreSQL) DBMS. Therefore, the result of this study will help to choose the optimal DBMS for working with the repository of information materials and estimate the time for executing a query with possibility perception of the human visual analyzer.

Ключевые слова: время выполнения запроса, СУБД, графовая база данных, Neo4j, документная база данных, MongoDB, колоночная база данных, Cassandra, объектно-реляционная база данных, PostgreSQL Keywords: run time, BDMS, document DB, MongoDB, graph DB, Neo4j, Columnar DB, Cassandra, object-relational DB, PostgreSQL

Введение

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

2890

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

Постановка задачи

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

Исследование производительности СУБД при работе с кластерными базами данных будет проводиться для документной (MongoDB), графовой (Neo4J), колоночной (Cassandra) и объектно-реляционной (PostgreSQL) баз данных.

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

В данном исследовании в качестве анализируемого параметра будет рассмотрено время выполнения запроса.

Приведем классификацию типов запросов к базе данных:

1. Запросы на выборку данных с фильтрацией по одному или нескольким полям;

2. Запросы к одной или нескольким таблицам;

3. Запрос с вложенными подзапросами или без них;

2891

4. Запросы на поиск, добавление, изменение или удаление данных;

5. Наличие или отсутствие индексов;

6. Использование в запросе функций или их отсутствие;

7. Рекурсивный запрос или не рекурсивный.

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

Алгоритм проведения исследования производительности СУБД при работе с кластерными БД на основе эргономического анализа:

1. Создание хранилища данных. Для проведения эксперимента база данных будет наполняться разным количеством записей в соответствии с предметной областью.

2. Выполнение ряда запросов на чтение и запись данных. На данном этапе получаем экспериментальное время выполнения запроса.

3. Получение теоретического (расчётного) времени выполнения запроса. Данный показатель будет зависеть от времени передачи запроса от приложения к БД, времени диспетчерской работы сервера и времени выполнения запроса сервером.

5. Проведение эргономического анализа времени выполнения запроса с учётом характеристик зрительного анализатора человека-оператора.

Описание проведения эксперимента

Для проведения эксперимента была создана база данных, в которой определены сущности пользователь (User), права пользователя (UserPermit) и научные статьи (ScientificArticles). Сущность пользователь содержит в себе такие атрибуты как: первичный ключ, имя, фамилия, должность, отдел, адрес

2892

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

Один сервер, как правило, не справляется с имеющейся нагрузкой, так как основная часть запросов идет на чтение базы данных [Орлов 2002]. В такой ситуации применяют кластерные СУБД и создают кластер БД на нескольких серверах, один из которых объявляют мастером (master), а остальные репликами (slave).

Сервер (master), являющийся мастером, будет заниматься записью данных и передачей сформированных изменений репликам. Чтение данных будет выполнено из реплик (slave), создавая баланс нагрузки между ними, тем самым уменьшая нагрузку на каждую их них и сокращая время отклика.

На рис. 1 приведем упрощенную схему системы кластерных баз данных с тремя серверами (один master и два slave).

Рис. 1. Упрощенная схема системы кластерных баз данных

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

2893

Эксперимент проводится на операционной системе ubuntu, работающей на базе virtual box на windows. Объем оперативной памяти, выделенной для операционной системы, 4096 МБ. Вся работа происходит на базе 4 ядерного процессора Intel(R) Core (TM) i3-10100F CPU, работающего на тактовой частоте 3.6 GHz имеющего 6 МБ L3 кэша и оперативной памяти с тактовой частотой 2666 MHz, работающей в двухканальном режиме. В качестве хранилища будет использован SSD накопитель. Характеристики SSD на скорость чтения/записи будет показаны на рис. 2.

. CrystalDiskMark 3.0.4 >64 [Admin] — X

Файл Настройки Профиль Вид Справка Язык(1_апдиаде)

AU 5 - IGiB - С: 37% (176/476GiB) - MB/s -

Read (MB/s) Write (MB/s)

5EQ1M 556.13 325.32

Q&T1

SEQIM 539.99 472.94

Q1T1

RND4K 197.88 251.50

Q32T1

RND4K ^m 31.77 88.61

Q1T1

Рис. 2. Характеристика SSD накопителя

Для проведения экспериментов рассмотрим четыре БД, работающих под управлением документной (MongoDB), графовой (Neo4J), колоночной (Cassandra) и объектно-реляционной (PostgreSQL) СУБД. В каждой из них создадим по три коллекции (для MongoDB и Neo4J) или по три таблицы (для PostgreSQL и Cassandra) - права пользователя (UserPermit), пользователь (User) и научные статьи (ScientificArticles). Далее для универсальности использования терминов и коллекцию, и таблицу будет называть таблицами. Таблицы в разных экспериментах будут содержать 1, 10, 100, 1000, 10000,

2894

100000 и 300000 записей при чтении и такое же число записей при добавлении данных, не считая операций сложной вставки [Виноградова, Белоусова 2015].

Рассмотрим обработку запроса №21 (простая вставка) для четырех СУБД. В запросе присутствует добавление данных в три таблицы, а вложенные подзапросы, индексы, функции и рекурсия отсутствуют.

На рис. 3 и 4 показана зависимость экспериментального времени выполнения запроса №1 (простая вставка) от числа строк в таблице и вида СУБД.

Рис. 3. Зависимость экспериментального времени выполнения запроса №1 (простая вставка) от числа строк в таблицах и вида СУБД

2895

Рис. 4. Зависимость экспериментального времени выполнения запроса №1 (простая вставка) от числа строк в таблицах и вида СУБД

При выполнении простой вставки (одинаковое число записей вставляются в каждую таблицу) самое наибольшее время выполнения запроса у СУБД Neo4J (графическая БД). Если рассматриваемая задача будет требовать выполнения преимущественно операций вставки данных, то при небольших объемах (вставка 1-100 строк данных) предпочтительнее использовать СУБД Cassandra. Если объемы добавления данных большие (более 1000 строк данных), то существенно меньшее время выполнения запроса у СУБД MongoDB.

Далее рассмотрим обработку запроса №2 (простое чтение) в четырёх СУБД. В запросе присутствует выборка данных по всем полям и запрос обращен к трем таблицам (User, UserPermit и ScientificArticles), а вложенные подзапросы, индексы, функции и рекурсия отсутствуют.

2896

На рис. 5 и 6 показаны зависимости экспериментального времени выполнения запроса №2 (простое чтение) от числа строк в таблицах и вида СУБД.

Рис. 5. Зависимость экспериментального времени выполнения запроса №2 (простое чтение) от числа строк в таблицах и вида СУБД

а

80000,0

>

3 5 о г

с" 40000,0

30000,0

20000,0

/ Т /_______

х / / / /

/ /

100000 150000 200000 250000

N строк в таблице User

* Neo4J ■ mongoDB > PostgreSQL » Cassandra

Рис. 6. Зависимость экспериментального времени выполнения запроса №2 (простое чтение) от числа строк в таблицах и вида СУБД

2897

При выполнении простого чтения (считываются все записи имеющиеся во всех сущностях БД) самое наибольшее время выполнения запроса у СУБД Neo4J (графовая БД), как и в случае выполнения операций простой вставки данных (запрос №1). В случае решения задачи, где требуется частый просмотр всех данных имеющихся в БД и их дальнейший анализ, наиболее высокую производительность показывает СУБД PostgreSQL (чтение более 1000 строк) , а для задач, где из БД требуется отразить до 100 строк данных наименьшее время выполнения запроса у СУБД MongoDB.

Рассмотрим обработку запроса №3 (сложная вставка) в четырёх СУБД. В таком запросе присутствует добавление данных по всем полям и запрос обращен к трем таблицам (User, UserPermit и ScientificArticles), а вложенные подзапросы, индексы, функции и рекурсия отсутствуют. Отличие от запроса №1 (простая вставка) в добавлении в таблицу User не одной, а четырех записей с повторяющимся полем user_permit при выполнении одного запроса. Одинаковые значения полей address будут у 80% записей таблицы User. Например, на 10 пользователей одинаковые права будут иметь 4 пользователя, а одинаковый адрес 8 пользователей.

На рис. 7 и 8 показана зависимость экспериментального времени выполнения запроса №3 (сложная вставка) от числа строк в таблицах и вида СУБД.

2898

Рис. 7. Зависимость экспериментального времени выполнения запроса №3 (сложная вставка) от числа строк в таблицах и вида СУБД

Рис. 8. Зависимость экспериментального времени выполнения запроса №3 (сложная вставка) от числа строк в таблицах и вида СУБД

2899

При выполнении операции сложной вставки (запрос №3), как и при операции простой вставки (запрос №1), лидирующими по производительности СУБД будут Cassandra и MongoDB. Графовая СУБД показывает максимальное время выполнения запроса, что в 400 раз больше, чем у документной СУБД.

Рассмотрим обработку запроса №24 (сложное чтение) в четырёх СУБД. В запросе присутствует выборка данных по всем полям и запрос обращен к трем таблицам (User, UserPermit и ScientificArticles), а вложенные подзапросы, индексы, функции и рекурсия отсутствуют. Будет производиться выборка пользователей с определенным адресом и последующем чтением всех прав доступа и научных статьей у таких пользователей.

На рис. 9 и 10 показана зависимость экспериментального времени выполнения запроса №4 (сложное чтение) от числа строк в таблицах и вида СУБД

Рис. 9. Зависимость экспериментального времени выполнения запроса №4 (сложное чтение) от числа строк в таблицах и вида СУБД

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

2900

Рис. 10. Зависимость экспериментального времени выполнения №4 (сложное чтение) от числа строк в таблицах и вида СУБД При выполнении запроса №4 (запрос выполняется по определенной выборке) можно сказать, что колоночная СУБД Cassandra наименее производительная и показывает максимальное время выполнения запроса.

Операции простой вставки и простого чтения не очень распространены в предметной области «репозиторий информационных материалов библиотеки научных статей», поэтому рассмотрим какая СУБД показывает минимальное время выполнения запроса при сложной вставке и чтении. При выполнении запроса №3 по сложной вставке минимальное время получается у СУБД MongoDB, а по операции сложного чтения в запросе №4 минимальное время у объектно-реляционной СУБД Neo4J.

Проведем эргономический анализ времени выполнения запроса с учётом характеристик зрительного анализатора человека-оператора [Горячкин 2017].

В качестве характеристик зрительного анализатора человека-оператора будет рассматривать время зрительной фиксации (для простых фигур и для ознакомления с ситуацией) — tфикс , время сохранения зрительного ощущения

2901

(инерция зрения) — ¿ин и время зрительного восприятия — ¿воспр. На рис. 11 приведем графически характеристики зрительного анализатора-человека-оператора [Горячкин 2017].

Рис. 11. Графическое представление характеристик зрительного анализатора

человека-оператора

В табл. 1-4 сведем значения ^апроса, ¿фикс , ¿ин и ¿воспр по четырём СУБД для запросов №3 и №4, как для наиболее часто используемых.

Таблица 1

Сравнительная таблица £запроса Для запроса №3 (сложная вставка), ¿фикс , ¿ин и ¿воспр по СУБД

Мо^оБВ и №041

СУБД Мо^оБВ СУБД №о41

^запроса , сек ^фикс,сек ¿ин , сек ^воспр , сек ^запроса,, сек ^фикс , сек ¿ин , сек ^воспр , сек

0,0517 0,2 0,65 0,1 0,2 0,95 0,2657 0,2 0,65 0,1 0,2 0,95

0,0517 0,2 0,65 0,1 0,2 0,95 2,4787 0,2 0,65 0,1 0,2 0,95

2902

0,2513 0,2 0,65 0,1 0,2 0,95 4,0170 0,2 0,65 0,1 0,2 0,95

0,3043 0,2 0,65 0,1 0,2 0,95 14,7493 0,2 0,65 0,1 0,2 0,95

0,634 0,2 0,65 0,1 0,2 0,95 104,853 3 0,2 0,65 0,1 0,2 0,95

4,2477 0,2 0,65 0,1 0,2 0,95 1135,92 0,2 0,65 0,1 0,2 0,95

6,5143 0,2 0,65 0,1 0,2 0,95 1900,52 6 0,2 0,65 0,1 0,2 0,95

12,993 0,2 0,65 0,1 0,2 0,95 4919,15 0 0,2 0,65 0,1 0,2 0,95

Таблица 2

Сравнительная таблица £запроса Для запроса №3 (сложная вставка), ¿фикс , ¿ин и tBOCnp по СУБД

Cassandra и PostgreSQL

СУБД Cassandra СУБД PostgreSQL

^запроса , сек ^фикс,сек ¿ин , сек ^воспр , сек ^запроса , сек ^фикс,сек ¿ин , сек ^воспр , сек

0,0157 0,2 0,65 0,1 0,2 0,95 0,0293 0,2 0,65 0,1 0,2 0,95

0,0507 0,2 0,65 0,1 0,2 0,95 0,058 0,2 0,65 0,1 0,2 0,95

0,309 0,2 0,65 0,1 0,2 0,95 0,46 0,2 0,65 0,1 0,2 0,95

0,4657 0,2 0,65 0,1 0,2 0,95 1,272 0,2 0,65 0,1 0,2 0,95

0,5443 0,2 0,65 0,1 0,2 0,95 4,3477 0,2 0,65 0,1 0,2 0,95

14,6297 0,2 0,65 0,1 0,2 0,95 173,109 0,2 0,65 0,1 0,2 0,95

46,1413 0,2 0,65 0,1 0,2 0,95 345,4493 0,2 0,65 0,1 0,2 0,95

97,9967 0,2 0,65 0,1 0,2 0,95 806,3543 0,2 0,65 0,1 0,2 0,95

Таблица 3

2903

Сравнительная таблица ¿запроса для запроса №4 (сложное чтение), ¿фикс , ¿ин и ¿В0ОТр по СУБД

MongoDB и Neo4J

СУБД MongoDB СУБД Neo4J

^запроса, сек ^фикс,сек ¿ин , сек ^воспр , сек ^запроса, сек ^фикс,сек ¿ин , сек ^воспр сек

0,036 0,2 0,65 0,1 0,2 0,95 0,031 0,2 0,65 0,1 0,2 0,95

0,0433 0,2 0,65 0,1 0,2 0,95 0,0893 0,2 0,65 0,1 0,2 0,95

0,151 0,2 0,65 0,1 0,2 0,95 0,222 0,2 0,65 0,1 0,2 0,95

0,4113 0,2 0,65 0,1 0,2 0,95 0,3373 0,2 0,65 0,1 0,2 0,95

1,425 0,2 0,65 0,1 0,2 0,95 2,4553 0,2 0,65 0,1 0,2 0,95

9,452 0,2 0,65 0,1 0,2 0,95 8,9607 0,2 0,65 0,1 0,2 0,95

16,070 0,2 0,65 0,1 0,2 0,95 12,373 0,2 0,65 0,1 0,2 0,95

27,280 0,2 0,65 0,1 0,2 0,95 18,653 0,2 0,65 0,1 0,2 0,95

Таблица 4

Сравнительная таблица £запроса Для запроса №4 (сложное читение), ¿фикс , tHH и tBOCnp по СУБД

Cassandra и PostgreSQL

СУБД Cassandra СУБД PostgreSQL

^запроса , сек ^фикс,сек ¿ин , сек ^воспр , сек ^запроса , сек ^фикс,сек ¿ин , сек ^воспр , сек

0,0233 0,2 0,65 0,1 0,2 0,95 0,026 0,2 0,65 0,1 0,2 0,95

0,0297 0,2 0,65 0,1 0,2 0,95 0,0477 0,2 0,65 0,1 0,2 0,95

0,0707 0,2 0,65 0,1 0,2 0,95 0,2593 0,2 0,65 0,1 0,2 0,95

0,3717 0,2 0,65 0,1 0,2 0,95 0,3793 0,2 0,65 0,1 0,2 0,95

2904

0,872 0,2 0,65 0,1 0,2 0,95 1,1617 0,2 0,65 0,1 0,2 0,95

5,4153 0,2 0,65 0,1 0,2 0,95 4,960 0,2 0,65 0,1 0,2 0,95

15,5727 0,2 0,65 0,1 0,2 0,95 7,4563 0,2 0,65 0,1 0,2 0,95

58,2007 0,2 0,65 0,1 0,2 0,95 24,3363 0,2 0,65 0,1 0,2 0,95

Легенда к табл. 1-4:

- Ячейка, где ¿фикс , ¿ин и ¿воспр больше ¿запроса .

- Ячейка, где ¿фикс , ¿ин и ¿воспр меньше ¿запроса .

Исходя из полученный значений табл. 1-4, можно сделать следующие выводы:

1. В диапазоне до 10 строк все СУБД, кроме Neo4J справились с задачей по вставке данных примерно равнозначно. Графовая СУБД в 50 раз дольше выполняла запрос, на что повлияли особенности данной БД, также отметим, что у этой БД tфикс не входит в допустимый диапазон зрительного первичного ознакомления с ситуацией (предварительная оценка структуры представляемой информации - узлов и графов). По операции чтения все СУБД показали примерно одинаковые результаты и вошли в допустимый диапазон зрительного ознакомления с ситуацией [Горячкин 2017].

2. В диапазоне до 100 строк по операциям вставки СУБД Cassandra и MongoDB в 16 раз быстрее графовой СУБД и в 1,5 раза быстрее объектно-реляционной СУБД. Во всех последующих запросах на вставку графовая СУБД за счет визуализации данных в виде графов будет показывать большие значения времени выполнения запроса. По чтению данных лучшие показатели времени у СУБД Cassandra и Neo4J. Все СУБД выполняют запросы на порядок быстрее, чем человек может воспринять информацию, что говорит о равнозначности всех четырёх СУБД для человека.

3. В диапазоне от 100 до 1000 строк на операцию вставки успешнее всех выполняют СУБД Cassandra и MongoDB. СУБД PostgreSQL показывает время немногим меньше, чем два времени восприятии. СУБД Neo4J во много раз

2905

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

4. В диапазоне от 1000 до 10000 строк СУБД MongoDB и Cassandra по вставке данных равнозначны, т.к. входят в диапазон времени зрительного восприятия (0,9<1запроса<0,95). СУБД Neo4J показывает во много раз хуже результат по сравнению с другими БД. При запросе №4 самый лучший результат у СУБД Cassandra и время восприятия зрительного восприятия даже больше, чем время выполнения запроса.

5. В диапазоне от 10000 до 100000 строк по чтению данных вне конкуренции СУБД PostgreSQL, а по вставке данных минимальное время у СУБД MongoDB. Несмотря на наилучшие результаты по времени выполнения запроса ни одна СУБД не проходит по характеристикам зрительного анализатора человека-оператора, что приводит к ожиданию информации от СУБД.

6. В диапазоне от 100000 до 300000 строк, как и в случае выше ни одна СУБД не проходит по характеристикам зрительного анализатора человека-оператора. Наилучшие результаты по чтению данных у СУБД Neo4J - 18 с, что в 3,2 раза превосходит колоночную СУБД, где время выполнения запроса составляет 58 с. При работе с большими объемами данных разница даже в 2 раза будет иметь существенное влияние на эффективность работы пользователя.

Направление дальнейших исследований

Дальнейшая работа по исследованию производительности кластеров БД будет заключаться в проведении дополнительных экспериментов для

2906

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

1. Скорость поиска информации;

2. Время выполнения операций импорта данных из других форматов;

3. Время генерации отчетов.

Заключение

В данной работе было проведено исследование производительности СУБД при работе с кластерными базами данных - документной (MongoDB), графовой (Neo4J), колоночной (Cassandra) и объектно-реляционной (PostgreSQL).

При больших объемах данных для операций вставки быстрее всего запросы выполняет документная СУБД - MongoDB. Операции чтения из БД быстрее всего выполняются в СУБД MongoDB (при просмотре всех данных в БД, что является не самым востребованным запросом при больших данных) и в СУБД Neo4J при сложной вставке, что является наиболее распространенным запросом при фильтрации по условию.

В работе был проведен эргономический анализ времени выполнения запроса с учётом характеристик зрительного анализатора человека-оператора. Полученные результаты показали, что в диапазоне до 100 строк по операциям вставки СУБД Cassandra и MongoDB в 16 раз быстрее графовой СУБД, но так как все СУБД выполняют запросы на порядок быстрее, чем человек может воспринять информацию, то можно сказать о равнозначности всех четырёх СУБД для человека. При работе с числом строк 1000 - 10 000 уже можно ориентироваться на важность для пользователя своевременного и быстрого вывода информации на экран и сравнивать время выполнения запроса со временем зрительной — ¿фикс , временем сохранения зрительного ощущения (инерция зрения) — ¿ин и временем зрительного восприятия — ¿воспр.

2907

Эргономический анализ при строках данных более 100 000 уже не дает

результатов, так как время выполнения запроса существенно превосходит все

рассматриваемые характеристики зрительного аппарата ЧО.

Литература

1. Горячкин Б.С. Эргономический анализ систем обработки информации и управления // Вестник евразийской науки. 2017. Т. 9. №3. C. 72.

2. Орлов С.А. Технологии разработки программного обеспечения. СПб.: Питер, 2002.

3. Виноградова М.В., Белоусова В.И. Унифицированный процесс разработки программного обеспечения. М.: МГТУ им. Н.Э. Баумана, 2015.

4. Виноградова М.В., Анисимов Н.А. Установка и настройка кластера Hadoop на базе контейнерной виртуализации LXC // Инженерный вестник. 2015. № 4.

5. Григорьев Ю.А., Плутенко А.Д., Плужникова О.Ю. Реляционные базы данных и системы NoSQL. Амурский гос. ун-т. 2018.

6. Григорьев Ю. А. Оценка времени выполнения SQL-запросов к базам данных // Машиностроение и компьютерные технологии. 2012. №01. URL: https://cyberlenmka.ru/article/n/otsenka-vremem-vypolnemya-sql-zaprosov-k-bazam-dannyh (дата обращения: 29.12.2021).

7. Григорьев Ю.А., Ермаков Е.Ю. Анализ времени выполнения запроса в параллельном колоночном хранилище данных // Инженерный журнал: наука и инновации. 2013. №11 (23). URL: https://cyberleninka.ru/article/n/analiz-vremeni-vypolneniya-zaprosa-v-parallelnom-kolonochnom-hranilische-dannyh (дата обращения: 29.12.2021).

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

8. Ермаков Е.Ю. Математическая модель времени выполнения запроса в параллельном колоночном хранилище данных и пример ее использования // Современные информационные технологии и ИТ-образование. 2013.

2908

№9. URL: https://cyberleninka.ru/article/n/matematicheskaya-model-vremeni-vypolneniya-zaprosa-v-parallelnom-kolonochnom-hranilische-dannyh-i-primer-ee-ispolzovaniya (дата обращения: 29.12.2021).

9. Григорьев Ю.А., Ермаков Е.Ю. Сравнение процессов обработки запроса к одной таблице в параллельной строчной и колоночной системе баз данных // Инженерный журнал: наука и инновации. 2012. №3 (3). URL: https://cyberleninka.ru/article/n/sravnenie-protsessov-obrabotki-zaprosa-k-odnoy-tablitse-v-parallelnoy-strochnoy-i-kolonochnoy-sisteme-baz-dannyh (дата обращения: 29.12.2021).

10. Ермаков Е.Ю. Математическая модель времени выполнения запроса в параллельном колоночном хранилище данных и пример ее использования // Современные информационные технологии и ИТ-образование. 2013. №9. URL: https://cyberleninka.ru/article/n7matematicheskaya-model-vremeni-vypolneniya-zaprosa-v-parallelnom-kolonochnom-hranilische-dannyh-i-primer-ee-ispolzovaniya (дата обращения: 29.12.2021).

11. Григорьев Ю. А., Плужников В. Л. Алгоритм выбора архитектуры параллельной системы баз данных по критерию стоимости // Машиностроение и компьютерные технологии. 2011. №12. URL: https://cyberleninka.ru/article/n/algoritm-vybora-arhitektury-parallelnoy-sistemy-baz-dannyh-po-kriteriyu-stoimosti (дата обращения: 29.12.2021).

References

1. Goryachkin, B.S. (2017), "Ergonomie analysis of information processing and control systems", Bulletin of Eurasian Science, vol. 9, no. 3, p. 72.

2. Orlov, S.A. (2002), Software development technologies [Software engineering], St. Petersburg, Russia.

3. Vinogradova, M.V. and Belousova, V.I. (2015), Unified software development process [Manual], Bauman Moscow State Technical University, Moscow, Russia

2909

4. Vinogradova, M.V. and Anisimov, N.A. (2015), Installing and configuring a Hadoop cluster based on LXC container virtualization, Engineering Bulletin, Moscow, no. 4, Russia.

5. Grigoriev, Yu.A. and Plutenko, A.D. and Pluzhnikova, O.Yu. (2018), Relational databases and NoSQL systems [Manual], Amur State University, Blagoveshchensk, Russia.

6. Grigoriev, Yu.A. (2012), Estimating the execution time of SQL queries to databases, Mechanical engineering and computer technologies, no. 1, Moscow, Russia.

7. Grigoriev, Yu.A. and Ermakov, E.Yu. (2013), Query Execution Time Analysis in a Parallel Columnar Data Warehouse, Engineering Journal Science and Innovations, no. 23, Moscow, Russia.

8. Ermakov, E.Yu. (2013) Mathematical Model of Query Execution Time in a Parallel Columnar Data Warehouse and an Example of Its Use, Modern Information Technologies and IT Education, no. 9, Moscow, Russia.

9. Grigoriev, Yu.A. and Ermakov, E.Yu. (2012) Comparison of query processing processes for a single table in a parallel row and column database system, Engineering Journal Science and Innovations, no. 3, Moscow, Russia.

10. Ermakov, E.Yu. (2013) Mathematical Model of Query Execution Time in a Parallel Columnar Data Warehouse and an Example of Its Use, Modern Information Technologies and IT Education, no. 9, Moscow, Russia.

11. Grigoriev, Yu.A. and Pluzhnikov, V.L. (2011) Algorithm for selecting the

architecture of a parallel database system based on the cost criterion,

Mechanical engineering and computer technology, no. 12, Moscow, Russia.

© Елисеева Е.А., Горячкин Б.С., Виноградова М.В., 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №4/2022.

Для цитирования: Елисеева Е.А., Горячкин Б.С., Виноградова М.В. ИССЛЕДОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ СУБД ПРИ РАБОТЕ С КЛАСТЕРНЫМИ БАЗАМИ ДАННЫХ НА ОСНОВЕ ЭРГОНОМИЧЕСКОГО АНАЛИЗА// Научно образовательный журнал для студентов и преподавателей «StudNet» №4/2022.

2910

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