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

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

CC BY
59
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SQL / NOSQL / REDIS / DATABASES / DBMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Красочкин С.Г.

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

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

FINDING THE PERFECT BALANCE BETWEEN QUERY PROCESSING SPEED AND SCALING RELATIONAL AND NON-RELATIONAL DATABASES

In this article, we have reviewed relational and non-relational databases, by analyzing their advantages and disadvantages. Next, we will analyze the use of the Redis DBMS as a balance between how fast queries are processed and scaling relational and non-relational databases. In the 21st century, all information and information-analytical systems need a database. These systems are engaged in processing, proofreading, recording those data sets that need ordering, structuring and subsequent storage. Each company has its own information system, which contains several data models. This is due to the fact that companies have to work with different directions, so they need diverse data manipulation. Usually, companies work with a relational database to work with tasks that require complete data consistency and transactional control, but all analytical, aggregated or metadata is contained in the NoSQL database. This separation exists in order for the final product to work most efficiently. Scientists have been studying NoSQL database management systems for a long time. However, as we can see, nowadays this topic remains poorly studied compared to systems that consist of traditional relational databases.

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

Нахождение идеального баланса между скоростью обработки запросов и масштабированием реляционных и нереляционных баз данных

Красочкин Сергей Геннадьевич

руководитель отдела разработки интеграций, компания «Xpate»

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

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

Ключевые слова: SQl, NoSQL, Redis, Databases, DBMS

Введение

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

В наше время появился довольно крупная платформа NoSql, который является конкурентом. Она состоит из кластеров обычных серверов. Как отмечают исследователи, его создание необходимо для того, чтобы обработка более крупных объемов данных стала возможной. Однако, как сейчас утверждают, данная платформа не заменит реляционные базы данных. [3]

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

Модель реляционных баз данных остается наиболее используемой из-за простоты своего интерфейса, даже несмотря на тот факт, что у нее имеются недостатки, такие как медленное функционирование. SQL не остается в стороне и тоже использует именно этот универсальный язык для того, чтобы работать с различными данными. Из-за этого, данный язык имеет ограничения: необходимо разместить все данные внутри таблиц, а затем их описать, только потому уже можно приступать к обработке этих данных.

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

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

Исходя из вышесказанного, можно сделать вывод о том, что Реляционная база данных (SQL) — это такая база, где все данные четко структурированы, оформлены в виде таблиц и имеют непосредственную связь между собой.[4] В данной таблице есть большое количество строк и столбцов. Одна

X X

о

го А с.

X

го m

о

м о м

CJ

строка выглядит как одна запись, столбец как поле с назначенным для строки типом данных, а в ячейках вся необходимая информация структурирована по шаблону (Рисунок 1).

инфраструктуры, базирующейся на Apache Hadoop, то лучше выбрать HBase, ведь она поможет производить работу со всеми данными, хранящимися в HDFS.

СО CS

0

CS

01

О Ш

m

X

<

m О X X

Продавцы

Код

Название Адрес Телефон Сайт

Товары

Код

Название

Прайс-лист

Код записи о Код продавца

Код изготовителя о— о Код товара Код модели о— Цена

Изготовители

о Код Название Страна Сайт

Модели

—о Код

Название —о Код изготовителя

Рис. 1. Пример SQL.

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

1. Линейная масштабируемость. Ее функция заключается в добавлении новых узлов в кластер, благодаря чему общая производительность всей системы увеличивается;

2. Гибкость. Она необходима для того, чтобы оперирование полуструктирированными данными стало возможным, а также чтобы, полнотекстовый поиск по базе смог производиться;

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

Масштабируемость NoSQL.

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

Нереляционные базы данных (NoSQL) — это такие базы данных, которые в основном хранят данные, не имеющие связей между собой и четкой структурированности (Рисунок 2). Обычно там хранятся различные разноплановые документы, которые никак не связаны между собой. Например, в одной базе данных могут сразу располагаться изображения, видео и различные публикации, которые размещены в социальных сетях. Эти базы данных не могут поддерживать запросы SQL.

