Top.Mail.Ru
Соберём структуру, текст и источники.
Создать такую же
Учебная работа

Сравнение реляционных и NoSQL баз данных

Автор:

Опубликовано

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

Учебная работа 4 главы ≈14 страниц 8 источников

Работа подготовлена в СтудБанке с помощью ИИ и проверяется автором перед сдачей.

Создать такую жеГотовая работа по ГОСТу — от 99₽
Сравнение реляционных и NoSQL баз данных.docx
A4 · 14 стр. · Times New Roman 14, интервал 1,5
1 / 14

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

____________________________

Кафедра ____________________________

РЕФЕРАТ

на тему: «Сравнение реляционных и NoSQL баз данных»

Выполнил(а): ____________________________

Группа: ____________________________

Проверил(а): ____________________________

2026

Содержание

  1. 3
  2. 6
  3. 9
  4. 11
  5. 14
2

1. Эволюция моделей данных и контекст

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

До появления реляционных баз данные хранились в иерархических и сетевых моделях. Иерархическая модель, реализованная в системах вроде IMS от IBM в 1960-х годах, представляла данные в виде дерева, где у каждого узла был только один родитель. Сетевая модель, описанная Чарльзом Бахманом и стандартизированная в CODASYL, позволяла узлу иметь несколько родителей, образуя граф. Обе модели неплохо справлялись с конкретными задачами, но жестко завязывали логику приложения на физическую структуру хранения. Любое изменение связей между данными вынуждало переписывать программный код.

В 1970 году Эдгар Кодд, математик из IBM, опубликовал статью «A Relational Model of Data for Large Shared Data Banks». Он предложил хранить данные в плоских таблицах. Каждая строка (кортеж) описывает сущность, а каждый столбец (атрибут) задает ее свойство. Связи между таблицами устанавливаются не через указатели, а через значения ключей. Это был радикальный отход от навигационного подхода: структура данных отделялась от способа ее физического хранения. Пользователь оперировал абстрактной моделью, а СУБД сама решала, как эффективно выполнить запрос. Реляционная модель получила математическое обоснование в реляционной алгебре и теории множеств, что сделало ее строгой и предсказуемой.

3

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

Параллельно развивались распределенные системы, где данные размещались на множестве недорогих серверов. Горизонтальное масштабирование (добавление новых узлов в кластер) стало экономически оправданной альтернативой. Однако реляционные СУБД проектировались для работы на одном узле, и распределение их на кластер требовало сложных инженерных решений, которые часто нарушали требования согласованности. Именно в этот период, по данным Amazon и Google, возник термин NoSQL. Первоначально он означал «No SQL», а позже был переосмыслен как «Not Only SQL».

NoSQL объединяет несколько архитектурно различных семейств систем. Хранилища типа «ключ-значение» (например, Memcached) обеспечивают максимальную скорость доступа к данным по простому ключу, но не позволяют выполнять сложные запросы. Документоориентированные базы (как MongoDB) хранят данные в виде JSON-подобных документов, что удобно для объектов с изменяющейся структурой. Колоночные системы (семейства колонок) организуют данные по столбцам, что дает высокую производительность при агрегации больших объемов. Графовые базы данных (например, Neo4j) оптимизированы для работы со связями между сущностями и используются в социальных сетях и системах рекомендаций.

Возникает закономерный вопрос: какой подход лучше? Однозначного ответа нет, поэтому сравнение требует четких критериев. Ключевыми

4

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

5

2. Реляционные базы данных: принципы и ограничения

Реляционная модель, предложенная Эдгаром Коддом в 1970 году, строится на строгом математическом фундаменте теории множеств и предикатов. Данные представляются в виде двумерных таблиц, где каждая строка (кортеж) описывает конкретный объект, а столбцы (атрибуты) задают его свойства. Жесткость структуры обеспечивается системой ограничений целостности. Первичный ключ уникально идентифицирует каждую строку, а внешний ключ связывает таблицы между собой, гарантируя ссылочную целостность. Именно эти механизмы отличают реляционную модель от простого набора файлов.

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

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

6

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

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

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

7

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

8

3. NoSQL: типы, особенности и сценарии применения

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

Первый подход, хранилища ключ-значение, устроен как огромный словарь. У каждого значения есть уникальный ключ, по которому его можно мгновенно получить. Redis и Memcached работают с задержками в миллисекунды, но платят за скорость простотой: найти запись по любому другому атрибуту, кроме ключа, не получится. Документоориентированные базы, например MongoDB или CouchDB, пошли дальше. Вместо строк здесь документы в формате JSON или XML, с вложенными структурами и массивами. Это позволяет сохранить объект целиком, со всеми свойствами, не разбивая его по таблицам.

Колоночные базы данных (Apache Cassandra, HBase) организованы по-другому. Данные группируются не по строкам, а по семействам колонок. Такая архитектура удобна для аналитики: чтобы посчитать сумму по столбцу, не нужно читать всю строку, достаточно обратиться к нужному семейству. Графовые базы данных (Neo4j, Amazon Neptune) представляют данные как сеть узлов и связей. Запросы здесь выполняются через обход графа, поэтому такие системы хорошо подходят для анализа социальных связей, рекомендательных сервисов и поиска кратчайших путей в логистике.

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

9

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

Горизонтальное масштабирование реализуется через шардирование, когда данные автоматически распределяются по узлам. Если нагрузка растёт, добавляют несколько машин, и система сама перераспределяет данные. Реляционные базы требуют вертикального масштабирования, то есть увеличения мощности одного сервера, а у этого есть физический предел. NoSQL-системы могут расти практически без ограничений, что подтверждает опыт Netflix, обрабатывающего миллиарды событий ежедневно на кластерах Cassandra.

Гибкая схема данных это ещё одна отличительная черта NoSQL. Документоориентированные базы позволяют добавлять поля без ALTER TABLE и без остановки работы. Логи, метрики IoT-датчиков, JSON-ответы микросервисов можно хранить как есть, не приводя к заранее заданному формату. Это удобно на ранних этапах разработки, когда требования к данным ещё не устоялись.

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

10

4. Сравнительный анализ и рекомендации

После рассмотрения принципов устройства реляционных систем и их NoSQL-альтернатив логично перейти к сопоставлению этих подходов по практическим критериям. При сравнении первым делом обращает на себя внимание характер производительности. Реляционные СУБД, такие как PostgreSQL или Oracle, показывают наилучшие результаты при обработке транзакционных нагрузок с высокой интенсивностью операций записи и чтения, когда требуется строгая согласованность. Механизм транзакций, реализованный через блокировки и журналирование, позволяет выдерживать тысячи одновременных обращений к банковскому счету или корзине интернет-магазина, не нарушая целостности данных. Однако с ростом объема данных до десятков терабайт производительность таких систем начинает деградировать. Сложные соединения таблиц (JOIN) и индексация требуют все больше ресурсов процессора и памяти.

NoSQL-системы, например Cassandra или MongoDB, спроектированы иначе. Они оптимизированы под простые операции чтения и записи по ключу. В распределенной конфигурации они способны обрабатывать миллионы запросов в секунду, но расплачиваются за это невозможностью выполнять сложные аналитические запросы в реальном времени без дополнительных инструментов вроде Spark.

Масштабируемость этих двух семейств баз данных радикально различается по своей природе. Реляционные базы данных традиционно масштабируются вертикально: для увеличения пропускной способности приходится наращивать мощность одного сервера, докупая процессоры и память. Этот путь имеет объективный предел. Стоимость аппаратного обеспечения растет экспоненциально, а добавить вычислительные мощности сверх определенного порога физически невозможно. К тому же вертикальное масштабирование подразумевает простои при миграции на более мощное оборудование. NoSQL-системы, напротив, проектировались с расчетом на горизонтальное масштабирование. Данные

11

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

Гибкость схемы данных представляет собой третье ключевое различие. Реляционная модель требует жестко определить структуру таблиц до начала работы: типы данных, ограничения, связи между сущностями. Любое изменение схемы, например добавление нового поля, влечет за собой миграцию данных и часто сопровождается простоем сервиса. В средах с быстро меняющимися требованиями, таких как стартапы или A/B-тестирование, такая ригидность становится тормозом для разработки. NoSQL-хранилища позволяют хранить в одной коллекции документы с совершенно разной структурой. Один пользовательский профиль может содержать десять полей, а другой тридцать, и это не вызовет ошибок. Документоориентированные базы данных, в частности MongoDB, позволяют разработчикам менять структуру данных без миграции, добавляя новые поля на лету. Однако эта свобода имеет обратную сторону. Отсутствие схемы на уровне БД переносит ответственность за целостность данных на прикладной уровень, что увеличивает риск логических ошибок в коде.

Центральный компромисс между реляционными и NoSQL-системами формулируется как противопоставление моделей ACID и BASE. Реляционные базы данных гарантируют атомарность, согласованность, изоляцию и долговечность каждой транзакции. Это означает, что после выполнения операции система всегда находится в корректном состоянии, а сбой не оставит данные в промежуточном виде. NoSQL-системы следуют модели BASE: базовая доступность, мягкое состояние, конечная согласованность. В распределенной системе обеспечить мгновенную

