В статье рассматриваются средства реализации программного обеспечения для определения параметров режущего инструмента. Приводятся критерии анализа соответствующих СУБД. Обосновывается выбор СУБД и языка программирования.
Ключевые слова: программирование, языки программирования, программное обеспечение, база данных, системы управления базами данных.
Такие IT-компании как Microsoft и Oracle приняли решение о приостановке продаж продуктов и услуг в России [1] [2], в связи с чем использование систем управления базами данных (далее — СУБД) Microsoft SQL Server и Oracle Database, операционных систем семейства Windows и линейки других продуктов, сред разработки программного обеспечения в настоящее время не представляется возможным. В связи с чем на первый квартал 2022 года в России встала проблема выбора надежных средств реализации программного обеспечения и альтернативных инструментов хранения данных. Эта проблема имеет огромное влияние как на всю отрасль информационных технологий в России в целом, так и на IT-инженеров, перед которыми стоит задача по разработке прикладных программных продуктов. Одним из таких продуктов является программа для определения параметров сборного режущего инструмента.
Целью проводимого исследования является выбор прикладных решений, который позволит в полной мере реализовать программу определения параметров сборного режущего инструмента. Для достижения этой цели далее будут проанализированы возможности использования СУБД и будет определен подходящий язык программирования, соответствующие техническим требованиям к ПО.
Сравнительный анализ СУБД
Согласно информации DB-Engines Ranking — рейтинга популярности СУБД в мире, созданного и поддерживаемого австрийской консалтинговой компанией Solid IT, в четверку лидеров СУБД по популярности среди пользователей в апреле 2022 года входят: Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL [3].
Так как Oracle Database и Microsoft SQL Server использовать невозможно по причине приостановки их продаж и поддержки на территории РФ, их сравнение проводится не будет. Сравнение других СУБД, представленных в рейтинге на более низких позициях, нерационально по причине их низкой популярности у пользователей или их узкой направленности.
Имеют важность в данном сравнении два критерия. Первый критерий — это стоимость использования, второй — поддержка пользователей/разработчиков. Другие критерии как, например, производительность в данном случае имеют крайне низкий вес, из-за небольшого объема информации — будет храниться ограниченное число параметров, имеющих отношение к режущему инструменту, а работа будет вестись одним пользователем, а не множеством. Несмотря на то, что в дальнейшем возможно расширение функционала программы определения параметров сборного режущего инструмента, например, работа большого количества пользователей одновременно, улучшение клиент-серверного взаимодействия, обе СУБД имеют весь необходимый для этого функционал.
Рассмотрим первый критерий. Как MySQL так и PostgreSQL — СУБД с открытым исходным кодом. PostgreSQL можно свободно использовать в коммерческих и некоммерческих проектах, в то время как MySQL имеет разные версии лицензирования в зависимости от сферы применения. Версия MySQL для коммерческого использования регулируется и лицензируется корпорацией Oracle, что может стать проблемой в долгосрочной перспективе, если разрабатываемая программа получит прикладное применение у реальных производственных предприятий, выйдя за рамки исключительно научно-исследовательской работы.
По критерию поддержки пользователей — обе СУБД имеют большие сообщества, где небезразличные люди всегда готовы оказать содействие в решении технических проблем. Помимо этого, при использовании отечественной СУБД Postgres Pro, можно получить полную поддержку компетентных специалистов. Более того, по состоянию на первый квартал 2022 года многие государственные учреждения переходят на PostgreSQL или Postgres Pro, по словам заместителя генерального директора компании Postgres Professional, делают это не первый год [4].
На основании вышеизложенного, PostgreSQL наиболее перспективная СУБД для использования в текущих реалиях.
Перспективные языки программирования
Для оценки перспективности использования того или иного языка программирования можно использовать индекс TIOBE, индекс PYPL и соответствие функционала языка программирования задачам разработки.
Индекс TIOBE — это мера оценки популярности языков программирования, созданная компанией TIOBE Software BV, которая заключается в анализе количества поисковых запросов, содержащих название языка программирования. Индекс рассчитывается на основе данных, полученных от Google, Wikipedia, и других поисковых систем. Согласно индексу TIOBE, на май 2022 года первые места по популярности занимают языки: Python, Java, C#. Начиная с 2007 года эти же языки входят в первую десятку по популярности, а наибольший рост стабильно показывает язык Python [5].
Индекс PYPL — во многом схож с индексом TIOBE, основное различие между ними состоит в том, что PYPL основывается на открытых данных Google Trends. Анализируется частота запросов типа «обучение языку программирования». На май 2022 года популярными языками являются: Python, Java, C#. Python — самый популярный язык, его популярность выросла на 11,0 % за последние 5 лет [6].
Язык Python имеет огромное количество библиотек, в том числе и для работы с PostgreSQL — модуль Psycopg2, обеспечивает возможность создания удобного клиент-серверного взаимодействия не привязывая работу программы к одному конкретному персональному компьютеру, обладает значительными аналитическими функциями. Язык Java относится к корпорации Oracle, и в большей мере подходит для работы с Oracle Database. Язык C# разработан компанией Microsoft и ориентирован на создание приложений для рабочего стола, в большей степени для работы с операционными системами Windows.
Так как основной задачей разработки ПО определения параметров сборного режущего инструмента является клиент-серверное взаимодействие и аналитические расчеты, язык Python целесообразно использовать в разработке этого ПО.
Заключение
В ходе исследования, на основе анализа различных СУБД и языков программирования, была определена целесообразность использования комбинации с установкой PostgreSQL и интерпретатором языка Python.
В долгосрочной перспективе использование этих программных решений позволит разработать стабильное и отказоустойчивое программное обеспечение, которое не будет подвержено внешнему влиянию.
Литература:
- Microsoft приостанавливает новые продажи в России [Электронный ресурс] // https://blogs.microsoft.com/on-the-issues/2022/03/04/microsoft-suspends-russia-sales-ukraine-conflict/ (дата обращения 20.04.2022).
- Обновление для российских и белорусских компаний, дочерних компаний и партнеров [Электронный ресурс] // https://www.oracle.com/corporate/conflict-in-ukraine/russia/ (дата обращения 20.04.2022).
- База знаний по системам управления реляционными и NoSQL базами данных [Электронный ресурс] // https://db-engines.com/en/ranking (дата обращения 20.04.2022).
- ИТ-Клуб. Мир цифровых и информационных технологий [Электронный ресурс] // https://www.it-world.ru/it-news/reviews/183879.html (дата обращения 20.04.2022).
- Качество программного обеспечения. Индекс TIOBE за июль 2022 г. [Электронный ресурс] // https://www.tiobe.com/tiobe-index/ (дата обращения 21.07.2022).
- PYPL. Популярность языка программирования [Электронный ресурс] // https://pypl.github.io/PYPL.html (дата обращения 16.06.2022).