Традиционные SQL-базы занимаются обработкой только лишь строго типизированной информации, которая имеет небольшой объем: локальная ERP-система или же облачная CRM.[6] Если же нужна обработка полуструктурированных и неструктурированных данных, которые имеют большой объем (Big Data), то в этом случае лучше всего выбрать NoSQL-хра-нилище (Рисунок 3). Например, для Internet of Things точно подойдет Cassandra. Если же речь идет о многоуровневой ИТ-

Рис. 2. Пример NoSQL.

SQL

NoSQL

s-\

v;

графовые

документо-нлюч-гначение ориентированные

Рис. 3. SQL и NoSQL в сравнении.

Изучив разнополярные базы данных, многие специалисты задаются вопросом: «Что нужно сделать для того, чтобы появилась возможность найти баланс между скоростью обработки запросов и масштабированием баз данных?»[7].

Redls Features Advanced Data Structures

№.&.(; DJ

l'-AlVu L- ^ L IV L- ¡ .'ky L^l'lV,'

(CJ, D.2, Djlf IIWdLTT, NîldŒl-HVh

Рис. 4. Структурирование данных в Redis.

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

ханизмах и системах. Эти базы хранят всю информацию, которая к ним попадает, в кэше. Благодаря чему, скорость обработки запросов становится довольно быстрой. СУБД Redis используется именно в этом направлении, в ней хранятся данные, которые наиболее востребованы у пользователей. Однако, лучше всего использовать ее на практике в комплекте с реляционной базой данных, так как в такой базе хранятся вообще все данные, а вот в Redis только те данные, которые используются чаще всего (Рисунок 4). [8]

СУБД Redis стала повсеместно использоваться благодаря наличию своей многофункциональности: применяется для того, чтобы можно было кешировать различные данные, которые впоследствии будут храниться в оперативной памяти.[9] Следовательно, производительность системы повышается. Благодаря этому, нагрузка на реляционную СУБД уменьшается, и появляется возможность перенесения в Redis данных, которые часто запрашиваются пользователями. К тому же, скорость обработки запросов значительно повышается. Redis также имеет большое количество инструментов, которые необходимы для того, чтобы можно было с легкостью масштабировать в зависимости от текущих нужд сервиса различные данные.[10]

Заключение

Проанализировав все вышеперечисленное, можно сделать вывод о том, что реляционные базы не могут быть замещены нереляционными. Ученые должны уметь выделять, понимать все достоинства и недостатки каждого из видов СУБД, а также правильно применять их на практике конкретно там, где эти базы наиболее в полной форме помогут увеличить производительность всей системы и будут выполнять конкретную нужную функцию. Как показывает практика, наиболее эффективный способ их применения - это совместное использование двух баз, которое поможет нивелировать все имеющиеся у двух этих баз недостатки. Лучше всего это можно сделать, используя Redis, но для этого сначала нужно детально изучить специфику ее использования. Redis конечно же хранит все необходимые данные в своем кэше. Это позволяет увеличить скорость работы с этими данными. Однако стоит учитывать тот факт, что размер ее кэша довольно маленький, поэтому он может быть использован только для малого количества информации, то есть для тех данных, которые являются самыми важными, так как именно они наиболее часто используются. Не стоит забывать, что у Redis имеется множество преимуществ:

1. Увеличение той скорости, с которой запросы будут обрабатываться.

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

Литература

1. Илюшечкин В. М. Основы использования и проектирования баз данных. Учебник / В.М. Илюшечкин. - М.: Юрайт, 2014. - 214 с.

2. TagLine [Электронный ресурс]: Режим доступа: https://tagline.ru/database-management-systems-rating/ - Рейтинг систем управления базами данных (СУБД) 2016. - (Дата обращения 29.05.2023).

3. Миркин Б. Г. Введение в анализ данных. Учебник и практикум / Б.Г. Миркин. - М.: Юрайт, 2015. - 176 с.

4. Новиков Б.А. Сравнительный анализ производительности sql и nosql субд // Компьютерные инструменты в образовании. - №. 4. - 2017. - С. 48-63.

5. Шарипова Н.Н. Об использовании nosql-хранилищ данных // Восточно-европейский научный журнал. - vol. 9. - №. 3. -2016. С. 73-76.

6. Боровиков, В. В. Microsoft Access 2002. Программирование и разработка баз данных и приложений / В. В. Боровиков. - М.: СОЛОН-Р, 2002. - 560 с.

7. Королева Ю. А., Маслова В. О. Разработка концепции миграции данных между реляционными и нереляционными системами БД // Программные продукты и системы. - vol. 32. - №. 1. - 2019. С. 63-67.

8. Жук М.М. Реляционные базы данных, язык SQL // StudNet. - vol. 5. - №. 6. - 2022. - С. 5190-5196.

9. Глушаков С.В., Ломотько Д.В. «Базы данных», изд. «Фолио», Харьков, 2000г.

10. Гринченко, Н.Н. Проектирование баз данных. СУБД Microsoft Access: Учебное пособие для вузов. / Н.Н. Гринченко и др. - М.: РиС, 2013. - 240 c.

Finding the perfect balance between query processing speed and scaling

relational and non-relational databases Krasochkin S.G.

Company «Xpate»

JEL classification: C10, C50, C60, C61, C80, C87, C90_

In this article, we have reviewed relational and non-relational databases, by analyzing their advantages and disadvantages. Next, we will analyze the use of the Redis DBMS as a balance between how fast queries are processed and scaling relational and non-relational databases. In the 21st century, all information and information-analytical systems need a database. These systems are engaged in processing, proofreading, recording those data sets that need ordering, structuring and subsequent storage. Each company has its own information system, which contains several data models. This is due to the fact that companies have to work with different directions, so they need diverse data manipulation. Usually, companies work with a relational database to work with tasks that require complete data consistency and transactional control, but all analytical, aggregated or metadata is contained in the NoSQL database. This separation exists in order for the final product to work most efficiently. Scientists have been studying NoSQL database management systems for a long time. However, as we can see, nowadays this topic remains poorly studied compared to systems that consist of traditional relational databases.

Keywords: SQl, NoSQL, Redis, Базы данных, СУБД References

1. Ilyushechkin V. M. Fundamentals of the use and design of databases. Textbook /

V.M. Ilyushechkin. - M.: Yurayt, 2014. - 214 p.

2. TagLine [Electronic resource]: Access mode: https://tagline.ru/database-

management-systems-rating/ - Rating of database management systems (DBMS) 2016. - (Date of access 05/29/2023).

3. Mirkin B. G. Introduction to data analysis. Textbook and workshop / B.G. Mirkin. -

M.: Yurayt, 2015. - 176 p.

4. Novikov B.A. Comparative performance analysis of sql and nosql subd // Computer

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

tools in education. - No. 4. - 2017. - S. 48-63.

5. Sharipova N.N. On the use of nosql data stores // Eastern European Scientific

Journal. - vol. 9. - no. 3. - 2016. P. 73-76.

6. Borovikov, VV Microsoft Access 2002. Programming and development of databases

and applications / VV Borovikov. - M.: SOLON-R, 2002. - 560 p.

7. Koroleva Yu. A., Maslova V. O. Development of the concept of data migration

between relational and non-relational database systems // Software products and systems. - vol. 32. - no. 1. - 2019. P. 63-67.

8. Zhuk M.M. Relational databases, SQL language // StudNet. - vol. 5. - no. 6. - 2022.

- S. 5190-5196.

9. Glushakov S.V., Lomotko D.V. Databases, ed. "Folio", Kharkov, 2000

10. Grinchenko, N.N. Database design. DBMS Microsoft Access: Textbook for universities. / N.N. Grinchenko and others - M.: RiS, 2013. - 240 p.

X X О го А С.

X

го m

о

to о to

M

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