Научная статья на тему 'ВИБІР ТЕХНОЛОГІЧНОГО СТЕКУ РОЗРОБКИ ПРИВАТНОЇ ХМАРНОЇ СИСТЕМИ ПАРАЛЕЛЬНОГО ЗБОРУ ТА ОБРОБКИ ІНФОРМАЦІЇ'

ВИБІР ТЕХНОЛОГІЧНОГО СТЕКУ РОЗРОБКИ ПРИВАТНОЇ ХМАРНОЇ СИСТЕМИ ПАРАЛЕЛЬНОГО ЗБОРУ ТА ОБРОБКИ ІНФОРМАЦІЇ Текст научной статьи по специальности «Экономика и бизнес»

CC BY
8
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
приватна хмарна система / Golang / Microsoft Hyper-V / PostgreSQL / MySQL / Java / Python / C++ / Node.js збір та обробка інформації / паралелізм / СУБД / апаратна віртуалізація / private cloud system / Golang / Microsoft Hyper-V / PostgreSQL / MySQL / Java / Python / C++ / Node.js information acquisition and processing / parallelism / DBMS / hardware virtualization

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Б О. Єрохін, М О. Волк

Дана наукова стаття присвячена вибору технологічного стеку розробки приватної хмарної системи паралельного збору та обробки інформації. Було проаналізовано наявні системи збору та обробки інформації з погодних датчиків і виявлено, що слабкою стороною всіх централізованих систем є їхня пропускна здатність. У роботі досліджено низку технологій, що використовуються у розробці хмарних систем збору та обробки інформації, зокрема Microsoft Hyper-V, PostgreSQL, MySQL, Golang, Java, Python, C++, Node.js та розглянуто їх переваги та недоліки. Також проаналізовано основні вимоги до хмарної системи паралельного збору та обробки інформації, такі як масштабованість, невелика вартість, продуктивність, а також легкість підтримки такої системи. На основі проведеного аналізу запропоновано оптимальний технологічний стек для розробки хмарної системи, що відповідає вимогам та забезпечує ефективну роботу системи, а саме систему апаратної віртуалізації Microsoft Hyper-V, через те що вона є вбудованою в усі останні версії Windows Server, а також через підтримку всіх популярних операційних систем в ролі гостьових ОС, систему управління базами даних PostgreSQL, через її високу продуктивність та безкоштовність, що є гарним показником для розробки систем для компаній у яких не великий бюджет для розгортання таких систем, як мову програмування серверу було обрано Golang, як мову в якій є дуже потужні вбудовані інструменти паралелізму, які дозволяють легко розробляти системи, які підтримують роботу не тільки з багатьма потоками, а навіть із декількома ядрами, а також через її досить простий синтаксис, що дозволяє підтримувати таку систему, навіть спеціалістам, які мають не дуже великий досвід роботи з цією мовою програмування. Результати дослідження можуть бути корисними для розробників приватних хмарних систем і не тільки, а також для інженерів в області паралельного збору та обробки інформації.

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

THE CHOICE OF THE TECHNOLOGICAL STACKIN THE DEVELOPMENT OF A PRIVATE CLOUD SYSTEM FOR PARALLEL COLLECTION AND PROCESSING OF INFORMATION

This scientific article is devoted to the choice of the technological stack for the development of a private cloud system for parallel collection and processing of information. The existing systems for collecting and processing information from weather sensors were analyzed and it was found that the weakness of all centralized systems is their throughput. The paper investigates a few technologies used in the development of cloud systems for collecting and processing information, in particular Microsoft Hyper-V, PostgreSQL, MySQL, Golang, Java, Python, C++, Node.js and considers their advantages and disadvantages. The basic requirements for the cloud system of parallel information collection and processing, such as scalability, low cost, performance, as well as ease of maintaining such a system. Based on the analysis, an optimal technological stack for the development of a cloud system that meets the requirements and ensures efficient operation of the system, namely the Microsoft Hyper-V hardware virtualization system, has been proposed, since it is built into all the latest versions of Windows Server, as well as support for all popular operating systems as guest OSes, the PostgreSQL database management system, due to its high performance and freeness, which is a good indicator for developing systems for companies that do not have a large budget to deploy systems such as the server programming language Golang has been chosen, as a language that has very powerful built-in parallelism tools that make it easy to develop systems that support working not only with many threads, but even with multiple cores, and also because of its fairly simple syntax that allows you to support such a system, even for specialists who do not have much experience with this programming language. The results of the research may be useful for developers of private cloud systems and not only, as well as for engineers in the field of parallel information collection and processing.

Текст научной работы на тему «ВИБІР ТЕХНОЛОГІЧНОГО СТЕКУ РОЗРОБКИ ПРИВАТНОЇ ХМАРНОЇ СИСТЕМИ ПАРАЛЕЛЬНОГО ЗБОРУ ТА ОБРОБКИ ІНФОРМАЦІЇ»

УДК 004.75

https://doi.Org/10.35546/kntu2078-4481.2023.1.18

б. о. ерохщ

студент

Харювський нацюнальний ушверситет радюелектрошки

ORCID: 0009-0001-3224-550X

ORCID: 0000-0003-4229-9904

ВИБ1Р ТЕХНОЛОГ1ЧНОГО СТЕКУ РОЗРОБКИ ПРИВАТНО1 ХМАРНО1 СИСТЕМИ ПАРАЛЕЛЬНОГО ЗБОРУ ТА ОБРОБКИ 1НФОРМАЩ1

Дана наукова стаття присвячена вибору технологгчного стеку розробки приватно'1 хмарно'1 системи пара-лельного збору та обробки тформаци. Було проаналгзовано наявнг системи збору та обробки тформаци з погод-них датчиюв i виявлено, що слабкою стороною вах централгзованих систем е 1хня пропускна здаттсть. У робо-т1 дослiджено низку технологш, що використовуються у розробц хмарних систем збору та обробки тформаци, зокремаMicrosoft Hyper-V, PostgreSQL, MySQL, Golang, Java, Python, C++, Node.js тарозглянуто iх переваги та недолжи. Також проанал1зовано основт вимоги до хмарно'1' системи паралельного збору та обробки тформаци, так як масштабованкть, невелика варткть, продуктивтсть, а також легюсть тдтримки такоi системи. На основi проведеного анализу запропоновано оптимальний технологiчний стек для розробки хмарноi системи, що вiдповiдае вимогам та забезпечуе ефективну роботу системи, а саме систему апаратноi вiртуалiзацii Microsoft Hyper-V, через те що вона е вбудованою в ус остант верси Windows Server, а також через тдтримку вах попу-лярних операцтних систем в ролi гостьових ОС, систему управлтня базами даних PostgreSQL, через ii високу продуктивтсть та безкоштовтсть, що е гарним показником для розробки систем для компант у яких не великий бюджет для розгортання таких систем, як мову програмування серверу було обрано Golang, як мову в якт е дуже потужш вбудоваш тструменти паралелгзму, яю дозволяють легко розробляти системи, яю тдтриму-ють роботу не тшьки з багатьма потоками, а навiть i-з деюлькома ядрами, а також через ii досить простий синтаксис, що дозволяе пiдтримувати таку систему, навiть спецiалiстам, як мають не дуже великий досвiд роботи з щею мовою програмування. Результати до^дження можуть бути корисними для розробниюв при-ватних хмарних систем i не тшьки, а також для iнженерiв в областi паралельного збору та обробки тформаци.

Ключовi слова: приватна хмарна система, Golang, Microsoft Hyper-V, PostgreSQL, MySQL, Java, Python, C++, Node.js збiр та обробка тформаци, паралелгзм, СУБД, апаратна вiртуалiзацiя.

THE CHOICE OF THE TECHNOLOGICAL STACKIN THE DEVELOPMENT OF A PRIVATE CLOUD SYSTEM FOR PARALLEL COLLECTION AND PROCESSING OF INFORMATION

This scientific article is devoted to the choice of the technological stack for the development of a private cloud system for parallel collection and processing of information. The existing systems for collecting and processing information from weather sensors were analyzed and it was found that the weakness of all centralized systems is their throughput. The paper investigates a few technologies used in the development of cloud systems for collecting and processing information, in particular Microsoft Hyper-V, PostgreSQL, MySQL, Golang, Java, Python, C++, Node.js and considers their advantages and disadvantages. The basic requirements for the cloud system ofparallel information collection and processing, such as scalability, low cost, performance, as well as ease of maintaining such a system. Based on the analysis, an optimal technological stack for the development of a cloud system that meets the requirements and ensures efficient operation of

