SlideShare una empresa de Scribd logo
1 de 12
S.E.P. TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO
de Tuxtepec
“Algoritmos de control de concurrencia”.
Carrera:
INGENIERA INFORMÁTICA
PRESENTA
ANAYA MANZANO JUAN.
CATEDRÁTICO:
VICTOR MANUEL EVARISTO SALINAS
San JuanBautistaTuxtepec,Oax. Agostode 2016.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 1
Contenido
Introducción................................................................................................................................. 2
Definición de concurrencia............................................................................................................3
Transacciones............................................................................................................................... 4
Problemas de concurrencia...........................................................................................................5
Control de concurrencias en bases de datos................................................................................... 5
Bloqueos......................................................................................................................................6
Bloqueo de dos fases.................................................................................................................... 7
Time-stamp..................................................................................................................................9
Conclusión. ................................................................................................................................ 10
Fuentes de información. ............................................................................................................. 11
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 2
Introducción.
Concurrencia se refiere al hecho de que los Sistemas Administradores de Base de
Datos permiten que muchas transacciones accedan a una misma Base de Datos a la
vez.
Cuando existen varios usuarios intentando modificar los datos al mismo tiempo, se
necesita establecer algún tipo de control para que dichas modificaciones de un
usuario no interfieran en las de los otros, a este sistema se le denomina control de
concurrencia.
En este presente trabajo de investigación de la materia de tópicos de bases de datos
se muestran algunos conceptos clave referente al título principal de este documento,
además se muestran algunos de los problemas que se presentan cuando la
concurrencia no se controla y algunos de los mecanismos de bloqueo que nos
permiten manejar la concurrencia en las transacciones. De esta manera, los sistemas
de control de concurrencia deben garantizar la consistencia de transacciones que se
ejecutan de manera concurrente.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 3
Definición de concurrencia.
En el campo informático, el termino concurrencia se refiere a la capacidad de los
Sistemas de Administración de Base de Datos, de permitir que múltiples procesos
sean ejecutados al mismo tiempo, y que también puedan interactuar entre sí.
Los procesos concurrentes pueden ser ejecutados realmente de forma simultánea,
sólo cuando cada uno es ejecutado en diferentes procesadores. En cambio, la
concurrencia es simulada si sólo existe un procesador encargado de ejecutar todos
los procesos, simulando la concurrencia, ocupándose de forma alternada de uno y
otro proceso a muy pequeños intervalos de tiempo. De esta manera simula que se
están ejecutando a la vez.
Algunos casos de concurrencia, pueden ser:
 La multiprogramación, ya que el tiempo del procesador es compartido
dinámicamente por varios procesos.
 Las aplicaciones estructuradas, donde la programación estructurada se
implementa como un conjunto de procesos concurrentes.
 También se tiene que la misma estructura recién mencionada es utilizada en
