13.08.2013 Views

modelos avanzados de bases de datos base de datos distribuidas

modelos avanzados de bases de datos base de datos distribuidas

modelos avanzados de bases de datos base de datos distribuidas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Base <strong>de</strong> Datos Distribuidas<br />

Control <strong>de</strong> concurrencia<br />

Todos los mecanismos <strong>de</strong> control <strong>de</strong> concurrencia <strong>de</strong>ben asegurar la consistencia <strong>de</strong> los<br />

objetos y cada transacción atómica será completada en un tiempo finito.<br />

Un método <strong>de</strong> control <strong>de</strong> concurrencia es correcto si es serializable, es <strong>de</strong>cir existe una<br />

secuencia equivalente en que las operaciones <strong>de</strong> cada transacción aparecen antes o <strong>de</strong>spués <strong>de</strong><br />

otra transacción pero no entremezcladas. Una ejecución serial <strong>de</strong> transacciones es siempre<br />

correcta.<br />

Se <strong>de</strong>be sincronizar las transacciones concurrentes <strong>de</strong> los usuarios, extendiendo los<br />

argumentos para la serializabilidad y los algoritmos <strong>de</strong> control <strong>de</strong> concurrencia para la ejecución<br />

en ambientes distribuidos.<br />

La finalidad <strong>de</strong>l control <strong>de</strong> concurrencia es asegurar la consistencia <strong>de</strong> los <strong>datos</strong> al<br />

ejecutar transacciones, y que cada acción atómica sea completada en un tiempo finito.<br />

Uno <strong>de</strong> los problemas <strong>de</strong> concurrencia específicos <strong>de</strong> las <strong><strong>base</strong>s</strong> <strong>de</strong> <strong>datos</strong> <strong>distribuidas</strong> es la<br />

consistencia <strong>de</strong> copia múltiple (se produce cuando un mismo dato esta en varias<br />

localizaciones). A<strong>de</strong>más se siguen dando los mismos problemas para <strong><strong>base</strong>s</strong> <strong>de</strong> <strong>datos</strong><br />

centralizadas (pérdida <strong>de</strong> actualizaciones, <strong>de</strong>pen<strong>de</strong>ncia neutral (uncommitted <strong>de</strong>pen<strong>de</strong>ncy) y<br />

análisis inconsistentes).<br />

Serialización distribuida<br />

Si cada planificador <strong>de</strong> ejecución local es serializable y las ór<strong>de</strong>nes locales serializadas<br />

son idénticas (es <strong>de</strong>cir, respetan el or<strong>de</strong>n <strong>de</strong> secuencia), entonces el planificador global es<br />

serializable.<br />

Hay dos soluciones para el control <strong>de</strong> concurrencia en un ambiente distribuido:<br />

• El bloqueo (lock) garantiza la ejecución concurrente. En este caso hay que tener<br />

cuidado <strong>de</strong> que no se produzcan interbloqueos.<br />

• Las marcas <strong>de</strong> tiempo garantizan la ejecución concurrente según el or<strong>de</strong>n fijado en<br />

las marcas <strong>de</strong> tiempo. Este asegura la serialización global. Si solo hay una copia <strong>de</strong><br />

cada dato entre todos los nodos, se pue<strong>de</strong>n usar mecanismos <strong>de</strong> control <strong>de</strong><br />

concurrencia para sistemas centralizados, aunque con modificaciones.<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!