B. О. YEROKHIN

Student

Kharkiv National University of Radio Electronics ORCID: 0009-0001-3224-550X

M. O. VOLK

Doctor of Technical Sciences, Professor, Professor at the Department of Electronic Computers Kharkiv National University of Radio Electronics ORCID: 0000-0003-4229-9904

the system, namely the Microsoft Hyper-Vhardware virtualization system, has been proposed, since it is built into all the latest versions of Windows Server, as well as support for all popular operating systems as guest OSes, the PostgreSQL database management system, due to its high performance andfreeness, which is a good indicator for developing systems for companies that do not have a large budget to deploy systems such as the server programming language Golang has been chosen, as a language that has very powerful built-in parallelism tools that make it easy to develop systems that support working not only with many threads, but even with multiple cores, and also because of its fairly simple syntax that allows you to support such a system, even for specialists who do not have much experience with this programming language. The results of the research may be useful for developers of private cloud systems and not only, as well as for engineers in the field ofparallel information collection and processing.

Key words: private cloud system, Golang, Microsoft Hyper-V, PostgreSQL, MySQL, Java, Python, C++, Node.js information acquisition and processing, parallelism, DBMS, hardware virtualization.

Постановка проблеми

Значения хмарних систем паралельного збору та обробки шформацп в сучасному свт з кожним днем наби-рають популяршсть. Таш системи вико-ристовуються всюди, починаючи ввд мониторингу стану якогось облад-нання на шдприемста i зашнчуючи системами шформацшно! шдтримки та ситуа-цшно! обiзнаностi на полi бою. Хмарш системи паралельного збору та обробки шформацп з метеоролопчних датчиков не е винятком.

Збiр шформацп з метеоролопчних датчиков - це важлива задача, яка ви-магае надшно! i ефективно! системи збору даних. Нижче наведено огляд шль-кох юнуючих систем збору шформацп з метеоролопчних датчиков:

- Система збору даних з метеоролопчних датчишв Davis Instruments [1] Система Davis Instruments е одшею з найпопуляршших i надшних систем збору даних з метеоролопчних датчишв. Вона включае в себе бездротовi сенсори, що вимiрюють температуру, волопсть, швидшсть виру, напрямок виру, опади, сонячну радiацiю та iншi показники, а також спещальний приймач, що збирае даш в режимi реального часу.

- Система збору даних з метеоролопчних датчишв Vaisala [2].

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

- Система збору даних з метеоролопчних датчишв Campbell Scientific Система збору даних з метеоролопчних датчишв Campbell cientific [3] е одшею з найб№ш розповсюджених систем збору даних галузi метеорологи. Вона включае в себе бездротовi та проввдш сенсори, що вимiрюють температуру, волопсть, швидшсть виру, напрямок виру, тиск та опади, а також iншi параметри, таю як рiвень води, рiвень сшгу, сонячна радiацiя та шшг Система включае в себе спещальне програмне забезпечення, яке забезпечуе збiр даних, аналiз та вiзуалiзацiю результапв в режимi реального часу.

Кожна з цих систем мае сво! переваги та недолши, i вибiр конкретно! системи залежить вщ потреб користу-вача. Однак, загалом, вс щ системи мають спiльну мету - забезпечити точш та актуальш метеорологiчнi данi для користувачiв. Вибiр системи може залежати вiд таких чиннишв, як вартiсть, точнiсть, розмiр та зручнiсть встановлення датчиков, доступшсть сервiсiв метеорологiчних даних та шш. Важливо зазначити, що збiр та ана-лiз метеорологiчних даних може бути корисним для рiзних галузей, таких як сiльське господарство, енергетика, транспорт, будiвництво та iншi.

Хмарш системи в останш десятилiття розвиваються з небаченою швидк1стю, з кожним роком вони стають все бшьш високонавантаженими. Так1 си-стеми вже давно об'еднують в хмарнi кластери задля розподiлення задач, щоб збiльшити !'хпю продуктивнiсть. Це i було одною з причин чому компанiя Google розробила мову Golang[4], адже вс iснуючi на той час мови, хоча i були достатньо продуктивними (наприклад, C++), але в жоднш з мов не було вбудованого шструментарш для паралельно! роботи з дешлькома потоками чи навiть ядрами процесору. Саме через це, у 2009 рощ Google показала свгту нову мову програмування з неймовiрно продуктивною реалiза-цiею паралелiзму за допомогою горутин (goroutine), як1 через сво! невелик розмiри (лише 4 Кб на одну горутину) дають змогу навiть на середньо продуктивних серверах працювати з декiлькома тисячами паралельних «потоков». Саме через таку по-пулярнiсть хмарних систем зрозумiло, що саме на «хмарах» треба будувати системи паралельного збору та обробки шформацп.

У бшьшосп продукпв для збору та обробки шформацп такий принцип роботи: даиi з датчика вщправляються на сервер, який записуе !х в базу даних, далi стороннi програми обробляють отриману iнформацiю. Проте, ваго-мий недолж в так1й роботi - при зб№шенш кiлькостi датчиков, як1 мае обслугову-вати сервер, лiнiйно збшьшу-еться необхвдна мiнiмальна потужиiсть сервер-ного обладнання i, вiдповiдно, вартiсть обслуговування, що при-зводить до зменшення конкурентоспроможносп.

Основними недолiками такого пiдходу е наявшсть обмеження в кiлько-стi конкурентних пiдключень до бази даних та необхщшсть у великiй кiлькостi серверiв, як1 мають обслуговувати усi пвдключення.

Формулювання мети дослщження

Мета дано! роботи полягае у aHanÎ3i та o6rpyHTyBaHHi вибору технологш для роботи з хмарними системами паралельного збору та обробки шформацп та розробки pекомендaцiï щодо впровадження тiеï чи iншоï техноло-riï в сис-тему для забезпечення бiльшоï пpодyкгивностi програмного забезпечення ви-соконавантажених систем збору та обробки шформацп. Не менш важливою метою е розробка тако1' система, яка давала б змогу використо-вувати ïï не тшьки компaнiям з великими мaтеpiaльними ресурсами, а й тим оргашзащям, як1 тiльки починають свiй розвиток у сфеpi хмарних систем збору та обробки шформацп з метеоролопчних датчишв, тому одшею з цшей було обрати такий технолопчний стек проекту, який вимагав би найменшу кiлькiсть кaпiтaлов-клaдень для ïï розгортання.

Виклад основного матер1алу дослiдження

Хмарна системи паралельного збору та обробки шформаци буде складатися з трох вipтyaльних машин, а саме:

- Вipтyaльнa машина на якш буде pозмiщено програму емулятор пеpедaчi даних. Ця машина буде викорис-товуватися для того що генерувати показання температурних датчиков, щоб потiм з цих даних було сформовано JSON запит на сервер обробки.

- Вipтyaльнa машина на якш буде розмщено REST API сервер. Ця машина буде використовуватися збору даних з уах температурних датчишв i подальшу обробку цих даних, наприклад, передача в потpiбнy базу даних оpгaнiзaцiï, яка буде використовувати цю систему.

- Вipтyaльнa машина на якiй буде розгорнуто базу даних. Ця машина буде використовуватися для збер^ання даних.

Всi три вipтyaльнi машини можуть бути налаштоваш для роботи в пpивaтнiй хмapi або гiбpиднa хмара.

В цшому система хмарних обчислень, що складаеться з трьох вipтyaльних машин, дозволяе ефективно управ-ляти ресурсами, шдвищувати гнучк1сть i мaсштaбовaнiсть системи, а також шдвищувати безпеку i надшшсть обчислювальних пpоцесiв.

Оск1льки система збору та обробки шформацп повинна бути доступна вам, та забезпечувати високу про-пускну здaтнiсть було запропоновано пpо-aнaлiзyвaти двi попyляpнi, pеляцiйнi [4] та безкоштовш СУБД, а саме PostgreSQL та MySQL.

