Добавил:
связь https://discord.gg/sRPpSvnP Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом БСТ2104 Первухина А.А / Первухина_А_А_отчет_по_преддипломной_практике.docx
Скачиваний:
14
Добавлен:
03.07.2025
Размер:
1.34 Mб
Скачать
  1. Выбор средств разработки приложения

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

– Go

– Python

– C#

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

На основе проведенного анализа наиболее подходящим языком программирования для разработки проекта является Go. Этот выбор обусловлен его высокой производительностью, удобством работы с многопоточностью и эффективностью в разработке серверных приложений. По сравнению с Python, который обладает широкой экосистемой и простотой синтаксиса, Go значительно выигрывает в скорости работы. Python, будучи интерпретируемым языком, не подходит для высоконагруженных систем без дополнительных оптимизаций. В то же время Go изначально разработан с учетом высокой пропускной способности и минимальных затрат на управление памятью, что делает его лучшим выбором для масштабируемых решений. C# также является мощным языком с обширной экосистемой, но его зависимость от платформы .NET и необходимость выполнения в виртуальной среде могут снижать производительность в сравнении с нативными компилируемыми языками. Хотя кроссплатформенные возможности C# улучшились с появлением .NET Core, он по-прежнему остается более ориентированным на экосистему Microsoft, что накладывает определенные ограничения. Go же обеспечивает простую компиляцию в исполняемые файлы без зависимостей и возможность работы на различных операционных системах без сложных конфигураций. Кроме того, Go обладает лаконичным синтаксисом и строгими правилами форматирования кода, что снижает вероятность ошибок и упрощает поддержку проектов. Его встроенные механизмы безопасности, строгая типизация и простота сопровождения делают его надежным инструментом для разработки высоконагруженных и распределенных систем.

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

Для анализа были выбраны три популярных СУБД:

  1. MariaDB – это реляционная система управления базами данных, основанная на кодовой базе MySQL, но развиваемая независимо.

  2. MongoDB – документо-ориентированная NoSQL-база, предназначенная для работы с неструктурированными и масштабируемыми данными.

  3. PostgreSQL – мощная объектно-реляционная база данных с широкими возможностями, известная своей надежностью и соответствием строгим стандартам SQL.

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

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