Artículo

Ingeniería De Software

05 de octubre de 2026

Uso de IA generativa para selección de base de datos: Un framework orientado a requisitos para la generación de Architecture Decision Records (ADRs)

Uso de IA Generativa para Selección de Bases de Datos: un Framework Orientado a Requisitos para la Generación de Registros de Decisiones de Arquitectura (ADRs)

Geovanni de Morais Gava; Luiz Fernando Pereira Nunes

DOI: 10.22167/2675-6528-202602960

Artículo derivado de Trabajo de Fin de Curso (TCC), con contenido basado en el trabajo original del estudiante y adaptado al formato editorial de la Revista E&S con el apoyo de la herramienta ResumeAI, una solución de inteligencia artificial desarrollada por el Instituto Pecege para la síntesis y organización textual.

Resumen

El crecimiento de aplicaciones intensivas en datos y la adopción de la arquitectura de microservicios han ampliado la necesidad de persistencia políglota, imponiendo una alta carga cognitiva a los arquitectos de software en la elección y justificación de tecnologías de bases de datos. Este trabajo tuvo como objetivo proponer y desarrollar un framework basado en agentes de Inteligencia Artificial (IA) para guiar la selección tecnológica y generar Architecture Decision Records (ADRs) fundamentadas. Se empleó una metodología experimental y aplicada para construir una base de conocimiento técnico. La técnica de Retrieval-Augmented Generation (RAG), junto con las bibliotecas LangChain y LangGraph, se utilizó para orquestar agentes y anclar las respuestas de un Large Language Model (LLM). El framework extrajo requisitos en lenguaje natural, los enriqueció con RAG y los envió al LLM, que generó ADRs para auxiliar en la evaluación de trade-offs teóricos. Los resultados demostraron que el agente con RAG redujo respuestas genéricas, aumentando el fundamento teórico y la trazabilidad. El enfoque RAG demostró su eficacia frente a prompts convencionales (zero-shot), favoreciendo la generación de ADRs con menor nivel de alucinación y alto nivel de trazabilidad teórica. Se concluyó que la herramienta automatizada cumplió la función de mapeo de requisitos, resultando en documentos técnicos empíricamente fundamentados y auxiliando la gobernanza y toma de decisiones en arquitectura de software.

Palabras clave: Bases de datos; Inteligencia artificial; LangGraph; LLM; RAG.

1. Introducción

La evolución de los sistemas de información en las últimas décadas ha transformado profundamente la forma en que las organizaciones manejan el gran volumen de información generado diariamente. Para procesar estos datos de manera estructurada, la adopción de tecnologías robustas es indispensable. Una base de datos se entiende como una colección de datos que, típicamente, describe las actividades de una o más organizaciones relacionadas (Ramakrishnan y Gehrke, 2008).

Históricamente, el modelo relacional ha dominado este escenario, dictando cómo las aplicaciones empresariales abstraían y manipulaban sus registros. Sin embargo, la arquitectura de software moderna exige una comprensión cada vez más profunda sobre el modelado y las estructuras físicas de almacenamiento. Existe una brecha entre la visión del usuario y el almacenamiento físico. Ramakrishnan y Gehrke (2008) destacan que, aunque un modelo de datos oculta detalles de bajo nivel, todavía está más cerca de cómo el sistema de gestión de bases de datos almacena los datos que de cómo el usuario piensa sobre la empresa.

A pesar de la fuerte consolidación del modelo relacional, la llegada de escenarios de aplicaciones intensivas en datos, frecuentemente denominados Big Data, y la necesidad de escalabilidad horizontal a través de clústeres de servidores impulsaron el auge de las bases de datos NoSQL. Esta transición abrió puertas a un nuevo paradigma en el diseño de software. Como explican Sadalage y Fowler (2012), estamos entrando en un mundo de Persistencia Políglota, donde las empresas e incluso aplicaciones individuales utilizan múltiples tecnologías para la gestión de datos. Esta flexibilidad tecnológica, sin embargo, impone una pesada carga cognitiva a los arquitectos de software y ingenieros de datos, ya que la toma de decisiones arquitecturales exige el balanceo constante entre garantías estructurales. El choque entre propiedades transaccionales clásicas y entornos distribuidos es inevitable, dado que las bases de datos relacionales utilizan transacciones ACID para manejar la consistencia, lo que inherentemente entra en conflicto con un entorno de clúster, haciendo que las bases de datos NoSQL ofrezcan una gama de opciones para consistencia y distribución (Sadalage y Fowler, 2012).

En la práctica diaria, la selección de la tecnología de persistencia a menudo descuida estas restricciones teóricas, como el Teorema CAP y las propiedades ACID versus BASE. La elección termina basándose en el sesgo de popularidad de las herramientas del mercado o en pruebas de rendimiento empíricas no estandarizadas, en lugar de una fundamentación sólida. Con el auge de la Inteligencia Artificial Generativa y los Large Language Models (LLMs), surgió una oportunidad para automatizar y apoyar el diseño de sistemas de forma inteligente. Sin embargo, tales modelos sufren el fenómeno de las “alucinaciones”, generando recomendaciones técnicamente imprecisas en dominios altamente específicos cuando carecen de conocimiento y base técnica.