PostgreSQL i MySQL - це двi популярш системи управлшня базами да-них, як використовуються в багатьох додатках. Обидвi системи мають сво1'

переваги та недолши, проте PostgreSQL мае юлька ключових переваг поpiв-няно з MySQL, це видно в таблищ 1 [5, 6]:

Таблиця 1

Пор1вняння СУБД PostgreSQL та MySQL за деякими чинниками

Чинник PostgreSQL MySQL

Арх^ектура Об'eктно-реляцiйнi; багатопроцесний Реляцiйиих; Сдиний процес

Шдтримуваш типи даних Numeric, Date/time, Character, JSON, Boolean, Enumerated, XML, Geometric, Arrays, Ranges, Мережева адреса, HSTOREComposite Numeric, Date/time, Character, JSON, Spatial

Шдтримуваш шдекси B-tree, Hash, GiST, SP-GiST, GIN, BRIN B-tree, Hash, R-tree, 1нвертоваш шдекси

Безпека Добре справляеться з великою юльюстю читань i записiв Добре обробляе велику кшьккть зчитувань

Продуктившсть Керування доступом Кiлька зашифрованих параметрiв Керування доступом Зашифроваиi параметры

Техшчна шдтримка Пiдтримка спiльноти Платна пiдтримка вщ певних постачальникiв Шдтримка сшльноти Платна пiдтримка вiд певних постачальиикiв

Кpiм цього, PostgreSQL мае бтш високий piвень безпеки та пвдтримку ACID-властивостей (Atomicity, Consistency, Isolation, Durability), що забезпе-чуе стшшсть та нaдiйнiсть бази даних. Однак, MySQL мае меншi вимоги до ресурав та може працювати швидше на менших серверах.

Загалом, обидвi системи мають сво1' переваги та недолши, i вибip мiж ними залежить вiд конкретних потреб користувача та його проекту. Однак, для бшьш складних пpоектiв з великими обсягами даних та потребою в висо-шй безпецi та надшносп, PostgreSQL може бути кращим вибором.

Зважаючи на те, що кожна з мов мае сво1' переваги та недолiки, наведемо декiлькa загальних переваг та недо-лiкiв кожно1' мови у виглядi тaблицi для по^вняння.

Зважаючи на те, що кожна з мов мае сво1' переваги та недолiки, наведемо дешлька загальних переваг та недо-лЫв кожног' мови у виглядi таблищ 2 для поpiвняння.

Таблиця 2

Переваги та недолши найбшьш популярних мов програмування Be6-cepBepiB

Мова програмування Переваги Недолжи

Go Ефективне використання пам'ят!, вбудована шдтримка багатопоточност та конкурентности, простий та лакошчний синтаксис, швидкий час виконання Обмежена кiлъкiстъ б1блютек пор!вняно з шшими мовами

Java Багата екосистема б1блютек та фреймворюв, висока переносимють, гарна шдтримка об'ектно-ор!ентованого програмування Висок! вимоги до ресурс!в, повiлъний час запуску

Python Простий та легкий синтаксис, багата екосистема б1блютек та фреймворюв, висока продуктивнiстъ в област науки даних Повшьшший час виконання пор!вняно з шшими мовами, не ефективне використання пам'ят

C++ Висока продуктивнiстъ та ефективне використання пам'ят!, багата екосистема б1блюте к та фреймворюв, гнучка шдтримка об'ектно-ор!е нтованого та процедурного програмування Складний синтаксис, бшьш складна розробка пор!вняно з шшими мовами

Node.js Висока швидюдая та продуктившсть, шдтримка асинхронного програмування, багата еко система б1блютек та фреймворюв Не шдходить для багато поточних та конкурентних додатюв, бшьш складна розробка пор!вняно з шшими мовами

Проаналiзувавши даш таблиц ще можна додати дек1лька переваг Go по-рiвняно з iншими мовами програмування:

- Ефектившсть пам'ятi: Go мае бшьш ефективне використання пам'яп порiвняно з iншими мовами, такими як Java та Python. Це забезпечуе менший розмiр бiнарних файлiв та меншi витрати на збертання даних.

- Конкурентнiсть: Go мае вбудовану пвдтримку багатопоточностi та конкурентности що робить його особливо тдходящим для розробки високопродуктивних додатшв, як1 обробляють багато запитiв одночасно.

- Простота: Go мае простий та лакошчний синтаксис, що дозволяе шви-дше розробляти та тестувати код. Вш також мае меншу кшьшсть клю-чових слiв та вбудованих функцш порiвняно з iншими мовами, такими як C++.

- Швидюздя: Go мае швидкий час виконання та високу продуктивнiсть, порiвняно з шшими мовами, такими як Python та Node.js. Це робить його особливо тдходящим для додатшв, що вимагають високо! швидкодп та продуктивностi.

Отже, проаналiзувавши всi переваги та недол1ки [7-9] було обрано мову програмування Golang через те що ця мова мае вбулованi iнструменти для роботи з дешлькома потоками та навиъ дек1лькома ядрами процесора, ще одним iз плюсiв е li простота, а це значить, що навггь програмiсти, якi мають не дуже великий рiвень знань змо-жуть пвдтримувати систему в належному станi.

Для розгортання системи апаратно! в!ртуал!зацп для х64-систем на ос-новi гiпервiзора було обрано Microsoft Hyper-V. Цю систему в!ртуал!зацп було обрано через те що вона е вбудованою системою в!ртуал!зацп в уах останнiх версiя будь-яко! ОС на базi Windows. Hyper-V пiдтримуе гостьовi операцiйнi системи Windows i Linux i надае так1 функцп, як жива м!грац!я, висока доступнiсть i вiртуалiзацiя мереж!. Вiн також пвдтримуе iнтеграцiйнi служби, як! за-безпечують зв'язок м!ж хостом i гостьовими операцшними системами. Саме через те що Hyper-V вбудовано в Windows Server 2022, через його гарну ште-гращею м!ж хостом та гостьовою системою, цей гшервь зор було обрано для розгортання в!ртуально1' хмари для системи паралельного збору та обробки да-них з метео-ролопчних датчишв.

Тестування системи проводилось на локальному сервер!, який було роз-горнуто за допомогою Microsoft Hyper-V у в!ртуальному середовищ!. Для тес-тового стенду було згенеровано 10 сенсор!в, 365 дшв та 24 години в одному дш отже загалом було. Сервю генерацп точок був налаштований на генерацш нових точок для кожного окремого замовлення з частотою 1000 генерацш в секунду. В тестовому стенд! використовувались комп'ютер з системою на кри-стал! Intel Core I5-3230M та 9 Гб оперативно1 пам'яп. Навантаження на сис-тему було розподь лене м!ж в!ртуальною машиною, на якш знаходився сервю генерацп та вщправки на сервер даних на метеороло-пчних датчиках (рис. 1),, яка паралельно збирала показники з кожного метеоролопчного датчика(рис.

2) та PostgreSQL, яка збертала вс показники датчиков в момент 1'хньо1 генерацп (рис. 3).

На рис. 1-3 зображеш два основш показники навантаження на систему: навантаження на процесор та опера-тивну пам'ять. Найбшьше навантаження на диск мае сервю PostgreSQL через збер!гання даних на диску. Вказане наванта-ження на процесор е трохи завищеним через те, що щ дан! вщповщають дшс-носп тшьки для контейнеру, котрий оперуе лише !зольованими ресурсами. Загалом навантаження на ресурси комп'ютера ваею системою не перебшьшу-вало 2 Гб оперативно! пам'яп та 51% навантаження на процесор. Три основш сервюи сумарно вико-ристовували не бшьше 450 Мб пам'яп.

Таким чином, в ход! роботи було запропоновано обрати для анал!зу на-ступний технолопчний стек:

- безкоштовна об'ектно-реляцшна система управлшня базами даних

- комтльована, багатопотокова мова програмування Go;

- апаратна система в!ртуал!заци для систем на баз! х64-процесор!в на баз! гшерв!зора Microsoft Hyper-V.

Рис. 1. Навантаження на программу генерацп та вщправлення даних

Рис. 2. Навантаження на процесор та ОЗУ REST API серверу

Рис. 3. Навантаження на сервер збору шформаци та запису в PostgreSQL

Висновки

В результата дослщження можна зробити висновок, що вибip технолопчного стеку для розробки пpивaтноï хмapноï системи паралельного збору та обробки шформацп е важливим етапом в пpоцесi розробки. Для досяг-нення ефективноï та безпеpебiйноï роботи системи, необхвдно враховувати piзнi аспекти, таш як масштабова-нiсть, продуктившсть, безпеку та iншi.

Пpоaнaлiзyвaвши найб№ш попyляpнi системи yпpaвлiння pеляцiйними базами даних з ввдкритим початковим кодом, а саме PostgreSQL та MySQL було визначено що для розробки пpивaтноï хмapноï системи паралельного збору та обробки шформаци найбшьше шдходить PostgreSQL.

Шсля того як було обрано СУБД, було пpоaнaлiзовaно мови програмування веб сеpвеpiв, i спираючись на там чинники як продуктившсть, можливють працювати з багатьма потоками чи навпъ ядрами процесора, споживання невеликих об'емiв опеpaтивноï пом'ятi, а також простоти мови, було Golang, для розробки веб серверу.

Отже, вибip технолопчного стеку е важливим етапом в розробщ пpивaтноï хмapноï системи паралельного збору та обробки шформацп, пpоpiвши aнaлiз наявних мов СУБД, мов програмування та систем aпapaтноï

вiртуалiзацi! було виявлено, що найб№ш оптимальным технологiчним стеком для розробки приватно! хмарно! системи паралельного збору та обробки шформацп, являеться наступний стек:

- PostgreSQL[12], як СУБД з ввдкритим кодом та гарними показниками продуктивностi;

- Golang, як продуктивна та проста мова програмування веб серверiв;

- Microsoft Hyper-V, як система апаратно! вiртуалiзацi! на основi гiпервiзора

Список використаноТ лiтератури

1. Офiцiйна сторшка Davis Instruments. URL: https://www.davisinstruments.com/

2. Офщшна сторiнка Vaisala. URL: https://www.vaisala.com

3. Офщшна сторшка Campbell Scientific. URL: https://www.campbellsci.com/

4. Офщшна сторшка Golang. URL:https://go.dev

5. Офщшна сторшка PostgreSQL.URL:https://www.postgresql.org/

6. Офщшна сторшка MySQL URL: https://www.mysql.com/

7. What is a Relational Database? URL: https://aws.amazon.com/relational-database/?nc1=h_ls

8. PostgreSQL vs MySQL: The Critical Differences. URL: https://www.integrate.io/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case/

9. SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems. URL: https:// www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql-a-comparison-of-relational-database-management-systems

10. Nodejs vs. Go - Which One Is the Right Choice for You? URL: https://medium.com/javarevisited/nodejs-vs-go-which-one-is-the-right-choice-for-you-7e085a720f7e

11. Go vs. Python in 2023: Which Language Should You Choose. URL: https://uvik.net/blog/go-vs-python/

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

12. 14 Best Programming Languages to Learn in 2023. URL: https://hackr.io/blog/best-programming-languages-to-learn

References

1. The official homepage of Davis Instruments. URL: https://www.davisinstruments.com/

2. The official homepage of Vaisala. URL: https://www.vaisala.com

3. The official homepage of Campbell Scientific. URL: https://www.campbellsci.com/

4. The official homepage of Golang. URL:https://go.dev

5. The official homepage of PostgreSQL. URL:https://www.postgresql.org/

6. The official homepage of MySQL URL: https://www.mysql.com/

7. What is a Relational Database? URL: https://aws.amazon.com/relational-database/?nc1=h_ls

8. PostgreSQL vs MySQL: The Critical Differences. URL: https://www.integrate.io/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case/

9. SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems. URL: https:// www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql-a-comparison-of-relational-database-management-systems

10. Nodejs vs. Go - Which One Is the Right Choice for You? URL: https://medium.com/javarevisited/nodejs-vs-go-which-one-is-the-right-choice-for-you-7e085a720f7e

11. Go vs. Python in 2023: Which Language Should You Choose. URL: https://uvik.net/blog/go-vs-python/

12. 14 Best Programming Languages to Learn in 2023. URL: https://hackr.io/blog/best-programming-languages-to-learn

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