Е.А. Елисеева1, Б.С. Горячкин2, М.В. Виноградова3, М.В. Черненький4
1–3 Московский государственный технический университет им. Н.Э. Баумана (Москва, Россия)
Постановка проблемы. Для оценивания времени выполнения запросов к кластерным базам данных (БД): Neo4J, MongoDB, Cassandra, PostgreSQL был проведен эксперимент на операционной системе Ubuntu, работающей на базе virtual box на windows с разворачиваем кластера БД на нескольких серверах, где сервер-мастер (master) выполнял операции на запись данных и передавал сформированные изменения другим серверам, а реплики (slave) производили чтение информации из БД, оптимизируя нагрузку между серверами.
Цель. Исследовать производительность систем управления базами данных (СУБД), оцениваемую по времени выполнения запросов к кластерным БД; на основе полученных данных сформировать аналитические зависимости.
Результаты. Экспериментальная БД содержала три сущности: пользователь (User), права пользователя (UserPermit) и научные статьи (ScientificArticles). Сущности заполнялись строками в диапазоне от 1 до 300000 значений. Для определения времени выполнения запросов были выбраны два вида запроса на вставку данных (простая и сложная), а также два вида запросов на чтение данных (1 – простая и 2 – сложная). В запросе № 1 (простая вставка) с небольшим числом данных (до 1000 строк) наиболее производительна оказалась СУБД Cassandra. При добавлении больших объемов данных (более 1000 строк) лучшие результаты показала СУБД MongoDB. В запросе № 2 (простое чтение) до 1000 строк выиграла СУБД MongoDB, а при чтении более 1000 строк данных первенство взяла СУБД PostgreSQL. В запросе № 3 (сложная вставка) СУБД Cassandra и MongoDB показали схожие результаты с запросом № 1. Однако в отличие от простой вставки, в сложной добавлялась не одна строка данных в сущность User, а четыре с повторяющимся полем user_permit при выполнении одного запроса. В запросе № 4 (сложное чтение) происходила выборка данных по всем полям с запросами к таблицам User, UserPermit и ScientificArticles и отбор пользователей по адресу и последующее получение от таких пользователей всех прав доступа и научных статей. В итоге при большой выборке выявить явного лидера оказалось затруднительно, но при сокращении числа строк до 100 СУБД Cassandra демонстрировала лучшее время запроса.
По запросам на сложное чтение и вставку данных были сформированы аналитические зависимости, которые также были экспериментально проверены и подтверждены с погрешностью от 0,16 до 32%.
Практическая значимость. В результате данного исследования выработаны рекомендации по выбору СУБД для организации хранилища информационных материалов на основе времен выполнения запросов к ним.
Елисеева Е.А., Горячкин Б.С., Виноградова М.В., Черненький М.В. Оценка времени выполнения поисковых запросов в NoSQL и объектно-реляционной базах данных // Динамика сложных систем. 2022. Т. 23. № 2. С. 44−51. DOI: 10.18127/j19997493-202202-05
- Горячкин Б.С. Эргономический анализ систем обработки информации и управления // Вестник евразийской науки. 2017.
Т. 9. № 3. C. 72. - Орлов С.А. Технологии разработки программного обеспечения. СПб.: Питер. 2002.
- Виноградова М.В., Белоусова В.И. Унифицированный процесс разработки программного обеспечения. М.: МГТУ им. Н.Э. Баумана. 2015.
- Виноградова М.В., Анисимов Н.А. Установка и настройка кластера Hadoop на базе контейнерной виртуализации LXC // Инженерный вестник. 2015. № 4.
- Григорьев Ю.А., Плутенко А.Д., Плужникова О.Ю. Реляционные базы данных и системы NoSQL. Амурский гос. ун-т. 2018.
- Григорьев Ю.А. Оценка времени выполнения SQL-запросов к базам данных // Машиностроение и компьютерные технологиb. 2012. № 01.
- Григорьев Ю.А., Ермаков Е.Ю. Анализ времени выполнения запроса в параллельном колоночном хранилище данных // Инженерный журнал: наука и инновации. 2013. № 11 (23).
- Ермаков Е.Ю. Математическая модель времени выполнения запроса в параллельном колоночном хранилище данных и пример ее использования // Современные информационные технологии и ИТ-образование. 2013. № 9.
- Григорьев Ю.А., Ермаков Е.Ю. Сравнение процессов обработки запроса к одной таблице в параллельной строчной и колоночной системе баз данных // Инженерный журнал: наука и инновации. 2012. № 3 (3).
- Ермаков Е.Ю. Математическая модель времени выполнения запроса в параллельном колоночном хранилище данных и пример ее использования // Современные информационные технологии и ИТ-образование. 2013. № 9.
- Григорьев Ю.А., Плужников В.Л. Алгоритм выбора архитектуры параллельной системы баз данных по критерию стоимости // Машиностроение и компьютерные технологии. 2011. № 12.
- Данилов А.М., Гарькина И.А. Интерполяция, аппроксимация, оптимизация: анализ и синтез сложных систем. Пенза: ПГУАС. 2014.
- Онлайн калькуляторы PLANETCALC. URL: https://planetcalc.ru/5992/? (дата обращения: 01.04.2022).