el diseño de los sistemas operativos, los cuales se implementan como un
conjunto de procesos.
Debido a que los procesos concurrentes en un sistema pueden interactuar entre otros
también en ejecución, el número de caminos de ejecución puede ser extremadamente
grande, resultando en un comportamiento sumamente complejo. Las dificultades
asociadas a la concurrencia han sido pensadas para el desarrollo de lenguajes de
programación y conceptos que permitan hacer la concurrencia más manejable.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 4
Transacciones.
Los sistemas que tratan el problema de control de concurrencia permiten que sus
usuarios asuman que cada una de sus aplicaciones se ejecuta atómicamente, como
si no existieran otras aplicaciones ejecutándose concurrentemente. Esta abstracción
de una ejecución atómica y confiable de una aplicación se conoce como una
transacción.
Un algoritmo de control de concurrencia asegura que las transacciones se ejecuten
atómicamente controlando la intercalación de transacciones concurrentes, para dar la
ilusión de que las transacciones se ejecutan seriamente, una después de la otra, sin
ninguna intercalación. Las ejecuciones intercaladas cuyos efectos son los mismos
que las ejecuciones seriales son denominadas serializarles y son correctos ya que
soportan la ilusión de la atomicidad de las transacciones.
El concepto principal es el de transacción. Informalmente, una transacción es la
ejecución de ciertas instrucciones que acceden a una base de datos compartida. El
objetivo del control de concurrencia y recuperación es asegurar que dichas
transacciones se ejecuten atómicamente, es decir:
Cada transacción accede a información compartida sin interferir con otras
transacciones, y si una transacción termina normalmente, todos sus efectos son
permanentes, en caso contrario no tiene afecto alguno.
Una base de datos está en un estado consistente si obedece todas las restricciones
de integridad (significa que cuando un registro en una tabla haga referencia a un
registro en otra tabla, el registro correspondientes debe existir) definidas sobre ella.
Los cambios de estado ocurren debido a actualizaciones, inserciones y supresiones
de información. Por supuesto, se quiere asegurar que la base de datos nunca entre
en un estado de inconsistencia.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 5
Problemas de concurrencia.
Existen tres formas en las que una transacción, aunque sea correcta por sí misma,
puede producir una respuesta incorrecta si alguna otra transacción interfiere con ella
en alguna forma.
Consideremos que la transacción que interfiere también puede ser correcta; lo que
produce el resultado incorrecto general es el intercalado sin control entre las
operaciones de las dos transacciones correctas.
Los tres problemas son:
 El problema de la Actualización Perdida
 El problema de la Dependencia No Confirmada
 El problema del Análisis Inconsistente
Control de concurrencias en bases de datos.
El control de transacciones concurrentes en una base de datos brinda un eficiente
desempeño del Sistema de Administración de Base de Datos, puesto que permite
controlar la ejecución de transacciones que operan en paralelo, accediendo a
información compartida y, por lo tanto, interfiriendo potencialmente unas con otras.
El objetivo de los métodos de control de concurrencia es garantizar la no inferencia o
la propiedad de aislamiento de transacciones que se ejecutan de manera concurrente.
Los distintos objetivos atacan el problema garantizando que las transacciones se
ejecuten en un plan que sea serializarle, es decir, que el resultado sea equivalente a
el resultante de ejecutar un plan en serie.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 6
El criterio de clasificación más común de los algoritmos de control de concurrencia es
el tipo de primitiva de sincronización. Esto resulta en dos clases: aquellos algoritmos
que están basados en acceso mutuamente exclusivo a datos compartidos (bloqueos)
y aquellos que intentar ordenar la ejecución de las transacciones de acuerdo a un
conjunto de reglas (protocolos). Sin embargo, esas primitivas se pueden usar en
algoritmos con dos puntos de vista diferentes: el punto de vista pesimista que
considera que muchas transacciones tienen conflictos con otras, o el punto de vista
optimista que supone que no se presentan muchos conflictos entre transacciones.
Los algoritmos pesimistas sincronizan la ejecución concurrente de las transacciones
en su etapa inicial de su ciclo de ejecución. Los algoritmos optimistas retrasan la
sincronización de las transacciones hasta su terminación. Ambos grupos de métodos,
pesimistas y optimistas, consisten de algoritmos basados en bloqueos y algoritmos
basados en marcas de tiempo, entre otros.
Los protocolos basados en bloqueos son los más utilizados por los DBMS
comerciales. Los demás tienen un alcance más teórico que práctico.
Bloqueos.
Un bloqueo en general es cuando una acción que debe ser realizada está esperando
a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención,
detección, y recuperación. También es necesario considerar factores como que hay
sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en
los que la detección del bloqueo es demasiado costosa.
En el caso específico de las bases de datos distribuidas usar bloqueo de recursos,
peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los
manejadores de transacciones y el calendarizado. Para esto existen dos formas
básicas:
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 7
 Autónoma: cada nodo es responsable por sus propios bloqueos de recursos.
o Una transacción sobre un elemento con n replicas requiere 5n mensajes
o Petición del recurso
o Aprobación de la petición
o Mensaje de la transacción
o Reconocimientos de transacción exitosa
o Peticiones de liberación de recursos
 Copia Primaria: un nodo primario es responsable para todos los bloqueos de