12

согласованность всех реплик практически невозможно без серьезных потерь в доступности, поэтому NoSQL-базы выбирают компромисс. Данные могут быть временно несогласованными, но рано или поздно придут к единому состоянию. Теорема CAP, сформулированная Эриком Брюером в 2000 году, утверждает, что распределенная система может гарантировать одновременно только два из трех свойств: согласованность, доступность и устойчивость к разделению сети. Реляционные базы выбирают согласованность и устойчивость к разделению, тогда как большинство NoSQL-систем жертвуют строгой согласованностью ради доступности.

Практические рекомендации по выбору СУБД следуют из анализа конкретных бизнес-задач. Реляционные базы данных остаются оптимальным выбором для финансовых систем, управления заказами, CRM и любых сценариев, где критически важна целостность данных и поддержка сложных запросов с соединением нескольких таблиц. Банковские переводы, бронирование авиабилетов, учет складских остатков требуют транзакционной надежности, которую NoSQL предоставить не может. NoSQL-системы уместны в сценариях с огромными объемами данных, неструктурированной информацией и высокими требованиями к скорости доступа. Это каталоги товаров в маркетплейсах, профили пользователей в социальных сетях, логи IoT-устройств, кэширование сессий. Команда Netflix, например, использует Cassandra для хранения истории просмотров пользователей, поскольку эти данные не требуют строгой согласованности, но требуют доступности в любой момент. Вместе с тем гибридные подходы становятся все более распространенными. Одна система может использовать PostgreSQL для хранения финансовых транзакций и MongoDB для каталога товаров, синхронизируя данные через событийную шину. Такой вариант позволяет получить преимущества обоих подходов, хотя и требует более сложной архитектуры и дисциплины в управлении данными.

13

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

1. Реляционные и нереляционные базы данных — https://aws.amazon.com/ru/compare/the-difference-between-relational-and-non-relational-databases/

2. Что такое база данных NoSQL? - AWS — https://aws.amazon.com/ru/nosql/

3. Реляционные и noSQL-данные - Microsoft Learn — https://learn.microsoft.com/ru-ru/dotnet/architecture/cloud-native/relational-vs-nosql-data

4. В чем разница между NoSQL и реляционными базами данных? - Training — https://learn.microsoft.com/ru-ru/training/modules/implement-non-relational-data-model/2-whats-difference-between-nosql-relational-databases

5. База данных NoSQL. Что такое NoSQL? — https://azure.microsoft.com/ru-ru/resources/cloud-computing-dictionary/what-is-nosql-database

6. NoSQL: виды, особенности и применение - Yandex Cloud — https://yandex.cloud/ru/blog/posts/2022/10/nosql

7. NoSQL - что это за нереляционная база данных, примеры СУБД — https://blog.skillfactory.ru/glossary/nosql/

8. СРАВНЕНИЕ РЕЛЯЦИОННЫХ И NOSQL ПОДХОДОВ УПРАВЛЕНИЯ ДАННЫМИ — https://www.xn----8sbempclcwd3bmt.xn--p1ai/article/3519

14

Нужна такая же работа по своей теме? Соберём структуру, текст и источники в этом же оформлении.

Создать похожую

Сделайте такую же работу за пару минут

Любая тема, готовая структура, источники и оформление по ГОСТу. Первая работа — бесплатно.

Создать такую же

Как это работает

1. Опишите тему
Укажите тему и тип работы — остальное предложит ИИ.
2. Проверьте план
Структура, главы и источники по ГОСТу — редактируйте как нужно.
3. Скачайте в Word
Готовый документ с титульным листом и оглавлением.
Оформление по ГОСТу Готово за пару минут Источники и цитирование Экспорт в Word и PDF

Частые вопросы

Сколько стоит учебная работа?

Создание и редактирование — бесплатно. Платите только за доступ к готовой работе: доклад от 49₽, реферат от 99₽, курсовая от 199₽. Экспорт в DOCX/PDF после открытия — бесплатно.

Работа оформлена по ГОСТу?

Да. Титульный лист, содержание, поля, шрифт Times New Roman 14, интервал 1.5 — всё по ГОСТу. Скачивается в Word и PDF.

Можно ли редактировать текст?

Да, любой раздел можно отредактировать или перегенерировать прямо в редакторе перед скачиванием.

Похожие работы

Все работы по предмету «Информатика»