Para mitigar este desafío, se suele adoptar la técnica de Retrieval-Augmented Generation (RAG), que ancla el razonamiento y la generación de texto de la IA en una base bibliográfica externa enfocada en la ingeniería de datos. El uso de la técnica de RAG está fundamentado en la literatura para la resolución de fallos basados en falta de información y desactualización de los modelos, ya que enriquece la generación de respuestas con fuentes externas y factuales, mitigando el riesgo de alucinaciones técnicas y haciendo el documento final altamente rastreable (Huyen, 2025). Además, el RAG reduce el costo y la latencia al seleccionar solo la información estrictamente relevante, optimizando el uso del límite de tokens nativo de la ventana de contexto de la IA (Huyen, 2025). Ante este escenario, la presente investigación se justifica por la oportunidad de unir los avances de los agentes orquestados de IA para mejorar la gobernanza en arquitectura de software.

La necesidad de decisiones robustas y teóricamente fundamentadas en la selección de bases de datos, combinada con el potencial de los agentes de IA para superar las limitaciones de las salidas genéricas de los LLMs, resalta la relevancia de este estudio. El objetivo central de este trabajo es proponer y desarrollar un framework inteligente que, provisto de literatura clásica de bases de datos, sea capaz de interpretar requisitos en lenguaje natural, evaluar trade-offs teóricos y generar, de forma autónoma, un Architecture Decision Record (ADR) consistente, rastreable y con el menor número posible de “alucinaciones”, así como una reducción de sesgos de mercado.

2. Material y Métodos

La investigación realizada se caracterizó por su naturaleza experimental y aplicada, empleando enfoques de desarrollo de aplicaciones con agentes y Modelos Fundacionales. Los procedimientos se llevaron a cabo en simulaciones controladas de ingeniería de software, con el objetivo de construir un framework inteligente. El enfoque metodológico principal residió en la utilización de la técnica de Generación Aumentada por Recuperación (RAG) y de agentes autónomos, con el propósito de superar las limitaciones inherentes a las ventanas de contexto y la propensión de los Modelos de Lenguaje Grandes (LLMs) a generar respuestas sin trazabilidad.

La adopción de agentes de Inteligencia Artificial se justificó por la capacidad de combinar diversas herramientas, conocimientos, memoria y aprendizaje con modelos avanzados. Esta combinación permitió la resolución de problemas ambiguos y complejos a través de múltiples etapas de razonamiento, como destacó Albada (2025). La construcción del framework se estructuró en etapas operativas distintas, detalladas a continuación, para garantizar la robustez y la funcionalidad del sistema propuesto.

La primera etapa consistió en la ingesta y procesamiento de datos para la base de conocimiento del RAG. Para ello, se estableció una base de conocimiento (grounding) a partir de la literatura clásica de sistemas de bases de datos, documentaciones oficiales de herramientas y teorías específicas, como topologías, mecanismos de replicación y modelos de consistencia, incluyendo las propiedades ACID versus BASE y el Teorema CAP. Esta base fue fundamental para anclar el razonamiento de la IA.

Los textos recopilados fueron fragmentados, proceso conocido como chunking, y convertidos en embeddings. Esta conversión se realizó a través de un modelo codificador específico, Ollama con nomic-embed-text. Posteriormente, los embeddings resultantes se almacenaron en una base de datos vectorial, utilizando la combinación de PostgreSQL y la extensión pgvector, permitiendo la búsqueda indexada de información relevante.

La técnica de Generación Aumentada por Recuperación (RAG) se empleó para mitigar fallos derivados de la falta de información y la desactualización de los modelos, enriqueciendo la generación de respuestas con fuentes externas y factuales. Esto contribuyó a reducir el riesgo de alucinaciones técnicas y aumentar la trazabilidad del documento final (Huyen, 2025). Adicionalmente, el RAG optimizó el uso del límite de tokens de la ventana de contexto de la IA, seleccionando solo información estrictamente relevante y, consecuentemente, reduciendo costos y latencia (Huyen, 2025).

La segunda etapa implicó la implementación del agente, donde se utilizaron las bibliotecas LangChain y LangGraph para construir la orquestación y la máquina de estados del agente conversacional. Se eligió LangGraph por su capacidad de proporcionar un framework de orquestación modular basado en grafos dirigidos, soportando flujos de trabajo cíclicos y asíncronos, lo cual es crucial para arquitecturas de agentes robustas (Albada, 2025).

LangGraph modeló el proceso de generación del Architecture Decision Record (ADR) como un grafo de estados. En este flujo, un nodo ingestor fue responsable de analizar y validar la entrada del usuario, mientras que un nodo redactor ejecutó la búsqueda en RAG, evaluó la relevancia del contenido recuperado, invocó el Large Language Model (LLM) y formateó la salida final en markdown y según el estándar ABNT.

La biblioteca LangChain actuó como una capa de abstracción para los componentes de IA, ofreciendo piezas listas e intercambiables. Esto incluyó funcionalidades de carga y división de documentos, como el PyPDFLoader para cargar PDFs y el RecursiveCharacterTextSplitter para dividir el texto en fragmentos con solapamiento. Para embeddings, se utilizó OllamaEmbeddings, que abstrajo la llamada a Ollama para generar vectores.