recursos
o Una transacción sobre un elemento con n copias requiere n mensajes
o Una petición del recurso
o Una aprobación de la petición
o n mensajes de la transacción
o n reconocimientos de transacción exitosa
o Una petición de liberación de recurso
Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si
ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas
por transacciones distintas.
Bloqueo de dos fases.
El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre
operaciones.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 8
Consiste en los siguientes pasos para una transacción T:
 Obtiene bloqueo de lectura para un elemento L (bloqueo compartido)
 Obtiene bloqueo de escritura para un elemento E (bloqueo exclusivo)
 Lee el elemento L
 Escribe en el elemento E
 Libera el bloqueo de L
 Libera el bloqueo de E
Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden
tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura),
y una vez se libere un bloqueo no se puede pedir otro, es decir, los bloqueos de la
transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede
liberar los demás.
Ejemplos del algoritmo 2PL son:
 La básica en la que se sigue el esquema previamente explicado con la variante
que el bloqueo de escritura se pide para todas las copias del elemento.
 2PL de copia primaria: en vez de pedir bloqueo para cada copia del elemento
de escritura se le pide a una copia primaria o principal.
 2PL de voto: se pide a todos los nodos que voten para ver si se concede el
bloqueo.
 2PL centralizado: el manejador de bloqueos está centralizado y todas las
peticiones de bloqueo las maneja el.
Antes de implementar un algoritmo de control de concurrencia 2PL es necesario
considerar distintos factores como cuál es la unidad atómica más pequeña que el
sistema permite bloquear, cual es el intervalo de sincronización para todas las copias
de un elemento, donde se deben colocar las tablas con la información de los bloqueos
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 9
y por último que tan probable es que ocurra por los factores anteriores un bloqueo
mutuo.
Time-stamp
Cada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo)
único en el nodo que se originó. Este sello se adjunta a cada petición de lectura y
escritura. En el caso de que se dé un conflicto de que dos operaciones de escritura
traten de acceder al mismo elemento, este se resuelve serializándolo respecto a los
sellos que tengan. A pesar de que existen varios algoritmos de control de
concurrencia basados en timestamp, muy pocos son utilizados en aplicaciones
comerciales. Esto es en gran parte porque se requiere que el sistema distribuido
cuente con un reloj sincronizado que es raro que se tenga implementado.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 10
Conclusión.
El control de concurrencias en las bases de datos no solo permite mejorar la calidad
de funcionamiento de las aplicaciones sino que incluso hacen posible que se puedan
realizar muchos de los sistemas existentes, lo que sin la existencia de estos controles
no sería factibles de realizar.
El correcto control de concurrencias permite además mantener información
consistente en las bases de datos, así como también evita la aparición de errores en
las recuperaciones y o respaldos que se realicen de una base de datos.
En este trabajo de investigación se mostraron los problemas que se presentan cuando
la concurrencia no se controla y algunos de los mecanismos de bloqueo que nos
permiten manejar la concurrencia en las transacciones. De esta manera, los sistemas
de control de concurrencia deben garantizar la consistencia de la información en la
Base de Datos. El tema tratado nos muestra que sin un óptimo control de la
concurrencia las bases, podemos diseñar un sistema muy bueno, pero puede no ser
productivo por sus tiempos de respuesta o dejar las bases de datos sin su
consistencia necesaria, además del riesgo de entregar una información de mala
calidad.
Dado lo anterior, el manejo óptimo de las bases de datos debemos tener un excelente
diseño en el manejo de las transacciones y sus accesos a la base de datos utilizando
las herramientas del DBMS.
TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 11
Fuentes de información.
http://www.informatizate.net
http://www.informatizate.net/articulos/control_de_concurrencia_de_transacciones_en_un_si
stema_de_base_de_datos_parte_02_21062004.html
http://www.lsi.us.es/docencia/get.php?id=4559
http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas

Más contenido relacionado

