Análisis comparativo del rendimiento en persistencia de datos entre paradigmas imperativo y reactivo, mediante aplicaciones CRUD, Ayacucho, 2025

Loading...
Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Universidad Nacional de San Cristóbal de Huamanga

DOI

Abstract

En el desarrollo de software, la elección del paradigma de programación tiene un impacto considerable en el rendimiento del sistema, especialmente en operaciones de persistencia de datos como interacciones con bases de datos, almacenamiento en archivos y procesamiento de datos en tiempo real. En la actualidad, los desarrolladores de software se enfrentan al reto de construir aplicaciones cada vez más eficientes, escalables y reactivas. En este contexto, los paradigmas de programación juegan un papel importante en el diseño de soluciones tecnológicas. El paradigma imperativo, caracterizado por instrucciones secuenciales que modifican explícitamente el estado del programa, es ampliamente utilizado por su simplicidad y compatibilidad con sistemas tradicionales (Skinait, 2023). Por otro lado, el paradigma reactivo, se centra en qué hacer cuando algo cambia, gestionando flujos de datos y eventos de forma no bloqueante, lo que mejora la escalabilidad y la capacidad de respuesta de las aplicaciones (Jhontona, 2025). Ante esta situación, surge la necesidad de realizar una investigación comparativa, centrada en la comparación de dos aplicaciones CRUD desarrolladas bajo los paradigmas imperativo y reactivo. Para ello se desarrollaron aplicaciones construidas utilizando Java como lenguaje base con el framework spring y sus módulos de spring web y spring webflux. El propósito de este estudio fue comparar el rendimiento en la persistencia de datos de las dos aplicaciones CRUD desarrolladas bajo los paradigmas de programación imperativo y reactivo, mediante un análisis basado en métricas de rendimiento como el tiempo de respuesta, el consumo de recursos del sistema, el throughput y la latencia, evaluadas en distintos escenarios de pruebas de carga, estrés y picos. Esta evaluación permitió identificar, con base en los resultados obtenidos, las diferencias en el comportamiento de ambas aplicaciones CRUD, desarrolladas bajo los paradigmas imperativo y reactivo, respecto al rendimiento en persistencia de datos. Los resultados descriptivos obtenidos muestran que la aplicación desarrollada bajo el paradigma reactivo presentó menores tiempos de respuesta promedio respecto a la desarrollada bajo el paradigma imperativo en las operaciones Create, Update y Read, no así en la operación Delete, donde el aplicativo imperativo registró un tiempo de respuesta promedio menor. De manera similar, la aplicación reactiva presentó menor latencia promedio respecto a la aplicación imperativa en los tres endpoints antes mencionados; la operación Delete se excluyó de este análisis, dado que no fue posible registrar dicho indicador al retornar un código de estado HTTP 204 (No Content), el cual no incluye cuerpo de respuesta. En cuanto al consumo de recursos, la aplicación reactiva presentó un mayor porcentaje de uso de CPU y un mayor consumo de memoria tanto del aplicativo como de la base de datos respecto a la aplicación imperativa; sin embargo, presentó menor consumo de memoria de la máquina virtual Java (JVM) respecto a esta última. Asimismo, la aplicación reactiva alcanzó una mayor tasa de transacciones por segundo (TPS) respecto a la aplicación imperativa en la generalidad de las operaciones.

Description

Citation

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwise noted, this item's license is described as https://purl.org/coar/access_right/c_abf2