Para el almacenamiento vectorial, se empleó PGVector, que abstrajo la lógica de inserción, selección y búsqueda por similitud en PostgreSQL, eliminando la necesidad de escribir SQL manualmente. Las interfaces comunes, definidas por langchain-core, garantizaron la flexibilidad para cambiar modelos de embedding o bases vectoriales sin alterar el resto del código del sistema.

La tercera etapa se centró en la ingeniería de prompts y la recuperación, donde los prompts del sistema establecieron reglas explícitas para la IA. Se instruyó al modelo para que descomponga el problema del usuario, identifique compensaciones basadas en los requisitos extraídos, el Teorema CAP y las restricciones arquitectónicas recuperadas por el flujo RAG, antes de tomar la decisión final. El prompt completo enviado al LLM se compuso de cuatro capas distintas.

La primera capa, el System Prompt, definió el rol del LLM como arquitecto senior, las reglas de escritura y la estructura del ADR, incluyendo secciones obligatorias como Contexto, Decisión, Consecuencias, Alternativas y Referencias, además de instrucciones de formato y citación ABNT. La segunda capa, de requisitos expandidos, consistió en seis preguntas de opción múltiple sobre estructura de datos, naturaleza de las búsquedas, proporción de operaciones, volumetría y escalabilidad, Teorema CAP y transacciones multi-registro, cuyas respuestas fueron transformadas en texto legible.

La tercera capa, de contexto de seguimiento, era opcional y se utilizaba cuando el usuario indicaba “no estoy seguro” en alguna pregunta de la capa anterior. En ese caso, se hacían dos preguntas de contexto de tipo Sí/No para clarificación, enriqueciendo el prompt. La cuarta capa, de contexto RAG, adjuntaba chunks relevantes encontrados por el RAG al final del prompt, proporcionando conocimiento técnico y referencias bibliográficas para fundamentar las respuestas.

La cuarta y última etapa comprendió la evaluación y los escenarios de validación del framework. El sistema fue sometido a pruebas simuladas basadas en tres patrones típicos de System Design: alta ingesta de eventos con prioridad en escalabilidad de escritura lineal (AP), transacciones financieras distribuidas con prioridad en fuerte consistencia y durabilidad (CP/ACID), y un catálogo de productos con búsquedas flexibles.

Para evaluar la efectividad del enfoque, los Architecture Decision Records (ADRs) generados con el soporte del flujo RAG y de los agentes se compararon con las respuestas obtenidas por el enfoque zero-shot, que se basaba únicamente en el conocimiento paramétrico del modelo. La evaluación fue de naturaleza cualitativa, centrándose en la consistencia factual y en la trazabilidad de las justificaciones, verificando la coherencia con las referencias de la arquitectura de las tecnologías. Los anexos V y VI del trabajo original contienen los ADRs generados para los escenarios sin y con la utilización del RAG, respectivamente.

3. Resultados y Discusión

La implementación del framework propuesto demostró la viabilidad del uso de agentes conversacionales, guiados por la técnica de Retrieval-Augmented Generation (RAG), para la ejecución de tareas analíticas complejas, como la selección y la justificación técnica de bases de datos. Las rondas de ejecución, realizadas en escenarios de validación controlados, evidenciaron diferencias significativas entre las recomendaciones generadas por un Large Language Model (LLM) en enfoque zero-shot y aquellas enriquecidas con contexto bibliográfico externo, proporcionado por el RAG. Esta distinción resaltó la capacidad del framework para mitigar sesgos y alucinaciones, promoviendo decisiones más fundamentadas y rastreables.

Las pruebas se estructuraron en tres escenarios distintos, cada uno representando un patrón común de diseño de sistemas, permitiendo una evaluación exhaustiva del rendimiento del framework. El análisis comparativo se centró en la consistencia fáctica, la profundidad de la justificación y la trazabilidad de las fuentes teóricas utilizadas. Se observó que la ausencia del RAG a menudo conducía a elecciones basadas en la popularidad o analogías superficiales, mientras que su aplicación dirigía al LLM hacia soluciones más robustas y alineadas con los requisitos técnicos específicos de cada contexto.

Ingesta de Eventos (Escritura Lineal / AP)

En el escenario que simulaba la ingesta masiva de telemetría y logs, donde la escala de datos podía alcanzar Petabytes y la disponibilidad (AP) era la máxima prioridad frente a fallos parciales de red, el enfoque zero-shot del LLM sugirió Redis. Esta recomendación se basó en la velocidad de escritura y la simplicidad de la estructura clave-valor, pero ignoró las restricciones físicas de memoria RAM y la persistencia para volúmenes tan elevados, lo que haría el coste prohibitivo y aumentaría el riesgo de pérdida de datos en caso de fallo de energía. Alternativas como MySQL, PostgreSQL y MongoDB fueron descartadas por no soportar el volumen de escritura o no estar optimizadas para operaciones puras de clave-valor.

En contraste, el framework enriquecido con RAG, al procesar los mismos requisitos, recomendó ScyllaDB. La decisión se fundamentó en la capacidad de ScyllaDB para manejar grandes volúmenes de datos a través de su modelo de familia de columnas y clave-valor, optimizado para acceso a altísima velocidad por clave primaria (Sadalage; Fowler, 2012). El agente destacó la arquitectura “shard-per-core” de ScyllaDB, ideal para cargas intensas de escritura (ScyllaDB, 2023), y su escalabilidad lineal en múltiples servidores (Scabora, 2016). Además, la implementación del modelo masterless favorece la disponibilidad en el teorema CAP, con consistencia eventual ajustable (ScyllaDB, 2023; Sadalage; Fowler, 2012).

Las consecuencias positivas de la elección de ScyllaDB incluyeron alta disponibilidad nativa y escalabilidad lineal a Petabytes, junto con una latencia de escritura extremadamente baja debido a la ausencia de bloqueos globales (ScyllaDB, 2023). Sin embargo, se identificaron desventajas, como la inadecuación para consultas que requieren múltiples JOINs complejos (Scabora, 2016) y la necesidad de un modelado de datos orientado a las consultas. Las alternativas consideradas y descartadas por el agente con RAG fueron Redis, debido al costo inviable de memoria RAM para volúmenes masivos; PostgreSQL, ya que su control de concurrencia limita la escritura masiva (Ramakrishnan; Gehrke, 2008); y Neo4j, por estar optimizado para conexiones y no para alta ingesta de logs (Robinson et al., 2015).

Transacciones Financieras (Fuerte Consistencia / CP)

Para el escenario de transacciones financieras distribuidas, que exigía un alto grado de consistencia (CP) y garantía de transacciones aisladas, el LLM en enfoque zero-shot sugirió MongoDB. Aunque el modelo intentó justificar la elección basándose en la capacidad de organizar datos como tablas y soporte para transacciones multi-documento, las descripciones sobre recuperación ante fallos y la superioridad del modelo relacional para integridad referencial rígida fueron imprecisas, caracterizando una alucinación de conocimiento no paramétrico. MongoDB no es una base de datos relacional nativa, lo que podría causar ineficiencia en JOINs complejos, y garantizar ACID estricto exigiría configuraciones que reducirían el rendimiento. Alternativas como Cassandra, SQLite y Neo4j fueron descartadas por no soportar transacciones ACID estrictas o no ser adecuadas para el contexto financiero.

Con la integración de RAG, el framework recuperó con éxito fragmentos de la literatura de Ramakrishnan y Gehrke (2008) sobre el Protocolo de Bloqueo de Dos Fases (2PL) y las propiedades ACID. Basado en este fundamento, el agente recomendó PostgreSQL, priorizando la “Consistencia” frente a la falla de particiones en el Teorema CAP. La decisión fue justificada por el modelo relacional que garantiza la integridad a través de esquemas fijos (Ramakrishnan; Gehrke, 2008), soporte para JOINs y agregaciones complejas vía SQL, y eficiencia con carga mixta bajo concurrencia. PostgreSQL está optimizado para servidores únicos de alto rendimiento e implementa protocolos de bloqueo que garantizan la Consistencia CP (Ramakrishnan; Gehrke, 2008), con garantías ACID nativas y fundamentales para operaciones financieras (Hiremath, 2018).

Las consecuencias positivas de la elección de PostgreSQL incluyeron robustez en el control de transacciones concurrentes a través del aislamiento (Ramakrishnan; Gehrke, 2008) y la madurez del ecosistema para la auditoría financiera (Hiremath, 2018). Como puntos negativos, se señalaron la menor disponibilidad en caso de fallos severos de red, comparado con sistemas AP, y la dificultad de escalabilidad horizontal en relación con bases NoSQL (Sadalage; Fowler, 2012). Las alternativas descartadas por el RAG fueron MongoDB, ya que la estructura tabular rígida y los JOINs son nativamente superiores en RDBMS (Ramakrishnan; Gehrke, 2008); Cassandra, por priorizar la disponibilidad en lugar de la consistencia fuerte ACID (Sadalage; Fowler, 2012); y ScyllaDB, por no estar enfocado en transacciones ACID multi-tabla (ScyllaDB, 2023).

Catálogo de Productos (Búsquedas Flexibles / AP)

En el escenario de un catálogo de productos con búsquedas flexibles, donde la prioridad era la disponibilidad (AP) y la necesidad de manejar datos flexibles (JSON) y búsquedas textuales, el enfoque zero-shot del LLM sugirió Neo4j. Esta elección se basó en la premisa superficial de que “los productos tienen categorías”, lo que llevó a una analogía inadecuada con bases de datos de grafos. Aunque Neo4j es excelente para sistemas de recomendación y visualización intuitiva de árboles de productos, no está optimizado para búsquedas textuales del tipo “fuzzy search” a gran escala, y su rendimiento puede degradarse en búsquedas que no utilizan las relaciones. Alternativas como Elasticsearch, PostgreSQL y Cassandra fueron descartadas por ser solo motores de búsqueda, demasiado rígidos para atributos dinámicos o complejos para búsquedas textuales.

El framework enriquecido con RAG, a su vez, identificó correctamente MongoDB como la solución más adecuada. La decisión se basó en la capacidad de MongoDB para almacenar atributos dinámicos de productos en documentos JSON (Sadalage; Fowler, 2012) y ofrecer índices de texto para búsquedas flexibles (Płuciennik; Zgorzałek, 2017). El agente destacó la eficiencia de MongoDB para cargas de trabajo de lectura masiva, su soporte para sharding para volúmenes masivos de datos (Sadalage; Fowler, 2012), la posibilidad de configuración para alta disponibilidad (AP) y la aceptabilidad de la consistencia eventual para catálogos de productos.