La actualidad más candente

Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directory
cesartg65
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
Carolina Cols
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
Angel Aguilar
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
Oscar LS
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
rehoscript
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
 
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDASUNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
Eduardo S de Loera
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
Uriel Herrera
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
ALASBLANKS
 

La actualidad más candente (20)

Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directory
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Evolución de las aplicaciones web
Evolución de las aplicaciones webEvolución de las aplicaciones web
Evolución de las aplicaciones web
 
Gestion de redes
Gestion de redesGestion de redes
Gestion de redes
 
Gestion De Red
Gestion De RedGestion De Red
Gestion De Red
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDASUNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
UNIDAD 2 DISEÑO DE LAS BASES DE DATOS DISTRIBUIDAS
 
Transaccion
TransaccionTransaccion
Transaccion
 
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Organización de archivos
Organización de archivosOrganización de archivos
Organización de archivos
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 

Destacado

Child Poverty
Child PovertyChild Poverty
Child Poverty
Xihai Luo
 
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnoriAnwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
Hammadia
 

Destacado (20)

Creación y eliminación de un esquema de base de datos.
Creación y eliminación de un esquema de base de datos.Creación y eliminación de un esquema de base de datos.
Creación y eliminación de un esquema de base de datos.
 
Inv 3 Lenguaje php
Inv 3 Lenguaje phpInv 3 Lenguaje php
Inv 3 Lenguaje php
 
Philanthropy in the Media: Stacy Palmer
Philanthropy in the Media: Stacy PalmerPhilanthropy in the Media: Stacy Palmer
Philanthropy in the Media: Stacy Palmer
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
 
John Hennessy resume November 2014
John Hennessy resume November 2014John Hennessy resume November 2014
John Hennessy resume November 2014
 
Impresora en red
Impresora en redImpresora en red
Impresora en red
 
Act 1 evaluación del protocolo de taller de investigación 1
Act 1 evaluación del protocolo de taller de investigación 1Act 1 evaluación del protocolo de taller de investigación 1
Act 1 evaluación del protocolo de taller de investigación 1
 
Envío y recepción de e mail usando php juan anaya manzano
Envío y recepción de e mail usando php juan anaya manzanoEnvío y recepción de e mail usando php juan anaya manzano
Envío y recepción de e mail usando php juan anaya manzano
 
Práctica 2 velocidad y dúplex
Práctica 2 velocidad y dúplexPráctica 2 velocidad y dúplex
Práctica 2 velocidad y dúplex
 
Inserción, eliminación y modificación de Registros II.
Inserción, eliminación y modificación de Registros II.Inserción, eliminación y modificación de Registros II.
Inserción, eliminación y modificación de Registros II.
 
Mi familia
Mi familiaMi familia
Mi familia
 
Futbolcolombiano
FutbolcolombianoFutbolcolombiano
Futbolcolombiano
 
Creación de base de datos.
Creación de base de datos.Creación de base de datos.
Creación de base de datos.
 
Child Poverty
Child PovertyChild Poverty
Child Poverty
 
Práctica 2 lenguaje html. etiquetas y atributos.
Práctica 2   lenguaje html. etiquetas y atributos.Práctica 2   lenguaje html. etiquetas y atributos.
Práctica 2 lenguaje html. etiquetas y atributos.
 
What is outsourcing and how can it help your business?
What is outsourcing and how can it help your business?What is outsourcing and how can it help your business?
What is outsourcing and how can it help your business?
 
Ensayo rol del profesional en informática con las si y las ti
Ensayo rol del profesional en informática con las si y las tiEnsayo rol del profesional en informática con las si y las ti
Ensayo rol del profesional en informática con las si y las ti
 
Inv 2 base de datos distribuidas heterogéneas
Inv 2 base de datos distribuidas heterogéneasInv 2 base de datos distribuidas heterogéneas
Inv 2 base de datos distribuidas heterogéneas
 
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnoriAnwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
Anwaar ul-bari-volume01 02-by-shaykhsyedahmadrazabijnori
 
Visual tracert
Visual tracertVisual tracert
Visual tracert
 

Similar a Inv 1 algoritmos de control de concurrencias

Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesos
glocom15
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
juanmanuel_29
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracle
guestdb275b
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
Victor
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
Victor
 
Proyecto final 3r parcial herramientas de info
Proyecto final 3r parcial herramientas de infoProyecto final 3r parcial herramientas de info
Proyecto final 3r parcial herramientas de info
juan_gregorio
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
giovatovar
 

Similar a Inv 1 algoritmos de control de concurrencias (20)

ATOMICIDAD
ATOMICIDADATOMICIDAD
ATOMICIDAD
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
Comunicación y sicronización entre procesos
Comunicación y sicronización entre procesosComunicación y sicronización entre procesos
Comunicación y sicronización entre procesos
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptx
 
RECICLAJE
RECICLAJERECICLAJE
RECICLAJE
 
Sicronización entre procesos
Sicronización entre procesosSicronización entre procesos
Sicronización entre procesos
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracle
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Grupo #4
Grupo #4Grupo #4
Grupo #4
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Proyecto final 3r parcial herramientas de info
Proyecto final 3r parcial herramientas de infoProyecto final 3r parcial herramientas de info
Proyecto final 3r parcial herramientas de info
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Investigación Control de-concurrencia - Sindy
Investigación Control de-concurrencia - SindyInvestigación Control de-concurrencia - Sindy
Investigación Control de-concurrencia - Sindy
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datos
 

Más de Juan Anaya

Más de Juan Anaya (20)

Desarrollo de un sitio de comercio electrónico
Desarrollo de un sitio de comercio electrónicoDesarrollo de un sitio de comercio electrónico
Desarrollo de un sitio de comercio electrónico
 
Estudio técnico cuadro sinóptico
Estudio técnico cuadro sinópticoEstudio técnico cuadro sinóptico
Estudio técnico cuadro sinóptico
 
3.1 ingeniería básica
3.1 ingeniería básica3.1 ingeniería básica
3.1 ingeniería básica
 
Estudio de mercado
Estudio de mercadoEstudio de mercado
Estudio de mercado
 
Tipos de proyectos informáticos
Tipos de proyectos informáticosTipos de proyectos informáticos
Tipos de proyectos informáticos
 
Idea de negocio.
Idea de negocio.Idea de negocio.
Idea de negocio.
 
Análisis de la demanda
Análisis de la demandaAnálisis de la demanda
Análisis de la demanda
 
Empresas que ofrecen servicios de TI en Tuxtepec, Oaxaca
Empresas que ofrecen servicios de TI en Tuxtepec, OaxacaEmpresas que ofrecen servicios de TI en Tuxtepec, Oaxaca
Empresas que ofrecen servicios de TI en Tuxtepec, Oaxaca
 
Datawarehouse del proyecto
Datawarehouse del proyectoDatawarehouse del proyecto
Datawarehouse del proyecto
 
Proceso de minería de datos para la toma de decisiones
Proceso de minería de datos para la toma de decisionesProceso de minería de datos para la toma de decisiones
Proceso de minería de datos para la toma de decisiones
 
Sistemas olap mapa conceptual
Sistemas olap mapa conceptualSistemas olap mapa conceptual
Sistemas olap mapa conceptual
 
Diferencia entre datawarehouse y data mart
Diferencia entre datawarehouse y data martDiferencia entre datawarehouse y data mart
Diferencia entre datawarehouse y data mart
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molap
 
Sistemas de bases de datos que dan soporte a la toma de decisiones
Sistemas de bases de datos que dan soporte a la toma de decisionesSistemas de bases de datos que dan soporte a la toma de decisiones
Sistemas de bases de datos que dan soporte a la toma de decisiones
 
Introducción a la inteligencia de negocios
Introducción a la inteligencia de negociosIntroducción a la inteligencia de negocios
Introducción a la inteligencia de negocios
 
3.2 metas y objetivos de los servicios de TI
3.2 metas y objetivos de los servicios de TI3.2 metas y objetivos de los servicios de TI
3.2 metas y objetivos de los servicios de TI
 
