Concurrencia Distribuida

Descubre el control de concurrencia distribuido DCC: PCC y OCC, cómo mantienen consistencia, aislamiento y atomicidad en bases de datos distribuidas.

31 ago 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

En los sistemas distribuidos modernos, múltiples usuarios y aplicaciones acceden y modifican datos de forma concurrente. Sin el control adecuado, esto deriva en inconsistencias, condiciones de carrera o fallos. Aquí entra en juego el control de concurrencia distribuido DCC, un conjunto de técnicas para coordinar operaciones concurrentes de forma segura a través de nodos y bases de datos distribuidas.

Qué es el control de concurrencia distribuido

Imagina a una clienta, Alicia, transfiriendo dinero entre su cuenta de ahorros y su cuenta corriente en un sistema bancario distribuido. Al mismo tiempo, otra transacción intenta cargar una cuota de préstamo sobre la cuenta corriente. Sin coordinación, estas operaciones podrían pisarse entre sí y producir saldos incorrectos o estados inconsistentes. El DCC garantiza que los conflictos se gestionen de manera segura en todos los nodos.

Objetivos clave

Consistencia: la base de datos permanece válida tras cada transacción. Aislamiento: las transacciones se comportan como si se ejecutaran una tras otra. Atomicidad: cada transacción se completa por completo o no se aplica.

Escenario bancario

Estado inicial: Ahorros 5000 y Corriente 2000. Transacciones: T1 transferir 1000 de Ahorros a Corriente. T2 pagar préstamo deduciendo 1500 de Corriente.

Estrategias principales de DCC

Existen dos enfoques predominantes para gestionar la concurrencia en sistemas distribuidos: control de concurrencia pesimista PCC y control de concurrencia optimista OCC.

1. Control de concurrencia pesimista PCC

PCC asume que los conflictos son probables y los previene bloqueando los datos antes de acceder a ellos. Si otra transacción necesita los mismos datos, debe esperar.

Funcionamiento resumido PCC

T1 bloquea Ahorros en exclusivo y Corriente en exclusivo, descuenta 1000 de Ahorros y suma 1000 a Corriente, confirma y libera bloqueos. T2 intenta operar sobre Corriente pero espera hasta que T1 libera, luego bloquea Corriente, descuenta 1500 y confirma.

Línea temporal simplificada PCC

t1 T1 bloquea Ahorros. t2 T1 bloquea Corriente. t3 T1 descuenta 1000 de Ahorros. t4 T1 suma 1000 a Corriente y T2 queda en espera. t5 T1 confirma y libera bloqueos, T2 bloquea Corriente y descuenta 1500. t6 T2 confirma.

Puntos clave PCC

Los bloqueos evitan conflictos. Otras transacciones esperan hasta liberar. Adecuado para niveles de aislamiento Repeatable Read y Serializable.

Ventajas PCC

Prevención proactiva de conflictos. Adecuado en entornos con alta contención.

Desventajas PCC

Posibles interbloqueos deadlocks. Menor concurrencia si muchas transacciones esperan bloqueos.

2. Control de concurrencia optimista OCC

OCC asume que los conflictos son poco frecuentes, por lo que no bloquea datos. Las transacciones avanzan con copias locales y validan al confirmar. Si hay conflicto, abortan y reintentan.

Funcionamiento resumido OCC

T1 lee Ahorros 5000 y Corriente 2000, calcula localmente Ahorros 4000 y Corriente 3000, valida que nadie cambió esos registros y entonces escribe y confirma. T2 lee Corriente 2000, calcula localmente 500, intenta validar, detecta conflicto si T1 ya confirmó y por tanto aborta y reintenta con el nuevo estado.

Línea temporal simplificada OCC

t1 T1 lee Ahorros y Corriente, T2 lee Corriente. t2 ambas actualizan copias locales. t3 T1 valida sin conflicto, T2 valida y detecta conflicto. t4 T1 confirma 4000 y 3000, T2 aborta y reintenta.

Puntos clave OCC

Sin bloqueos durante el procesamiento. Los conflictos se detectan al confirmar y disparan reintentos. Conveniente para Read Committed y Read Uncommitted cuando el conflicto es bajo.

Ventajas OCC

Sin sobrecarga de bloqueos y alta concurrencia cuando hay poca contención.

Desventajas OCC

Más reintentos en escenarios con alta contención. Requiere lógica de validación cuidadosa y correcta gestión de versiones.

Relación entre técnicas y niveles de aislamiento

PCC soporta Repeatable Read y Serializable, evitando lecturas sucias y no repetibles, y garantizando serializabilidad. OCC encaja con Read Committed y Read Uncommitted, validando al confirmar y permitiendo mayor concurrencia a costa de reintentos.

Cómo elegir entre PCC y OCC

Si tu carga tiene alta contención, operaciones de larga duración o estricta necesidad de serializabilidad, PCC suele ser la opción. Si tu patrón de acceso es mayoritariamente de lectura, con conflictos raros y transacciones cortas, OCC ofrece mayor rendimiento. En la práctica, muchos sistemas combinan ambos enfoques según tabla o tipo de operación, apoyándose en versiones multiversión MVCC, relojes lógicos y protocolos distribuidos como dos fases 2PC y consenso.

En Q2BSTUDIO ayudamos a diseñar e implementar arquitecturas de datos y microservicios con control de concurrencia distribuido robusto, integradas con servicios cloud aws y azure, observabilidad y pipelines CI CD. Si necesitas aplicaciones a medida y software a medida resiliente y seguro, podemos acompañarte de principio a fin. Descubre cómo abordamos el desarrollo multiplataforma y la escalabilidad en nuestra página de software a medida y aplicaciones a medida, y cómo desplegamos infraestructuras elásticas y seguras en servicios cloud aws y azure.

Somos especialistas en inteligencia artificial e ia para empresas, diseño de agentes IA, ciberseguridad y pentesting, servicios inteligencia de negocio y analítica avanzada con power bi, además de integración continua, automatización de procesos y dataops. Si buscas un socio tecnológico para elevar la consistencia, el rendimiento y la seguridad de tus sistemas distribuidos, Q2BSTUDIO es tu aliado para construir soluciones listas para producción con alto nivel de servicio y costes optimizados.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat