Glosario Técnico

CQRS (Command Query Responsibility Segregation)

Definición: Patron que separa las operaciones de lectura y escritura en modelos distintos, optimizando cada ruta de forma independiente para rendimiento y escalabilidad.

— Fuente: NERVICO, Consultoría de Desarrollo de Producto

Que es CQRS

CQRS (Command Query Responsibility Segregation) es un patron arquitectonico que separa las operaciones de lectura (queries) y escritura (commands) en modelos distintos. En lugar de utilizar un unico modelo de datos para leer y escribir, CQRS define un modelo optimizado para las escrituras y otro diferente optimizado para las lecturas, permitiendo escalar y evolucionar cada lado de forma independiente.

Como funciona

El lado de escritura (command) recibe las ordenes que modifican el estado del sistema: crear un pedido, actualizar un perfil, cancelar una suscripcion. Estas operaciones validan las reglas de negocio y persisten los cambios. El lado de lectura (query) mantiene vistas desnormalizadas optimizadas para las consultas que necesita la interfaz de usuario o los reportes. La sincronizacion entre ambos lados puede ser sincrona (consistencia inmediata) o asincrona mediante eventos (consistencia eventual). CQRS se combina frecuentemente con Event Sourcing, donde cada cambio de estado se almacena como un evento inmutable.

Por que importa

En la mayoria de los sistemas, las lecturas superan ampliamente a las escrituras en volumen (es habitual una proporcion de 10:1 o incluso 100:1). CQRS permite optimizar cada ruta de forma independiente: la lectura puede usar caches agresivos, bases de datos especializadas para consultas o vistas materializadas, mientras la escritura se centra en validaciones y consistencia. Esto resulta en sistemas mas escalables, mas rapidos en lectura y mas seguros en escritura.

Ejemplo practico

Un sistema de gestion de inventario utiliza CQRS para separar sus operaciones. El lado de escritura gestiona las entradas y salidas de stock con validaciones de negocio estrictas, asegurando que nunca se venda mas de lo disponible. El lado de lectura mantiene vistas precalculadas: stock por almacen, productos con bajo inventario, historico de movimientos. Cuando un operario registra una entrada de mercancia, el comando actualiza el stock y emite un evento. Las vistas de lectura se actualizan de forma asincrona, permitiendo que las consultas del dashboard respondan en milisegundos incluso con millones de registros.

Terminos relacionados


Ultima actualizacion: Febrero 2026

¿Necesitas ayuda con desarrollo de producto?

Te ayudamos a acelerar tu desarrollo con tecnología puntera y mejores prácticas.