Адаптування користувацьких сервісів для зберігання даних у процесі розроблення програмного забезпечення
Анотація
Подано розробку та результати оцінювання нової бібліотечної архітектури для зберігання даних у форматі ключ-значення, яка використовує зовнішні кінцеві точки користувацьких 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

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.



