Адаптування користувацьких сервісів для зберігання даних у процесі розроблення програмного забезпечення

  • Д. О. Горман Національний університет "Львівська політехніка", м. Львів
  • Т. О. Коротєєва Національний університет "Львівська політехніка", м. Львів https://orcid.org/0000-0002-6287-5895
Ключові слова: сховище, ключ-значення, хмарні платформи, користувацький API, транзакція, Git, бібліотека, модульна архітектура

Анотація

Подано розробку та результати оцінювання нової бібліотечної архітектури для зберігання даних у форматі ключ-значення, яка використовує зовнішні кінцеві точки користувацьких API. Це дасть змогу полегшити та здешевити процес збереження даних і конфігурації сховища завдяки можливості безоплатного використання публічних API та мінімізації взаємодії з складною інфраструктурою хмарних провайдерів. Розроблена архітектура дає змогу зберегти модульність внутрішніх компонент, забезпечити безпеку збережених даних, оптимізувати процес зберігання даних і спростити налаштування для розробників. Проаналізовано попередні дослідження щодо спрощення взаємодії зі сховищами ключ-значення, з основним акцентом на підвищенні ефективності та зменшенні витрат. Під час аналізу акцентовано увагу на деталях щодо оптимізації конфігурації та ефективності використання систем ключ-значення. Окреслено ключові особливості цих досліджень та подано недоліки проаналізованих рішень для покращення користувацького досвіду використання сховищ. Наведено результати аналізу популярних рішень для зберігання ключів і значень на підставі хмарних платформ, зокрема Amazon Web Services (AWS) і Microsoft Azure. Встановлено особливості, переваги та недоліки використання цих хмарних рішень, а також особливості як безкоштовних, так і платних планів. Досліджено інтеграцію API GitHub, як системи зберігання ключів і значень, визначено основні функції та можливості цього методу зберігання, який ґрунтується на Git і функціях GitHub. Проаналізовано результати тестів інтеграції API, акцентуючи увагу на продуктивності та ефективності цього рішення. Проведено порівняння сховища "ключ-значення" на підставі інтеграції з GitHub API із традиційними хмарними рішеннями для зберігання. На підставі аналізу та порівняння сформульовано висновок щодо випадків використання та доцільності впровадження дослідженого рішення в розробленні програмного забезпечення.

Завантаження

Дані завантаження ще не доступні.

Біографії авторів

Д. О. Горман, Національний університет "Львівська політехніка", м. Львів

магістр, кафедра програмного забезпечення

Т. О. Коротєєва, Національний університет "Львівська політехніка", м. Львів

канд. техн. наук, доцент, кафедра програмного забезпечення

Посилання

Ceresnak, R., Kvet, M., & Matiasko, K. (2021). Improved method of selecting data in a nonrelational database. In 2021 International Conference on Information and Digital Technologies (IDT), 59–64. https://doi.org/10.1109/IDT52577.2021.9497640

Chacon, S., & Straub, B. (2014). Pro Git 2nd Edition. Computer Science. URL: https://kupichitay.com.ua/product/pro-git-2nd-edition-scott-chacon-ben-straub/

Gill, S. S., Tuli, S., Xu, M., Singh, I., Singh, K. V., Lindsay, D., Garraghan, P., et al. (2019). Transformative effects of IoT, Blockchain and Artificial Intelligence on cloud computing: Evolution, vision, trends and open challenges. Internet of Things, 8. https://doi.org/10.1016/j.iot.2019.100118

Gupta, A., Tyagi, S., Panwar, N., Sachdeva, S., & Saxena, U. (2017). NoSQL databases: Critical analysis and comparison. 2017 International Conference on Computing and Communication Technologies for Smart Nation (IC3TSN). https://doi.org/10.1109/ic3tsn.2017.8284494

Gupta, B., Mittal, P., & Mufti, T. (2021). A Review on Amazon Web Service (AWS), Microsoft Azure & Google Cloud Platform (GCP) Services. ICIDSSD 2020. https://doi.org/10.4108/eai.27-2-2020.2303255

Hassan, F., Mostafa, S., Lam, E. S. L., & Wang, X. (2017). Automatic Building of Java Projects in Software Repositories: A Study on Feasibility and Challenges. 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). https://doi.org/10.1109/esem.2017.11

Huang, D., Liu, Q., Cui, Q., Fang, Z., Ma, X., Xu, F., Tang, X., et al. (2020). TiDB: a Raft-based HTAP database. Proceedings of the VLDB Endowment, 13(12), 3072–3084. https://doi.org/10.14778/3415478.3415535

Kalid, S., Syed, A., Mohammad, A., & Halgamuge, M. N. (2017). Big-data NoSQL databases: A comparison and analysis of "Big-Table", "DynamoDB", and "Cassandra." 2nd International Conference on Big Data Analysis. https://doi.org/10.1109/icbda.2017.8078782

Khalil, A., & Belaissaoui, M. (2020). Key-value data warehouse: Models and OLAP analysis. 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS). https://doi.org/10.1109/icecocs50124.2020.9314447

Manchale, A. (2021). Tug Grall On Redis. Software, 38(4), 130–132. https://doi.org/10.1109/ms.2021.3073167

Mishra, A. (2023). Developing Cloud-Native Solutions with Microsoft Azure and NET: Build Highly Scalable Solutions for the Enterprise.

Mistrik, I., Galster, M., & Maxim, B. (2019). Software Engineering for Variability Intensive Systems: Foundations and Applications.

Patel, R. (2021). Data+ Education. Redis Is a Cache or More?. EasyChair Preprint, 88.

Pothukuchi, A. S., Kota, L. V., & Mallikarjunaradhya, V. (2021). A Critical Analysis of the Challenges and Opportunities to Optimize Storage Costs for Big Data in the Cloud.

Sayood, K. (2018). Introduction to Data Compression.

Schildt, H. (2018). Java: The Complete Reference, Eleventh Edition.

Stigler, M. (2018). Beginning Serverless Computing: Developing with Amazon Web Services, Microsoft Azure, and Google Cloud.

Taft, R., Sharif, I., Matei, A., VanBenschoten, N., Lewis, J., Grieger, T., Mattis, P., et al. (2020). Cockroachdb: The resilient geo-distributed sql database. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, 1493–1509. https://doi.org/10.1145/3318464.3386134

Tsitoara, M. (2019) Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer.

Varanasi, B. (2019). Introducing Maven: A Build Tool for Todays Java Developers.

Website. (2022). Azure Table Storage Overview. URL: https://learn.microsoft.com/en-us/azure/storage/tables/table-storage-overview.

Website. (2023). About Azure Cache for Redis. URL: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-overview.

Website. (2023). Amazon DynamoDB features. URL: https://aws.amazon.com/dynamodb/features/.

Website. (2023). Amazon DynamoDB pricing. URL: https://aws.amazon.com/dynamodb/pricing/.

Website. (2023). Gradle User Guide. Part 1: Initializing the Project. URL: https://docs.gradle.org/current/userguide/part1_gradle_init.html.

Yang, C., Huang, Q., Li, Z., Liu, K., & Hu, F. (2017). Big Data and cloud computing: innovation opportunities and challenges. International Journal of Digital Earth, 10(1), 13–53. https://doi.org/10.1080/17538947.2016.1239771

Опубліковано
2023-12-21
Як цитувати
Горман, Д. О., & Коротєєва, Т. О. (2023). Адаптування користувацьких сервісів для зберігання даних у процесі розроблення програмного забезпечення. Scientific Bulletin of UNFU, 33(6), 62-68. https://doi.org/10.36930/40330608
Розділ
Інформаційні технології

Статті цього автора (авторів), які найбільше читають