App web service gps latitud y longitud
App web service gps latitud y longitudApp web service gps latitud y longitud
App web service gps latitud y longitud
 
Unidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móvilesUnidad 4: Administración de datos en dispositivos móviles
Unidad 4: Administración de datos en dispositivos móviles
 
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
 
Sistema operativo Symbian
Sistema operativo SymbianSistema operativo Symbian
Sistema operativo Symbian
 

Último

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
octaviosalazar18
 

Último (20)

27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
680186431-3-Porcentaje-Presentacion-2022.pdf
680186431-3-Porcentaje-Presentacion-2022.pdf680186431-3-Porcentaje-Presentacion-2022.pdf
680186431-3-Porcentaje-Presentacion-2022.pdf
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Manual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdfManual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdf
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 

Inv 1 algoritmos de control de concurrencias

  • 1. S.E.P. TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO de Tuxtepec “Algoritmos de control de concurrencia”. Carrera: INGENIERA INFORMÁTICA PRESENTA ANAYA MANZANO JUAN. CATEDRÁTICO: VICTOR MANUEL EVARISTO SALINAS San JuanBautistaTuxtepec,Oax. Agostode 2016.
  • 2. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 1 Contenido Introducción................................................................................................................................. 2 Definición de concurrencia............................................................................................................3 Transacciones............................................................................................................................... 4 Problemas de concurrencia...........................................................................................................5 Control de concurrencias en bases de datos................................................................................... 5 Bloqueos......................................................................................................................................6 Bloqueo de dos fases.................................................................................................................... 7 Time-stamp..................................................................................................................................9 Conclusión. ................................................................................................................................ 10 Fuentes de información. ............................................................................................................. 11
  • 3. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 2 Introducción. Concurrencia se refiere al hecho de que los Sistemas Administradores de Base de Datos permiten que muchas transacciones accedan a una misma Base de Datos a la vez. Cuando existen varios usuarios intentando modificar los datos al mismo tiempo, se necesita establecer algún tipo de control para que dichas modificaciones de un usuario no interfieran en las de los otros, a este sistema se le denomina control de concurrencia. En este presente trabajo de investigación de la materia de tópicos de bases de datos se muestran algunos conceptos clave referente al título principal de este documento, además se muestran algunos de los problemas que se presentan cuando la concurrencia no se controla y algunos de los mecanismos de bloqueo que nos permiten manejar la concurrencia en las transacciones. De esta manera, los sistemas de control de concurrencia deben garantizar la consistencia de transacciones que se ejecutan de manera concurrente.
  • 4. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 3 Definición de concurrencia. En el campo informático, el termino concurrencia se refiere a la capacidad de los Sistemas de Administración de Base de Datos, de permitir que múltiples procesos sean ejecutados al mismo tiempo, y que también puedan interactuar entre sí. Los procesos concurrentes pueden ser ejecutados realmente de forma simultánea, sólo cuando cada uno es ejecutado en diferentes procesadores. En cambio, la concurrencia es simulada si sólo existe un procesador encargado de ejecutar todos los procesos, simulando la concurrencia, ocupándose de forma alternada de uno y otro proceso a muy pequeños intervalos de tiempo. De esta manera simula que se están ejecutando a la vez. Algunos casos de concurrencia, pueden ser:  La multiprogramación, ya que el tiempo del procesador es compartido dinámicamente por varios procesos.  Las aplicaciones estructuradas, donde la programación estructurada se implementa como un conjunto de procesos concurrentes.  También se tiene que la misma estructura recién mencionada es utilizada en el diseño de los sistemas operativos, los cuales se implementan como un conjunto de procesos. Debido a que los procesos concurrentes en un sistema pueden interactuar entre otros también en ejecución, el número de caminos de ejecución puede ser extremadamente grande, resultando en un comportamiento sumamente complejo. Las dificultades asociadas a la concurrencia han sido pensadas para el desarrollo de lenguajes de programación y conceptos que permitan hacer la concurrencia más manejable.
  • 5. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 4 Transacciones. Los sistemas que tratan el problema de control de concurrencia permiten que sus usuarios asuman que cada una de sus aplicaciones se ejecuta atómicamente, como si no existieran otras aplicaciones ejecutándose concurrentemente. Esta abstracción de una ejecución atómica y confiable de una aplicación se conoce como una transacción. Un algoritmo de control de concurrencia asegura que las transacciones se ejecuten atómicamente controlando la intercalación de transacciones concurrentes, para dar la ilusión de que las transacciones se ejecutan seriamente, una después de la otra, sin ninguna intercalación. Las ejecuciones intercaladas cuyos efectos son los mismos que las ejecuciones seriales son denominadas serializarles y son correctos ya que soportan la ilusión de la atomicidad de las transacciones. El concepto principal es el de transacción. Informalmente, una transacción es la ejecución de ciertas instrucciones que acceden a una base de datos compartida. El objetivo del control de concurrencia y recuperación es asegurar que dichas transacciones se ejecuten atómicamente, es decir: Cada transacción accede a información compartida sin interferir con otras transacciones, y si una transacción termina normalmente, todos sus efectos son permanentes, en caso contrario no tiene afecto alguno. Una base de datos está en un estado consistente si obedece todas las restricciones de integridad (significa que cuando un registro en una tabla haga referencia a un registro en otra tabla, el registro correspondientes debe existir) definidas sobre ella. Los cambios de estado ocurren debido a actualizaciones, inserciones y supresiones de información. Por supuesto, se quiere asegurar que la base de datos nunca entre en un estado de inconsistencia.
  • 6. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 5 Problemas de concurrencia. Existen tres formas en las que una transacción, aunque sea correcta por sí misma, puede producir una respuesta incorrecta si alguna otra transacción interfiere con ella en alguna forma. Consideremos que la transacción que interfiere también puede ser correcta; lo que produce el resultado incorrecto general es el intercalado sin control entre las operaciones de las dos transacciones correctas. Los tres problemas son:  El problema de la Actualización Perdida  El problema de la Dependencia No Confirmada  El problema del Análisis Inconsistente Control de concurrencias en bases de datos. El control de transacciones concurrentes en una base de datos brinda un eficiente desempeño del Sistema de Administración de Base de Datos, puesto que permite controlar la ejecución de transacciones que operan en paralelo, accediendo a información compartida y, por lo tanto, interfiriendo potencialmente unas con otras. El objetivo de los métodos de control de concurrencia es garantizar la no inferencia o la propiedad de aislamiento de transacciones que se ejecutan de manera concurrente. Los distintos objetivos atacan el problema garantizando que las transacciones se ejecuten en un plan que sea serializarle, es decir, que el resultado sea equivalente a el resultante de ejecutar un plan en serie.
  • 7. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 6 El criterio de clasificación más común de los algoritmos de control de concurrencia es el tipo de primitiva de sincronización. Esto resulta en dos clases: aquellos algoritmos que están basados en acceso mutuamente exclusivo a datos compartidos (bloqueos) y aquellos que intentar ordenar la ejecución de las transacciones de acuerdo a un conjunto de reglas (protocolos). Sin embargo, esas primitivas se pueden usar en algoritmos con dos puntos de vista diferentes: el punto de vista pesimista que considera que muchas transacciones tienen conflictos con otras, o el punto de vista optimista que supone que no se presentan muchos conflictos entre transacciones. Los algoritmos pesimistas sincronizan la ejecución concurrente de las transacciones en su etapa inicial de su ciclo de ejecución. Los algoritmos optimistas retrasan la sincronización de las transacciones hasta su terminación. Ambos grupos de métodos, pesimistas y optimistas, consisten de algoritmos basados en bloqueos y algoritmos basados en marcas de tiempo, entre otros. Los protocolos basados en bloqueos son los más utilizados por los DBMS comerciales. Los demás tienen un alcance más teórico que práctico. Bloqueos. Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención, detección, y recuperación. También es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en los que la detección del bloqueo es demasiado costosa. En el caso específico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizado. Para esto existen dos formas básicas:
  • 8. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 7  Autónoma: cada nodo es responsable por sus propios bloqueos de recursos. o Una transacción sobre un elemento con n replicas requiere 5n mensajes o Petición del recurso o Aprobación de la petición o Mensaje de la transacción o Reconocimientos de transacción exitosa o Peticiones de liberación de recursos  Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos o Una transacción sobre un elemento con n copias requiere n mensajes o Una petición del recurso o Una aprobación de la petición o n mensajes de la transacción o n reconocimientos de transacción exitosa o Una petición de liberación de recurso Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas. Bloqueo de dos fases. El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre operaciones.
  • 9. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 8 Consiste en los siguientes pasos para una transacción T:  Obtiene bloqueo de lectura para un elemento L (bloqueo compartido)  Obtiene bloqueo de escritura para un elemento E (bloqueo exclusivo)  Lee el elemento L  Escribe en el elemento E  Libera el bloqueo de L  Libera el bloqueo de E Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura), y una vez se libere un bloqueo no se puede pedir otro, es decir, los bloqueos de la transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede liberar los demás. Ejemplos del algoritmo 2PL son:  La básica en la que se sigue el esquema previamente explicado con la variante que el bloqueo de escritura se pide para todas las copias del elemento.  2PL de copia primaria: en vez de pedir bloqueo para cada copia del elemento de escritura se le pide a una copia primaria o principal.  2PL de voto: se pide a todos los nodos que voten para ver si se concede el bloqueo.  2PL centralizado: el manejador de bloqueos está centralizado y todas las peticiones de bloqueo las maneja el. Antes de implementar un algoritmo de control de concurrencia 2PL es necesario considerar distintos factores como cuál es la unidad atómica más pequeña que el sistema permite bloquear, cual es el intervalo de sincronización para todas las copias de un elemento, donde se deben colocar las tablas con la información de los bloqueos
  • 10. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 9 y por último que tan probable es que ocurra por los factores anteriores un bloqueo mutuo. Time-stamp Cada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo) único en el nodo que se originó. Este sello se adjunta a cada petición de lectura y escritura. En el caso de que se dé un conflicto de que dos operaciones de escritura traten de acceder al mismo elemento, este se resuelve serializándolo respecto a los sellos que tengan. A pesar de que existen varios algoritmos de control de concurrencia basados en timestamp, muy pocos son utilizados en aplicaciones comerciales. Esto es en gran parte porque se requiere que el sistema distribuido cuente con un reloj sincronizado que es raro que se tenga implementado.
  • 11. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 10 Conclusión. El control de concurrencias en las bases de datos no solo permite mejorar la calidad de funcionamiento de las aplicaciones sino que incluso hacen posible que se puedan realizar muchos de los sistemas existentes, lo que sin la existencia de estos controles no sería factibles de realizar. El correcto control de concurrencias permite además mantener información consistente en las bases de datos, así como también evita la aparición de errores en las recuperaciones y o respaldos que se realicen de una base de datos. En este trabajo de investigación se mostraron los problemas que se presentan cuando la concurrencia no se controla y algunos de los mecanismos de bloqueo que nos permiten manejar la concurrencia en las transacciones. De esta manera, los sistemas de control de concurrencia deben garantizar la consistencia de la información en la Base de Datos. El tema tratado nos muestra que sin un óptimo control de la concurrencia las bases, podemos diseñar un sistema muy bueno, pero puede no ser productivo por sus tiempos de respuesta o dejar las bases de datos sin su consistencia necesaria, además del riesgo de entregar una información de mala calidad. Dado lo anterior, el manejo óptimo de las bases de datos debemos tener un excelente diseño en el manejo de las transacciones y sus accesos a la base de datos utilizando las herramientas del DBMS.
  • 12. TÓPICOSDE BASES DE DATOS JUAN ANAYA MANZANO 11 Fuentes de información. http://www.informatizate.net http://www.informatizate.net/articulos/control_de_concurrencia_de_transacciones_en_un_si stema_de_base_de_datos_parte_02_21062004.html http://www.lsi.us.es/docencia/get.php?id=4559 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas