Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 21(275)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9

Библиографическое описание:
Урванова Е.С. КАКУЮ СИСТЕМУ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ ВЫБРАТЬ ДЛЯ ПРОЕКТА // Студенческий: электрон. научн. журн. 2024. № 21(275). URL: https://sibac.info/journal/student/275/335781 (дата обращения: 28.09.2024).

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

Урванова Елизавета Сергеевна

студент, программной инженерии кафедры МОСИТ, МИРЭА - Российский технологический университет,

РФ, г. Москва

Петросян Лусинэ Эдуардовна

научный руководитель,

канд. экон. наук, доц., МИРЭА - Российский технологический университет,

РФ, г. Москва

WHICH OPEN SOURCE DATABASE MANAGEMENT SYSTEM SHOULD I CHOOSE FOR THE PROJECT

 

Elizaveta Urvanova

student, Software engineering Department of MOSIT, MIREA - Russian Technological University,

Russia, Moscow

Lusine Petrosyan

scientific supervisor, candidate of Sciences in Economics, MIREA - Russian Technological University,

Russia, Moscow

 

АННОТАЦИЯ

Когда нужно выбрать систему управления базами данных (СУБД) для проекта, следует обратить внимание на несколько вариантов. Среди наиболее популярных инструментов — PostgreSQL, MongoDB и SQL (включающий в себя различные системы управления реляционными базами данных, такие как MySQL, SQLite и Microsoft SQL Server). Каждый из этих вариантов имеет свои сильные и слабые стороны, что делает их подходящими для разных случаев использования.

ABSTRACT

When you need to choose a database management system (DBMS) for a project, you should pay attention to several options. Among the most popular tools are PostgreSQL, MongoDB and SQL (which includes various relational database management systems such as MySQL, SQLite and Microsoft SQL Server). Each of these options has its own strengths and weaknesses, which makes them suitable for different use cases.

 

Ключевые слова: PostgreSQL, MongoDB, SQL, СУБД.

Keywords: PostgreSQL, MongoDB, SQL, DBMS.

 

Системы управления базами данных предлагают систематический подход для управления базами данных через пользовательский интерфейс. Кроме того, система управления базами данных – это программный пакет, который предоставляет основные технологические решения для манипуляций, оптимизации, а также управления и извлечения данных из баз данных. Точно так же он также предоставляет доступ к данным как для онлайн, так и для автономных приложений [1]. Сравним PostgreSQL, MongoDB и SQL по различным аспектам:

  1. Модель данных:
    1. PostgreSQL (SQL): PostgreSQL использует реляционную модель данных, в которой данные организованы в таблицы со строками и столбцами. Он поддерживает сложные связи между таблицами и обеспечивает соблюдение свойств ACID (атомарность, согласованность, изоляция, долговечность) [2];
    2. MongoDB (NoSQL): MongoDB соответствует документоориентированной модели данных, где данные хранятся в гибких документах. Он допускает вложенные структуры данных и не содержит схем, что обеспечивает большую гибкость представления данных [2];
    3. SQL (реляционный): базы данных SQL придерживаются реляционной модели, храня данные в структурированных таблицах с предопределенными схемами. Они обеспечивают связь через первичные и внешние ключи, обеспечивая целостность и согласованность данных [2].
  2. Масштабируемость:
    1. PostgreSQL (SQL): PostgreSQL поддерживает горизонтальное масштабирование с помощью таких методов, как сегментирование и репликация, но требует больше ручной настройки по сравнению с базами данных NoSQL, такими как MongoDB [2];
    2. MongoDB (NoSQL): MongoDB изначально разработан для горизонтального масштабирования. Он поддерживает сегментирование, что позволяет распределять данные по нескольким серверам для обработки больших объемов данных и высокой пропускной способности [2];
    3. SQL (реляционный). Реляционные базы данных также могут масштабироваться горизонтально, но этот процесс часто более сложен и может потребовать дополнительного промежуточного программного обеспечения или решений для кластеризации [2].
  3. Язык запросов:
    1. PostgreSQL (SQL): PostgreSQL использует SQL (язык структурированных запросов), мощный и стандартизированный язык для запросов и манипулирования реляционными данными. Он предлагает широкий спектр функций, включая сложные соединения, подзапросы и оконные функции [2];
    2. MongoDB (NoSQL): MongoDB использует язык запросов, похожий на JSON, который называется языком запросов MongoDB (MQL). Он поддерживает различные операции запросов, включая фильтрацию, агрегирование и геопространственные запросы, но может быть не таким многофункциональным, как SQL [2];
    3. SQL (реляционный): базы данных SQL используют SQL в качестве языка запросов, предлагая богатый набор функций для манипулирования, агрегирования и анализа данных [2].
  4. Гибкость схемы:
    1. PostgreSQL (SQL): PostgreSQL применяет жесткую схему, в которой структура таблиц и типов данных должна быть определена заранее. Хотя это обеспечивает согласованность данных, оно может быть менее гибким для приложений с меняющимися требованиями к данным [2];
    2. MongoDB (NoSQL): MongoDB не имеет схемы, что позволяет создавать динамические и гибкие модели данных. Такая гибкость хорошо подходит для приложений с быстро меняющимися схемами данных или для тех случаев, когда развитие схем является общим требованием [2];
    3. SQL (реляционный). Для реляционных баз данных требуется предопределенная схема, в которой таблицы и столбцы должны быть определены перед вставкой данных. Изменения в схеме часто требуют изменения существующих таблиц, что в некоторых случаях может оказаться затруднительным [2].
  5. Варианты использования:
    1. PostgreSQL (SQL): PostgreSQL хорошо подходит для приложений, которым требуются сложные транзакции, реляционная целостность и соответствие ACID. Он обычно используется в таких отраслях, как финансы, здравоохранение и электронная коммерция [2];
    2. MongoDB (NoSQL): MongoDB идеально подходит для приложений с большими объемами неструктурированных или полуструктурированных данных, таких как системы управления контентом, аналитика в реальном времени и платформы IoT (Интернета вещей) [2];
    3. SQL (реляционный): Реляционные базы данных универсальны и могут использоваться в широком спектре приложений, включая традиционные бизнес-приложения, хранилища данных и системы онлайн-обработки транзакций (OLTP) [2].

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

  • согласованность данных (англ. consistency) — во всех вычислительных узлах в один момент времени данные не противоречат друг другу;
  • доступность (англ. availability) — любой запрос к распределённой системе завершается корректным откликом, однако без гарантии, что ответы всех узлов системы совпадают;
  • устойчивость к разделению (англ. partition tolerance) — расщепление распределённой системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций [3]

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

Таким образом это выглядит в применении к имеющимся на рынке СУБД (Рисунок 1).

 

Рисунок 1. CAP

 

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

 

Список литературы:

  1. 5 лучших систем управления базами данных с открытым исходным кодом в 2022 году [Электронный ресурс]. – URL: https://blog.containerize.com/ru/top-5-open-source-database-management-systems-in-2022/ (дата обращения 06.06.2024).
  2. PostgreSQL vs MongoDB vs SQL [Электронный ресурс]. – URL: https://rustcodeweb.medium.com/postgresql-vs-mongodb-vs-sql-45823295ab4a (дата обращения 06.06.2024).
  3. Выбор СУБД: шпаргалка, чтобы не запутаться [Электронный ресурс]. – URL: https://habr.com/ru/articles/775574/ (дата обращения 06.06.2024).
Удалить статью(вывести сообщение вместо статьи): 

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.