Научная статья на тему 'СРАВНЕНИЕ РЕЛЯЦИОННЫХ И NOSQL ПОДХОДОВ УПРАВЛЕНИЯ ДАННЫМИ'

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

CC BY
251
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
NOSQL / РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ / СУБД

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

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

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

Текст научной работы на тему «СРАВНЕНИЕ РЕЛЯЦИОННЫХ И NOSQL ПОДХОДОВ УПРАВЛЕНИЯ ДАННЫМИ»

УДК 004.652

Басов А.С.

студент 2 курса магистратуры кафедры информатики и вычислительной техники Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева (Россия, г. Красноярск)

СРАВНЕНИЕ РЕЛЯЦИОННЫХ И NOSQL ПОДХОДОВ УПРАВЛЕНИЯ ДАННЫМИ

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

Ключевые слова: NoSQL, реляционные базы данных, СУБД.

В 1970 году британский ученый Эдгар Фрэнк Кодд опубликовал статью «реляционная модель данных для больших общих банков данных». Эта работа заложила основу для создания реляционной модели данных. Основными преимуществами реляционных систем управления базами данных являются:

1. Минимальная избыточность данных, при условии соблюдения правил нормализации. Это обеспечивает целостность информации в базе данных при ее обновлении;

2. Использование механизма транзакций для обеспечения согласованности данных, в том числе при организации параллельной обработки данных. Транзакционные системы управления базами данных подчиняются свойствам ASID, сформулированным Джимом греем. Это свойства атомарности, последовательности, изоляции и надежности;

3. Использование языка структурированных запросов SQL, который

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

1. Несоответствие между реляционным способом представления данных и объектно-ориентированными языками программирования, используемые при разработке приложений;

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

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

Эти решения связаны с появлением новых систем управления базами данных, основанных на иных подходах, нежели реляционные. Эти подходы объединяет единое понятие «NoSQL» (не только SQL), получившее широкую известность в 2009 году. Основной особенностью систем управления базами данных NoSQL является полный или частичный отказ от реляционного метода представления данных, в частности от правил транзакционной целостности данных (ASID properties). С этим понятием также связаны системы, работающие с большими объемами распределенных данных и поддерживающие горизонтальную масштабируемость и репликацию данных.

Перечислим основные особенности современных NoSQL решений: • неструктурированные данные, представление данных в виде агрегатов, подход Map/Reduce, сегментация и репликация.

Неструктурированные данные (без схемы), т. е. без схемы данных. С одной стороны, это позволяет вводить в базу данных данные, которые ранее не были предусмотрены в ее структуре, что делает базу данных более гибкой и адаптируемой к меняющейся бизнес-логике приложения. С другой стороны, это приводит к целому ряду проблем. Основная из них состоит в следующем: при изменении бизнес - логики приложения, что приводит к изменению структуры базы данных, возникает необходимость в дополнительной проверке объектов базы данных-старого объекта (до внесения изменений) или нового, модифицированного объекта. Однако за реализацию этой проверки отвечает само приложение.

В некоторых случаях может потребоваться изменить структуру ранее созданных объектов базы данных. Например, если нам сначала нужно было сохранить только общую стоимость заказа в заказе, а после внесения изменений в бизнес-логику приложения, нам также нужна была информация об общей стоимости с учетом скидки клиента. Затем при обработке заказов вам нужно проверить, с каким заказом мы работаем (старым или новым), чтобы убедиться, что он имеет поле "общая стоимость с учетом скидки". Кроме того, при изменении структуры базы данных необходимо изменить все доступные данные заказа и добавить к ним соответствующую информацию.

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

Репликация — это процесс создания копий файлов, между которыми можно обмениваться обновленными данными или объектами. Это один из

основных способов обеспечения надежности и доступности данных в NoSQL -решениях.

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

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

Перечислим основные достоинства и недостатки NoSQL по сравнению с реляционными базами данных (таблица 1).

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

Таблица 1 - Сравнение реляционного и NoSQL подходов

Критерии Реляционные СУБД NoSQL СУБД

Масштабируемость Преимущественно вертикальное масштабирование (за счет усовершенствования имеющихся узлов) Горизонтальное масштабирование (за счет добавления новых узлов)

Администрирование Высокие потребности в настройки и администрировании баз данных Автоматическое изменения схемы данных на стороне приложения

Экономические показатели Для оперирования большими данными требуют мощные дорогие сервера Используют кластеры из недорогих массовых серверов

Модели данных Строгие ограничения к структуре базы данных Слабые ограничения (или их отсутствие) к структуре,

что позволяет легко вносить изменения в схему базы данных, но не обеспечивает целостности данных

Модели программирования Хорошо развитый язык SQL-запросов Не богатый набор средств для запросов и оперативного анализа, отсутствие операции join

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

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

Реляционные модель больше подходят для относительно небольших объемов данных высокой ценности (данных о пользователях системы, билинговая информация), а NoSQL решения для больших объемов данных низкой ценности (логирование и сбор статистики, хранение документов). КоБрЬ - это новый, еще не устоявшийся подход к созданию баз данных. Несомненно, он будет развиваться и совершенствоваться, так как его популярность растет, прежде всего, за счет появления задач, связанных с необходимостью обработки огромных объемов информации.

СПИСОК ЛИТЕРАТУРЫ:

Бодров, И. Сильные и слабые стороны NoSQL // Электронный журнал: наука, техника и образование. 2019. № 3 (3). С. 8 - 24.

Мартин Фаулер, Прамодкумар Дж. Садаладж. NoSQL: новая методология разработки нереляционных баз данных.- М.: «Вильямс», 2013.- 192 с.

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