Las consecuencias positivas de la elección de MongoDB incluyeron agilidad en el desarrollo debido al mapeo directo entre objetos y documentos (Płuciennik; Zgorzałek, 2017), además de la facilidad de expansión a nuevos mercados y categorías de productos. Sin embargo, se observaron desventajas, como el consumo de espacio en disco superior al modelo relacional debido a la desnormalización (Sadalage; Fowler, 2012) y la falta de optimización para consultas de relaciones complejas, típicas de grafos (Robinson et al., 2015). Las alternativas descartadas por el RAG fueron Neo4j, ya que la complejidad de grafos no era necesaria para búsquedas textuales de catálogo (Robinson et al., 2015); ScyllaDB, por no poseer la flexibilidad de campos dinámicos del modelo de documentos (ScyllaDB, 2023); y PostgreSQL, debido a la rigidez del esquema que dificulta atributos variables (Płuciennik; Zgorzałek, 2017).

La calidad de la salida final de la herramienta se expresó en la generación de Architecture Decision Records (ADRs) con rigor analítico. El modelo fue guiado por instrucciones explícitas insertadas en el prompt, limitando su uso únicamente a la base de conocimiento extendida. Esto permitió que el framework superara la inestabilidad común de la generación sintética, atestiguando que la arquitectura sistémica intrínseca del software sirve como criterio primario de elección, mitigando la dependencia de benchmarks empíricos de internet, que son frecuentemente inconsistentes. La capacidad de generar ADRs rastreables y teóricamente fundamentados representa un avance significativo en la gobernanza y toma de decisiones en arquitectura de software, validando la eficacia del enfoque RAG para mejorar la inteligencia generativa en dominios técnicos específicos.

4. Conclusión

El presente estudio tuvo como objetivo proponer y desarrollar un framework inteligente, basado en agentes de Inteligencia Artificial, para guiar la selección de tecnologías de bases de datos y generar Architecture Decision Records (ADRs) fundamentados. Se verificó que el enfoque de Retrieval-Augmented Generation (RAG), junto con la orquestación de agentes, demostró ser eficaz en la interpretación de requisitos en lenguaje natural y en la evaluación de trade-offs teóricos. Los resultados evidenciaron una reducción significativa de respuestas genéricas y “alucinaciones” en comparación con modelos de lenguaje en enfoque zero-shot, aumentando el fundamento teórico y la trazabilidad de las recomendaciones. Se observó que el framework fue capaz de proporcionar soluciones robustas y alineadas a los requisitos técnicos específicos en escenarios diversos, como la ingesta masiva de eventos, transacciones financieras con fuerte consistencia y catálogos de productos con búsquedas flexibles, recomendando ScyllaDB, PostgreSQL y MongoDB, respectivamente, con justificaciones ancladas en la literatura.

La principal contribución de este trabajo reside en la creación de una herramienta automatizada que mejora la gobernanza en la arquitectura de software, al mapear requisitos y generar documentos técnicos empíricamente fundamentados. La capacidad de producir ADRs con rigor analítico y trazabilidad teórica representa un avance significativo, ya que mitiga la dependencia de sesgos de mercado o de benchmarks empíricos inconsistentes, priorizando la arquitectura sistémica intrínseca del software como criterio primario de elección. Así, el framework desarrollado auxilia directamente a los arquitectos de software en el complejo proceso de toma de decisiones, promoviendo elecciones más informadas y confiables.

Referencias Bibliográficas

Abhinav Hiremath; Comparative Analysis of Relational vs NoSQL Databases in Web Applications Dataset. Vol. 06, Issue: 03, March: 2018

ALBADA, Michael. Building Applications with Al Agents: Designing and Implementing Multiagent Systems. 1. ed. Santa Rosa: O’Reilly Media, 2025

HUYEN, Chip. Al Engineering: Building Applications with Foundation Models. 1. ed. [S. I.]: O’Reilly Media, 2024.

PŁUCIENNIK, E.; ZGORZAŁEK, K. The multi-model databases-a review. In: SPRINGER. 2017.

Ramakrishnan, R.; Gehrke, J. Sistemas de gerenciamento de banco de dados. 3. ed. McGraw Hill Brasil, 2008.

ROBINSON, I.; WEBBER, J.; EIFREM, E. Graph databases: new opportunities for connected data. [S.I.]: “O’Reilly Media, Inc.”, 2015.

Sadalage, P. J.; Fowler, M. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley, 2012.

SCABORA, L. D. C. Avaliação do Star Schema Benchmark aplicado a bancos de dados NoSQL distribuídos e orientados a colunas. 2016.

ScyllaDB. ScyllaDB Architecture Overview. ScyllaDB Documentation, 2023.

Artículo originado del Trabajo de Conclusión de Curso de la Especialización en Ingeniería de Software del MBA USP/Esalq

Para saber más sobre el curso, haga clic aquí y acceda a la plataforma MBX Academy

También te puede interesar

Ingeniería De Software

09 de octubre de 2026

O papel da densidade de texto instrutivo na eficiência de uma aplicação web.

O desenvolvimento de aplicações web se conecta à experiência do usuário, e este trabalho investigou como o uso excessivo de textos instrutivos pode retardar a conclusão de tarefas e impactar a eficiência da aplicação. O objetivo foi identificar o impacto da densidade textual do conteúdo instrutivo na eficiência de uma aplicação web, utilizando como principal referência a terceira lei de usabilidade de Krug. A pesquisa, de caráter exploratório e delineamento experimental quantitativo, empregou um teste A/B em uma aplicação web responsiva, onde a única variável controlada foi a densidade textual (alta vs. baixa, definida pela contagem de palavras). Participaram 25 usuários, e os dados foram coletados via Datadog RUM, mensurando tempo de conclusão, erros de submissão e taxa de conversão. Os resultados revelaram que a variante com densidade textual reduzida (variante B) apresentou uma taxa de conversão superior (58,3% contra 33,3% da variante A) e um tempo médio de conclusão significativamente menor (1:38 minutos contra 4:58 minutos da variante A), representando um aumento de 67,12% na eficiência. O teste t de Welch (p=0,042) confirmou que a redução da densidade textual impactou a eficiência. Concluiu-se que a redução da densidade textual afeta a eficiência e a taxa de conversão, reforçando a importância de conteúdo objetivo e conciso. Contudo, a baixa densidade textual, por si só, não garantiu o pleno entendimento, sendo essencial a comunicação clara e objetiva das instruções, validando a relevância do UX Writing.

Palavras-chave: Eficiência; Experiência de usuário; Teste A/B; Texto Instrutivo; Usabilidade.

Ingeniería De Software

09 de octubre de 2026

Implementación de sistemas de analítica en entornos de automatización en la industria de procesos

La digitalización de plantas de proceso depende de la recolección y el almacenamiento estructurados de datos, sin los cuales no hay visibilidad de la operación. Se llama analítica industrial a la cadena que recorre estos datos desde la adquisición de la señal en el instrumento de campo, pasando por el almacenamiento ordenado en el tiempo, hasta la disponibilización para análisis y para otros sistemas. Los softwares industriales propietarios cubren hoy esta cadena, y los costos de licenciamiento y mantenimiento restringen su adopción. El estudio tuvo por objetivo arquitectar, implementar y validar un sistema de esta naturaleza, empleando técnicas corrientes de desarrollo de software y componentes sin costo de licenciamiento. El sistema, denominado Sistema de Adquisición y Tratamiento de Información de Proceso (SATIP), se estructuró en tres capas independientes, teniendo como fuente de datos un simulador de reactor farmacéutico que ejecutó una receta de ocho etapas y generó series temporales con variación estocástica. El simulador se escribió en Go, lenguaje adoptado por generar binarios autocontenidos, adecuados a la ejecución en equipos de borde. El almacenamiento utilizó TimescaleDB y la disponibilización se realizó por medio de una interfaz REST con un panel web. El sistema procesó cerca de 414 mil registros por ejecución, con tendencia multivariante, registro de alarmes y correlación temporal entre instrumentos. La arquitectura se mostró reproducible y sin costo de licenciamiento, y la identificación de la degradación exigió solo las lecturas ya almacenadas por el sistema.

Palabras clave: Arquitectura de software; Digitalización; Integración IT/OT; Mantenimiento predictivo; Series temporales.

Ingeniería De Software

09 de octubre de 2026

Uso de la voz junto con grandes modelos de lenguaje como herramienta para la accesibilidad digital

El habla es una base esencial para la interacción humana y, para las personas con discapacidad, puede representar la principal forma de comunicación con el entorno externo. Dada la creciente influencia tecnológica, la identificación de comandos de voz ha surgido como una estrategia prometedora para la interacción hombre-máquina. El trabajo exploró cómo la voz, junto con los Grandes Modelos de Lenguaje (LLMs), puede ser utilizada de manera eficiente, natural y precisa. Para ello, se emplearon diversos patrones de diseño y el lenguaje Python, buscando una mayor extensibilidad. Se utilizó Gemini como proveedor de LLM, enviando el audio directamente y aprovechando su capacidad de llamada de función para interactuar con el dispositivo. Se desarrolló un sistema capaz de comprender la intención del usuario y convertirla en acciones, cuyo diferencial fue la capacidad de visión computacional basada en capturas de pantalla y un sistema de malla para la orientación del LLM. Las pruebas revelaron una tasa de comprensión de la intención del usuario del 91,81% y una tasa de éxito en la ejecución del 75,45% con el modelo “Flash-3” (top p 0,5 y top k 5). El sistema propuesto validó la premisa de que la integración de LLMs a interfaces de voz aumenta la autonomía de usuarios con discapacidad motora, cumpliendo el propósito de ser una Tecnología Asistiva moderna y eficaz. Sin embargo, se plantearon cuestiones sobre los costos de la IA y la seguridad de los datos del usuario, indicando la necesidad de mejora.

Palabras clave: Llamada de función; Interacción hombre-máquina; Reconocimiento de voz; Visión computacional.

Ingeniería De Software

09 de octubre de 2026

ReasonGuard: Una Plataforma de Auditoría de Razonamiento para Modelos de Lenguaje Basada en Descomposición Estructurada de Pensamiento

Se presentó ReasonGuard, una plataforma de auditoría de razonamiento de Inteligencia Artificial, desarrollada como middleware de observabilidad entre aplicaciones cliente y modelos de lenguaje a gran escala (LLMs). El trabajo tuvo como objetivo ofrecer transparencia y trazabilidad a los procesos de toma de decisiones basados en IA, abordando la brecha en la operacionalización de técnicas de razonamiento estructurado para fines de auditoría. El sistema interceptó, analizó y documentó interacciones con LLMs a través de cinco módulos fundamentados en los paradigmas Chain-of-Thought (CoT), Tree-of-Thought (ToT) y Graph-of-Thought (GoT). Estos módulos capturaron rastros de razonamiento, detectaron fallas lógicas estructurales, evaluaron la consistencia de las respuestas y generaron informes de auditoría dirigidos a diferentes perfiles de stakeholders. La plataforma se implementó con FastAPI (Python) en el backend, React con TypeScript en el frontend y PostgreSQL como base de datos relacional, siguiendo una arquitectura modularizada con aislamiento multitenancy por usuario. Los resultados demostraron la viabilidad técnica del enfoque propuesto, con los cinco módulos operativos e integrados. Se concluyó que ReasonGuard contribuye a la gobernanza de IA al instrumentalizar paradigmas de razonamiento estructurado como herramientas de observabilidad y auditoría, llenando una laguna en la literatura.

Palabras clave: Auditoría de IA; Chain-of-Thought; Gobernanza de IA; Modelos de Lenguaje a Gran Escala; Transparencia Algorítmica.

Ingeniería De Software

09 de octubre de 2026

EngTT: software para transporte de carga terrestre basado en costos operativos y parámetros ANTT

El transporte por carretera representa la principal modalidad logística de Brasil, con la composición de los costos de flete regulada por la Agencia Nacional de Transportes Terrestres (ANTT). Ante la ausencia de una metodología estructurada para el cálculo de fletes y la dependencia de hojas de cálculo aisladas en el sector, se desarrolló el software EngTT. El objetivo fue crear una herramienta de apoyo a la decisión que integrara variables operativas, calculase el costo total por ruta y comparase los resultados con el piso mínimo de la ANTT, identificando escenarios de no conformidad y compresión de margen antes de la fijación de precios. La metodología adoptada fue aplicada, cuantitativa y experimental, con construcción incremental orientada al concepto de Producto Mínimo Viable (MVP). El sistema se estructuró en tres modos de uso – Montar Ruta Visual, Batch por hoja de cálculo y Scrape de rutas – compartiendo un motor de cálculo desacoplado y parámetros centralizados. Los resultados obtenidos demostraron que el software cumplió el objetivo propuesto, evidenciando variaciones de margen y conformidad regulatoria entre las rutas analizadas. Se observó que rutas de mayor extensión, como Ribeirão Preto × Guarujá, presentaron incremento de costo debido a la necesidad de pernoctaciones adicionales del conductor, mientras que rutas más cortas, como Cajamar × Guarujá, mostraron mayor adherencia al piso regulatorio de la ANTT. Se concluyó que la solución desarrollada es aplicable al sector de transporte por carretera de cargas como herramienta eficaz de fijación de precios y gestión operativa.

Palabras clave: ANTT; Carga contenerizada; Ingeniería de software; Flete por carretera; Python.

Ingeniería De Software

08 de octubre de 2026

Pipeline de datos para el monitoreo de acciones considerando la metodología fundamentalista

El panorama financiero brasileño enfrenta desafíos como el endeudamiento familiar, la baja alfabetización financiera y la descentralización de información para el análisis de inversiones. Ante esto, el objetivo de la investigación consistió en desarrollar un pipeline de datos financieros, fundamentado en buenas prácticas de Ingeniería de Datos, para estructurar, procesar y disponibilizar información relevante que apoyara la toma de decisiones de inversores individuales en el análisis de acciones. Se implementó una arquitectura medallón, utilizando MinIO S3 para almacenamiento en capas bronce, silver y gold, con Delta Lake para gobernanza de datos. Se empleó Apache Spark para procesamiento distribuido, Prometheus para monitoreo y Power BI para visualización analítica. Los datos fueron mayoritariamente demostraciones financieras de la Comisión de Valores Mobiliarios (CVM). Se construyó una cartera teórica de inversiones con base en los principios de Benjamin Graham (2017), aplicando filtros de selección y validación de datos. Los resultados indicaron un retorno positivo del 32,88% para la cartera teórica, superando el índice Ibovespa (4,25%) en el período de 2021 a 2024, aunque inferior a la tasa Selic (46,96%). Cualitativamente, el pipeline procesó conjuntos de datos voluminosos, con reducciones significativas de redundancias, como 99,27% en la tabla BPA y 94,29% en la DRE, tras la aplicación de filtros. Se evidenciaron ganancias en organización, trazabilidad y calidad de los datos, posibilitando análisis financieros estructurados y más robustos.

Palabras clave: Arquitectura Medallón; Ingeniería de Datos; Inversiones; Pipeline de Datos.

Ingeniería De Software

08 de octubre de 2026

Desempeño y Costo Total de Propiedad de Bases de Datos en la Nube e Infraestructura Local

El presente estudio analizó el rendimiento de operaciones de bases de datos en infraestructuras de nube y locales, correlacionando el comportamiento técnico con la proyección del Costo Total de Propiedad. La investigación se caracterizó como un estudio cuantitativo y experimental, en el cual un sistema de pruebas sometió instancias aisladas de bases de datos a cargas progresivas de ejecución, midiendo el impacto de la latencia de red y del consumo computacional. Para el análisis financiero, se elaboró un modelo de inversiones y gastos operativos diluidos en un ciclo de treinta y seis meses. Los resultados técnicos revelaron que la acumulación de la latencia de internet causó una severa degradación del tiempo en las ejecuciones en la nube, a pesar de que la infraestructura remota operaba con alta ociosidad de procesamiento, registrando casi el 98% de inactividad de la CPU. En contrapartida, el entorno local obtuvo un rendimiento superior amparado por la comunicación de red casi instantánea. En el aspecto financiero, la consolidación de los costos demostró un empate empírico entre el modelo de adquisición física y el de suscripción de servicio en un horizonte de tres años, pero el entorno local se mostró más ventajoso en un ciclo de sesenta meses. Se concluyó que la degradación en la nube no provino de la capacidad computacional, sino de la interacción entre la latencia de ruta y el patrón de comunicación unitario de la aplicación. La adopción de la nube exige una optimización profunda de la arquitectura del sistema para minimizar la dependencia de comunicación constante con el servidor remoto. Sin esta modernización, la infraestructura local se consolidó como la estrategia más viable, garantizando alto rendimiento, previsibilidad presupuestaria y soberanía de los datos.

Palabras clave: Gastos operativos (OPEX); Escalabilidad transaccional; Latencia de red; Sistemas legados.

Ingeniería De Software

08 de octubre de 2026

Integración asíncrona Slack-Jira vía “middleware” de colas: comparación de soluciones de “cloud computing”

La latencia y la interoperabilidad entre sistemas corporativos distribuidos constituyeron el problema investigado, motivado por los costos y fragilidades de las integraciones manuales entre plataformas de colaboración y gestión de proyectos. Se desarrolló y validó un “middleware” de integración asíncrona entre Slack y Jira, con el objetivo de reducir el tiempo de respuesta percibido por el usuario y garantizar la estabilidad del sistema bajo carga. La metodología consistió en la construcción de una arquitectura de software orientada a eventos en Python, utilizando los patrones “producer-consumer” y “adapter” para aislar la interfaz del usuario del procesamiento de “backend”. La solución evolucionó hacia una arquitectura agnóstica de nube, basada en funciones “serverless”, y fue sometida a pruebas de estrés en entornos local, de red real y de producción en dos nubes. La arquitectura redujo el tiempo de espera del usuario de una estimación síncrona de 2.000 milisegundos a un promedio local de 8,96 milisegundos. Bajo carga de 50 peticiones simultáneas, ambos proveedores de nube se mostraron viables: Amazon Web Services registró menor latencia promedio en la capa de recepción (951,35 ms) y el doble de rendimiento, mientras que Microsoft Azure ejecutó el procesamiento en segundo plano con una mediana de 113 ms. La aplicación de “optimistic UI” aseguró fluidez de uso, y la nivelación de carga por colas dispensó el sobredimensionamiento de infraestructura. El “middleware” se consolidó como un modelo de referencia corporativa escalable, resiliente y protegido contra el aprisionamiento tecnológico.

Palabras clave: Arquitectura orientada a eventos; Desacoplamiento temporal; Eficiencia operacional; Gestión de servicios de tecnología de la información; Interoperabilidad de sistemas.

Ingeniería De Software

07 de octubre de 2026

Aplicación de Inteligencia Artificial para Análisis de Sentimiento en Mensajes de Texto

El análisis de sentimientos en mensajes de texto de clientes de comercio electrónico es crucial para la toma de decisiones empresariales. Este estudio implementó modelos de inteligencia artificial con el objetivo de comparar su rendimiento en la evaluación de estos mensajes. La metodología consistió en la aplicación de un conjunto de datos de 4664 registros en cuatro experimentos distintos: GPT 3.5 Turbo con Zero-shot, GPT 3.5 Turbo con Few-shot, BERT Multilingual Sentiment y BERTimbau con Fine tuning. Los resultados obtenidos indicaron que el modelo especializado con Fine tuning presentó las mejores métricas de evaluación, una matriz de confusión más consistente y el menor tiempo de procesamiento. En contraste, el modelo BERT Multilingual Sentiment demostró dificultades en la interpretación de textos en idioma portugués. Los experimentos con GPT 3.5 Turbo, particularmente el enfoque Few-shot, se revelaron prometedores, configurándose como una alternativa viable en escenarios donde el Fine tuning no puede ser aplicado. Se concluyó que la estrategia de Fine tuning en modelos pre-entrenados, como el BERTimbau, ofrece ventajas significativas en precisión y eficiencia para el análisis de sentimientos a gran escala.

Palabras clave: Análisis de Sentimientos; Fine Tuning; Inteligencia Artificial; LLM; Procesamiento de Lenguaje Natural.