TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ"

Transcripción

1 1 1 BASES DE DATOS DISTRIBUIDAS TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 4. MANEJO DE TRANSACCIONES 4.1 Conceptos de Transacciones 4.2 Control de concurrencia 4.3 Serialización de transacciones 4.4 Algoritmos de control de concurrencia 2 3 Conceptos de Transacciones Hasta este momento, las primitivas básicas de acceso que se han considerado son las consultas (queries). Sin embargo, no se ha discutido qué pasa cuando, por ejemplo, dos consultas tratan de actualizar el mismo elemento de datos, o si ocurre una falla del sistema durante la ejecución de una consulta. Dada la naturaleza de una consulta de lectura o actualización, a veces no se puede simplemente reactivar la ejecución de una consulta, puesto que algunos datos pueden haber sido modificados antes de la falla. El no tomar en cuenta esos factores puede conducir a que la información en la base de datos contenga datos incorrectos. El concepto fundamental aquí es la noción de "ejecución consistente" o "procesamiento confiable" asociada con el concepto de una consulta. El concepto de una transacción es usado dentro del dominio de la base de datos como una unidad básica de cómputo consistente y confiable. 4 Definición de una transacción Una transacción es una colección de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema. Una base de datos está en un estado

2 consistente si obedece todas las restricciones de integridad 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 entra en un estado de inconsistencia. Sin embargo, durante la ejecución de una transacción, la base de datos puede estar temporalmente en un estado inconsistente. El punto importante aquí es asegurar que la base de datos regresa a un estado consistente al fin de la ejecución de una transacción (Ver Figura 5.1) Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de 3 datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos. Figura 5.1. Un modelo de transacción. 5 Ejemplo 5.2. Considere una agencia de reservaciones para líneas aéreas con las siguientes relaciones: FLIGHT( FNO, DATE, SRC, DEST, STSOLD, CAP ) CUST( CNAME, ADDR, BAL ) FC( FNO, DATE, CNAME, SPECIAL ) Una versión simplificada de una reservación típica puede ser implementada mediante la siguiente transacción: Begin_transaction Reservación begin input( flight_no, date, customer_name ); EXEC SQL UPDATE FLIGHT

3 SET STSOLD = STSOLD + 1 WHERE FNO = flight_no AND DATE = date EXEC SQL INSERT INTO FC( FNAME, DATE, CNAME, SPECIAL ) VALUES (flight_no, date, customer_name, null ) output("reservación terminada"); end. 4 6 Condiciones de terminación de una transacción Una transacción siempre termina, aun en la presencia de fallas. Si una transacción termina de manera exitosa se dice que la transacción hace un commit (se usará el término en inglés cuando no exista un término en español que refleje con brevedad el sentido del término en inglés). Si la transacción se detiene sin terminar su tarea, se dice que la transacción aborta. Cuando la transacción es abortada, su ejecución es detenida y todas sus acciones ejecutadas hasta el momento son deshechas (undone) regresando a la base de datos al estado antes de su ejecución. A esta operación también se le conoce como rollback. 7 Ejemplo 5.3. Considerando de nuevo el Ejemplo 5.2, veamos el caso cuando no esisten asientos disponibles para hacer la reservación. Begin_transaction Reservación begin input( flight_no, date, customer_name ); EXEC SQL SELECT STSOLD, CAP INTO temp1, temp2 FROM FLIGHT WHERE FNO = flight_no AND DATE = date if temp1 = temp2 then output( "no hay asientos libres" ) Abort else EXEC SQL UPDATE FLIGHT SET STSOLD = STSOLD + 1 WHERE FNO = flight_no AND DATE = date EXEC SQL INSERT

4 INTO FC( FNAME, DATE, CNAME, SPECIAL ) VALUES (flight_no, date, customer_name, null ) Commit output("reservación terminada"); endif end. 5 8 Caracterización de transacciones Observe que en el ejemplo anterior las transacciones leen y escriben datos. Estas acciones se utilizan como base para caracterizar a las transacciones. Los elementos de datos que lee una transacción se dice que constituyen el conjunto de lectura (RS). Similarmente, los elementos de datos que una transacción escribe se les denominan el conjunto de escritura (WS). Note que los conjuntos de lectura y escritura no tienen que ser necesariamente disjuntos. La unión de ambos conjuntos se le conoce como el conjunto base de la transacción F = (FR DWS) Ejemplo 5.4. Los conjuntos de lectura y escritura de la transacción del Ejemplo 5.3 son: RS[Reservación] = { FLIGHT.STSOLD, FLIGHT.CAP } WS[Reservación] = { FLIGHT.STSOLD, FC.FNO, FC.DATE, FC.NAME, FC.SPECIAL } 9 Propiedades de las transacciones La discusión en la sección previa clarifica el concepto de transacción. Sin embargo, aun no se ha dado ninguna justificación para afirmar que las transacciones son unidades de procesamiento consistentes y confiables. Las propiedades de una transacción son las siguientes: 6 1. Atomicidad. Se refiere al hecho de que una transacción se trata como una unidad de operación. Por lo tanto, o todas las acciones de la transacción se realizan o ninguna de ellas se lleva a cabo. La atomicidad requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben ser deshechos. La actividad referente a preservar la atomicidad de transacciones en presencia de abortos debido a errores de entrada, sobrecarga del sistema o

5 interbloqueos se le llama recuperación de transacciones. La actividad de asegurar la atomicidad en presencia de caídas del sistema se le llama recuperación de caídas. 2. Consistencia. La consistencia de una transacción es simplemente su correctitud. En otras palabras, una transacción es un programa correcto que lleva la base de datos de un estado consistente a otro con la misma característica. Debido a esto, las transacciones no violan las restricciones de integridad de una base de datos. 3. Aislamiento. Una transacción en ejecución no puede revelar sus resultados a otras transacciones concurrentes antes de su commit. Más aún, si varias transacciones se ejecutan concurrentemente, los resultados deben ser los mismos que si ellas se hubieran ejecutado de manera secuencial (seriabilidad). 4. Durabilidad. Es la propiedad de las transacciones que asegura que una vez que una transacción hace su commit, sus resultados son permanentes y no pueden ser borrados de la base de datos. Por lo tanto, los DBMS aseguran que los resultados de una transacción sobrevivirán a fallas del sistema. Esta propiedad motiva el aspecto de recuperación de bases de datos, el cual trata sobre como recuperar la base de datos a un estado consistente en donde todas las acciones que han hecho un commit queden reflejadas. En resumen, las transacciones proporcionan una ejecución atómica y confiable en presencia de fallas, una ejecución correcta en presencia de accesos de usuario múltiples y un manejo correcto de réplicas (en el caso de que se soporten). 10 Tipos de Transacciones Las transacciones pueden pertenecer a varias clases. Aun cuando los problemas fundamentales son los mismos para las diferentes clases, los 7 algoritmos y técnicas que se usan para tratarlas pueden ser considerablemente diferentes. Las transacciones pueden ser agrupadas a lo largo de las siguientes dimensiones: 1. Aéreas de aplicación. En primer lugar, las transacciones se pueden ejecutar en aplicaciones no distribuidas. Las transacciones que operan en datos distribuidos se les conoce como transacciones distribuidas. Por otro lado, dado que los resultados de una transacción que realiza un commit son durables, la única forma de deshacer los efectos de una transacción con commit es mediante otra transacción. A este tipo de transacciones se les conoce como transacciones compensatorias. Finalmente, en

6 ambientes heterogéneos se presentan transacciones heterogéneas sobre los datos. 2. Tiempo de duración. Tomando en cuenta el tiempo que transcurre desde que se inicia una transacción hasta que se realiza un commit o se aborta, las transacciones pueden ser de tipo batch o en línea. Estas se pueden diferencias también como transacciones de corta y larga vida. Las transacciones en línea se caracterizan por tiempos de respuesta muy cortos y por accesar un porción relativamente pequeña de la base de datos. Por otro lado, las transacciones de tipo batch toman tiempos relativamente largos y accesan grandes porciones de la base de datos. 3. Estructura. Considerando la estructura que puede tener una transacción se examinan dos aspectos: si una transacción puede contener a su vez subtransacciones o el orden de las acciones de lectura y escritura dentro de una transacción. 11 Estructura de transacciones Las transacciones planas consisten de una secuencia de operaciones primitivas encerradas entre las palabras clave begin y end. Por ejemplo, Begin_transaction Reservación... end. 8 En las transacciones anidadas las operaciones de una transacción pueden ser así mismo transacciones. Una transacción anidada dentro de otra transacción conserva las mismas propiedades que la de sus padres, esto implica, que puede contener así mismo transacciones dentro de ella. Existen restricciones obvias en una transacción anidada: debe empezar después que su padre y debe terminar antes que él. Más aún, el commit de una subtransacción es condicional al commit de su padre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas también serán abortadas. 12 Aspectos relacionados al procesamiento de transacciones Los siguientes son los aspectos más importantes relacionados con el procesamiento de transacciones: 1. Modelo de estructura de transacciones. Es importante considerar si las transacciones son planas o pueden estar anidadas. 2. Consistencia de la base de datos interna. Los algoritmos de control de datos semántico tienen que satisfacer siempre las restricciones

7 de integridad cuando una transacción pretende hacer un commit. 3. Protocolos de confiabilidad. En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones. Así también, se requieren protocolos para la recuperación local y para efectuar los compromisos (commit) globales. 4. Algoritmos de control de concurrencia. Los algoritmos de control de concurrencia deben sincronizar la ejecución de transacciones concurrentes bajo el criterio de correctitud. La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas. 5. Protocolos de control de réplicas. El control de réplicas se refiere a cómo garantizar la consistencia mutua de datos replicados. Por ejemplo se puede seguir la estrategia read-one-write-all (ROWA) Incorporación del manejador de transacciones a la arquitectura de un SMBD Con la introducción del concepto de transacción, se requiere revisar el modelo arquitectural presentado en el capítulo 2. En esta sección, se expande el papel del monitor de ejecución distribuida. El monitor de ejecución distribuida consiste de dos módulos: El administrador de transacciones (TM) y el despachador (SC). Como se puede apreciar en la Figura 5.2, el administrador de transacciones es responsable de coordinar la ejecución en la base de datos de las operaciones que realiza una aplicación. El despachador, por otra parte, es responsable de implementar un algoritmo específico de control de concurrencia para sincronizar los accesos a la base de datos. Un tercer componente que participa en el manejo de transacciones distribuidas es el administrador de recuperación local cuya función es implementar procedimientos locales que le permitan a una base de datos local recuperarse a un estado consistente después de una falla.

8 Figura 5.2. Un modelo del administrador de transacciones Los administradores de transacciones implementan una interfaz para los programas de aplicación que consiste de los comandos: 1. Begin_transaction. 2. Read. 3. Write. 4. Commit. 5. Abort.

9 En la Figura 5.3 se presenta la arquitectura requerida para la ejecución centralizada de transacciones. Las modificaciones requeridas en la arquitectura para una ejecución distribuida se pueden apreciar en las Figura 5.4. En esta última figura se presentan también los protocolos de comunicación necesarios para el manejo de transacciones distribuidas. Figura 5.3. Ejecución centralizada de transacciones. 11

10 Figura 5.4. Ejecución distribuida de transacciones. 15 BREAK 16 Control de concurrencia El control de concurrencia trata con los problemas de aislamiento y consistencia del procesamiento de transacciones. El control de concurrencia distribuido de una DDBMS asegura que la consistencia de la base de datos se mantiene en un ambiente distribuido multiusuario. Si las transacciones son internamente consistentes, la manera más simple de lograr este objetivo es ejecutar cada transacción sola, una después de otra. Sin embargo, esto puede afectar grandemente el desempeño de un DDBMS dado que el nivel de concurrencia se reduce al mínimo. El nivel de concurrencia, el número de transacciones activas, es probablemente el parámetro más importante en sistemas distribuidos. Por lo tanto, los 12 mecanismos de control de concurrencia buscan encontrar un balance entre el mantenimiento de la consistencia de la base de datos y el mantenimiento de un alto nivel de concurrencia. Si no se hace un adecuado control de concurrencia, se pueden presentar dos anomalías. En primer lugar, se pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en la base de datos. En segundo término, pueden presentarse recuperaciones de información inconsistentes. En este capítulo se hace la suposición de que el sistema distribuido es completamente confiable y no experimente falla alguna. En el capítulo siguiente, se considerará la presencia de fallas para obtener sistemas confiables Serialización de transacciones Teoría de la seriabilidad Una calendarización (schedule), también llamado una historia, se define sobre un conjunto de transacciones T = { T1, T2,..., Tn } y especifica un orden entrelazado de la ejecución de las operaciones de las transacciones. La calendarización puede ser especificada como un orden parcial sobre T. Ejemplo 6.1. Considere las siguientes tres transacciones: T1: Read( x ) T2: Write( x ) T3: Read( x ) Write( x ) Write( y ) Read( y )

11 Commit Read( z ) Read( z ) Commit Commit Una calendarización de las acciones de las tres transacciones anteriores puede ser: H1 = { W2(x), R1(x), R3(x), W1(x), C1, W2(y), R3(y), R2(z), C2, R3(z), C3 } I 13 Dos operaciones Oij(x) y Okl(x) (i y k no necesariamente distintos) que accedan el mismo dato de la base de datos x se dice que están en conflicto si al menos una de ellas es una escritura. De esta manera, las operaciones de lectura no tienen conflictos consigo mismas. Por tanto, existen dos tipos de conflictos read-write (o write-read) y writewrite. Las dos operaciones en conflicto pueden pertenecer a la misma transacción o a transacciones diferentes. 18 Seriabilidad en SMBD distribuidos En bases de datos distribuidas es necesario considerar dos tipos de historia para poder generar calendarizaciones serializables: la calendarización de la ejecución de transacciones en un nodo conocido como calendarización local y la calendarización global de las transacciones en el sistema. Para que las transacciones globales sean serializables se deben satisfacer las siguientes condiciones: cada historia local debe ser serializable, y dos operaciones en conflicto deben estar en el mismo orden relativo en todas las historias locales donde las operaciones aparecen juntas. La segunda condición simplemente asegura que el orden de serialización sea el mismo en todos los nodos en donde las transacciones en conflicto se ejecutan juntas. Ejemplo 6.6. Considere las siguientes transacciones: T1: Read( x ) T2: Read( x ) x x + 5 x x * 5 Write( x ) Write( x ) Commit Commit Las siguientes historias locales son individualmente serializables (de hecho son seriales), LH1 = { R1(x), W1(x), C1, R2(x), W2(x), C2 } 14 LH2 = { R2(x), W2(x), C2, R1(x), W1(x), C1 }

12 Algoritmos de control de concurrencia 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 (candados) 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. El grupo de algoritmos pesimistas consiste de algoritmos basados en candados, algoritmos basados en ordenamiento por estampas de tiempo y algoritmos híbridos. El grupo de los algoritmos optimistas se clasifican por basados en candados y basados en estampas de tiempo (Ver. Figura 6.1). 15 Figura 6.1. Clasificación de los algoritmos de control de concurrencia.

13 20 Algoritmos basados en candados En los algoritmos basados en candados, las transacciones indican sus intenciones solicitando candados al despachador (llamado el administrador de candados). Los candados son de lectura (rl), también llamados compartidos, o de escritura (wl), también llamados exclusivos. Como se aprecia en la tabla siguiente, los candados de lectura presentan conflictos con los candados de escritura, dado que las operaciones de lectura y escritura son incompatibles. rl wl rl si no wl no no En sistemas basados en candados, el despachador es un administrador de candados (LM). El administrador de transacciones le pasa al administrador de candados la operación sobre la base de datos (lectura o 16 escritura) e información asociada, como por ejemplo el elemento de datos que es accesado y el identificador de la transacción que está enviando la operación a la base de datos. El administrador de candados verifica si el elemento de datos que se quiere accesar ya ha sido bloqueado por un candado. Si candado solicitado es incompatible con el candado con que el dato está bloqueado, entonces, la transacción solicitante es retrasada. De otra forma, el candado se define sobre el dato en el modo deseado y la operación a la base de datos es transferida al procesador de datos. El administrador de transacciones es informado luego sobre el resultado de la operación. La terminación de una transacción libera todos los candados y se puede iniciar otra transacción que estaba esperando el acceso al mismo dato. 21 Candados de dos fases (2PL) En los candados de dos fases una transacción le pone un candado a un objeto antes de usarlo. Cuando un objeto es bloqueado con un candado por otra transacción, la transacción solicitante debe esperar. Cuando una transacción libera un candado, ya no puede solicitar más candados. Así una transacción que utiliza candados de dos fases se comporta como en la Figura izquierda. En la primera fase solicita y adquiere todos los candados sobre los elementos que va a utilizar y en la segunda fase libera los candados obtenidos uno por uno. La importancia de los candados de dos fases es que se ha demostrado de manera teórica que todos las calendarizaciones generadas por

14 algoritmos de control de concurrencia que obedecen a los candados de dos fases son serializables. Puede suceder que si una transacción aborta después de liberar un candado, otras transacciones que hayan accesado el mismo elemento de datos aborten también provocando lo que se conoce como abortos en cascada. 17 Para evitar lo anterior, los despachadores para candados de dos fases implementan lo que se conoce como los candados estrictos de dos fases en los cuales se liberan todos los candados juntos cuando la transacción termina (con commit o aborta). El comportamiento anterior se muestra en la Figura derecha Figura 6.2. Gráfica del uso de los candados de dos fases. Figura 6.3. Comportamiento de los candados de dos fases estrictos. 22 Candados de dos fases centralizados En sistemas distribuidos puede que la administración de los candados se dedique a un solo nodo del sistema, por lo tanto, se tiene un

15 despachador central el cual recibe todas las solicitudes de candados del sistema. En la Figura 6.4 se presenta la estructura de la comunicación de un administrador centralizado de candados de dos fases. La comunicación 18 se presenta entre el administrador de transacciones del nodo en donde se origina la transacción (llamado el coordinador TM), el administrador de candados en el nodo central y los procesadores de datos (DP) de todos los nodos participantes. Los nodos participantes son todos aquellos en donde la operación se va a llevar a cabo. Figura 6.4. Comunicación en un administrador centralizado de candados de dos fases estrictos. La crítica más fuerte a los algoritmos centralizados es el "cuello de botella" que se forma alrededor del nodo central reduciendo los tiempos de respuesta de todo el sistema. Más aún, su disponibilidad es reducida a cero cuando se presentan fallas en el nodo central. 23 Candados de dos fases distribuidos En los candados de dos fases distribuidos se presentan despachadores en cada nodo del sistema. Cada despachador maneja las solicitudes de candados para los datos en ese nodo. Una transacción puede leer cualquiera de las copias replicada del elemento x, obteniendo un candado de lectura en cualquiera de las copias de x. La escritura sobre x requiere que se obtengan candados para todas las copias de x. La comunicación entre los nodos que cooperan para ejecutar una transacción de acuerdo al protocolo de candados distribuidos de dos fases se presenta en la Figura 6.5. Los mensajes de solicitud de candados se envían a todos los administradores de candados que participan en el sistema.

16 19 Las operaciones son pasadas a los procesadores de datos por los administradores de candados. Los procesadores de datos envía su mensaje de "fin de operación" al administrador de transacciones coordinador. Figura 6.5. Comunicación en candados de dos fases distribuidos. 24 Control de concurrencia optimista Los algoritmos de control de concurrencia discutidos antes son por naturaleza pesimistas. En otras palabras, ellos asumen que los conflictos entre transacciones son muy frecuentes y no permiten el acceso a un dato si existe una transacción conflictiva que accesa el mismo dato. Así, la ejecución de cualquier operación de una transacción sigue la secuencia de fases: validación (V), lectura (R), cómputo (C) y escritura (W) (ver Figura 6.6a). Los algoritmos optimistas, por otra parte, retrasan la fase de validación justo antes de la fase de escritura (ver Figura 6.6b). De esta manera, una operación sometida a un despachador optimista nunca es retrasada. Las operaciones de lectura, cómputo y escrita de cada transacción se procesan libremente sin actualizar la base de datos corriente. Cada transacción inicialmente hace sus cambios en copias locales de los datos. La fase de validación consiste en verificar si esas actualizaciones conservan la consistencia de la base de datos. Si la respuesta es

17 20 positiva, los cambios se hacen globales (escritos en la base de datos corriente). De otra manera, la transacción es abortada y tiene que reiniciar Figura 6.6. Fases de la ejecución de una transacción a) pesimista, b) optimista. Los mecanismos optimistas para control de concurrencia fueron propuestos originalmente con el uso de estampas de tiempo. Sin embargo, en este tipo de mecanismos las estampas de tiempo se asocian únicamente con las transacciones, no con los datos. Más aún, las estampas de tiempo no se asignan al inicio de una transacción sino justamente al inicio de su fase de validación. Esto se debe a que las estampas se requieren únicamente durante la fase de validación. Cada transacción Ti se subdivide en varias subtransacciones, cada una de las cuales se puede ejecutar en nodos diferentes. Sea Tij una subtransacción de Ti que se ejecuta en el nodo j. Supongamos que las transacciones se ejecutan de manera independiente y ellas alcanzan el fin de sus fases de lectura. A todas las subtransacciones se les asigna una estampa de tiempo al final de su fase de lectura. Durante la fase de validación se realiza una prueba de validación, si una transacción falla, todas las transacciones se rechazan. 21

18 Figura 6.7. Casos diferentes de las pruebas de validación para control de concurrencia optimista.

Jose Manuel Perez Daniel Futrillé Prof. Ana Aguilera

Jose Manuel Perez Daniel Futrillé Prof. Ana Aguilera Jose Manuel Perez Daniel Futrillé Prof. Ana Aguilera 1 Introducción 2 Concepto de Transacciones 2.1 Propiedades de las transacciones 2.2 Condiciones de terminación de una transacción 2.3 Caracterización

Más detalles

Transacciones. Agenda

Transacciones. Agenda Transacciones Alumnos: Jesús Hernández CI:18.020.681 José De Abreu CI: 18 855 500 Agenda 1 Concepto de Transacción 1.1 Consistencia y Aislamiento 1.2 Atomicidad y Durabilidad 2 Transacciones y Planificadores

Más detalles

Ing. Informática. Catedrático: Lic. Angélica Avalos Cano

Ing. Informática. Catedrático: Lic. Angélica Avalos Cano Ing. Informática Tema: Resumen de trasparencia, Control de transacciones para base de datos distribuidas, Control de concurrencia, Protocolos de bloqueo Presentado Por: María Cristina Cruz Ramírez Darvin

Más detalles

cilred.com GESTIÓN DE TRANSACCIONES

cilred.com GESTIÓN DE TRANSACCIONES cilred.com GESTIÓN DE TRANSACCIONES ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.com GESTIÓN DE TRANSACCIONES En las base de datos existen una serie de operaciones fundamentales tales como la

Más detalles

Recuperación. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Recuperación. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Recuperación Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Recuperación de transacciones Está vinculado a la noción de procesamiento de transacciones. Operaciones de SQL COMMIT

Más detalles

Unidad IV. Transacciones planas: Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END.

Unidad IV. Transacciones planas: Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END. Unidad IV Manejo de transacciones. 4.1 Transacciones. A) Una transaccion en un sistema de gestion de bases de datos (SGBD), es un conjunto de ordenes que se ejecutan formando una unidad de trabajo, es

Más detalles

Transacciones y Control de Concurrencia (capítulo 15 del libro)

Transacciones y Control de Concurrencia (capítulo 15 del libro) Transacciones y Control de Concurrencia (capítulo 15 del libro) Básicamente, una transacción es una colección de operaciones que forman una unidad de trabajo. Se busca que se ejecuten todas las operaciones

Más detalles

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Transacciones M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la Unidad Entender el concepto de transacciones. Transacciones Una transacción

Más detalles

Gestión de Transacciones: Concurrencia y Recuperación

Gestión de Transacciones: Concurrencia y Recuperación Gestión de Transacciones: Concurrencia y Recuperación Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos

Más detalles

Bases de Datos Distribuidas. Carlos A. Olarte BDII

Bases de Datos Distribuidas. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Fragmentación de Datos 3 Transparencia de Red 4 Transacciones Distribuidas 5 Control de Concurrencia Introducción Por que distribuir

Más detalles

Transacciones y Control de concurrencia

Transacciones y Control de concurrencia Transacciones y Control de concurrencia Se llama transacción a una colección de operaciones que forman una única unidad lógica de trabajo. Un sistema de base de datos debe asegurar que la ejecución de

Más detalles

Resumen Tema 5: Proceso de transacciones

Resumen Tema 5: Proceso de transacciones Resumen Tema 5: Proceso de transacciones Transacción Unidad lógica de procesamiento secuencial compuesta por una o mas acciones que se ejecutan en bloque sobre una BD. Sentencias: Begin/end transaction.

Más detalles

Gestión de Transacciones

Gestión de Transacciones Gestión de Transacciones y su relación con el gestor de concurrencia (planificador) y el gestor de recuperación 1 Sistema Monousuario vs. Multiusuario. concurrencia Transacciones Estado de las transacciones.

Más detalles

CAPITULO 6. Control de Concurrencia y Recuperación

CAPITULO 6. Control de Concurrencia y Recuperación CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un

Más detalles

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski. Transacción a los conceptos del Procesamiento de las Transacciones Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica de procesamiento. Una transacción

Más detalles

Transacciones, Recuperación y Control de Concurrencia

Transacciones, Recuperación y Control de Concurrencia Transacciones, Recuperación y Control de Concurrencia Transacciones Transacción: colección de operaciones que forman una única unidad lógica de trabajo en una BD Control concurrencia Sistemas multiusuario:

Más detalles

Introducción a los conceptos del Procesamiento de las Transacc

Introducción a los conceptos del Procesamiento de las Transacc a los conceptos del Procesamiento de las Transacciones 12/Mayo/2017 Transacción Definición Transacción Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica

Más detalles

ANEXO I NIVELES DE AISLAMIENTO

ANEXO I NIVELES DE AISLAMIENTO ANEXO I NIVELES DE AISLAMIENTO INDICE 1) DIRTY READ... 3 1.1) En ORACLE... 3 1.1.1) READ UNCOMMITTED... 3 1.1.2) READ COMMITTED... 3 1.2) En SQL SERVER... 4 1.2.1) READ UNCOMMITED... 4 1.2.2) READ COMMITED...

Más detalles

4.6.- Integridad: Control de concurrencia.

4.6.- Integridad: Control de concurrencia. 4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas

Más detalles

Capítulo 16: Control de la concurrencia

Capítulo 16: Control de la concurrencia Capítulo 16: Control de la concurrencia Protocolos basados en bloqueos Protocolos basados en las marcas temporales Esquemas multiversión Tratamiento de interbloqueos 16.1 Protocolos basados en bloqueos

Más detalles

Centro Universitario UAEM Zumpango

Centro Universitario UAEM Zumpango "2015. Año del Bicentenario Luctuoso de José María Morelos y Pavón" Febrero 2015 Centro Universitario UAEM Zumpango Ingeniería en Computación Unidad de Aprendizaje: Fundamentos de Bases de Datos Unidad

Más detalles

END; END; END; /* TRANSFER */ Propiedades de una transacción (ACID): Atómica: Todo/Nada : Se hace o no se hace, pero no se hace a medias.

END; END; END; /* TRANSFER */ Propiedades de una transacción (ACID): Atómica: Todo/Nada : Se hace o no se hace, pero no se hace a medias. Restauración Restauración, en un SBD, significa recobrar la BD en si misma, esto es, realmacenar la BD en un estado correcto después de que una falla ha hecho que el estado de esta sea incorrecto. Recuperación

Más detalles

12.6- Control de Transacciones para Bases de Datos Distribuidas

12.6- Control de Transacciones para Bases de Datos Distribuidas 2013 12.6- Control de Transacciones para Bases de Datos Distribuidas Tópicos de Base de Datos Lic. Angélica Avalos Cano. Presentado por: Lucia Castillo Castellanos. Lucia Gabriela Cordero Gallegos. Arelhi

Más detalles

Docente: Albert A. Osiris Sofía. Fundamentos de Bases de Datos - Licenciatura en Sistemas U. Académica Río Gallegos

Docente: Albert A. Osiris Sofía. Fundamentos de Bases de Datos - Licenciatura en Sistemas U. Académica Río Gallegos Docente: Albert A. Osiris Sofía 1 Recuperación ante Errores 2 Contenido de la Presentación Transacciones Fallos Recuperación ante Errores 3 Transacciones 4 Transacciones Transacción: colección de operaciones

Más detalles

5. Bases de datos distribuidas

5. Bases de datos distribuidas 5. Bases de datos distribuidas 5.1 Introducción Un sistema de bases de datos distribuidas se compone de un conjunto de sitios conectados entre sí mediante algún tipo de red de comunicaciones en el cual:

Más detalles

Fundamentos de Bases de Datos

Fundamentos de Bases de Datos Fundamentos de Bases de Datos Control de Concurrencia y Recuperación CSI-INCO Fundamentos de Bases de Datos 1 Arquitectura de un DBMS Comunicación con el usuario Gestión de Operaciones Gestión de los Datos

Más detalles

Recuperación de Fallos del Sistema

Recuperación de Fallos del Sistema Recuperación de Fallos del Sistema Competencias específicas Proteger la información almacenada frente a fallos del sistema mediante las técnicas disponibles en los SGBDs. Justificar la necesidad de disponer

Más detalles

CONCURRENCIA, TRANSACCIONES, ACCESOS Y BLOQUEOS

CONCURRENCIA, TRANSACCIONES, ACCESOS Y BLOQUEOS CONCURRENCIA, TRANSACCIONES, ACCESOS Y BLOQUEOS Introducción 3 1. CONTROL DE CONCURRENCIA 3 2. TRANSACCIONES Y ACCESOS 4 3. TRANSACCIONES Y ESTADOS DE LA BASE DE DATOS 5 4. ESTADOS DE LA TRANSACCIÓN 6

Más detalles

Control de Concurrencia. Carlos A. Olarte BDII

Control de Concurrencia. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Protocolos basados en Bloqueos 3 Protocolos basados en Grafos 4 Protocolos de Marcas temporales 5 Esquemas Multiversión 6 Granularidad

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004 2do Cuatrimestre de 24 Elementos de Bases de Datos DptoCiencias e Ingeniería de la Computación Universidad Nacional del Sur Lic María Mercedes Vitturini [mvitturi@csunseduar] Repaso Hasta ahora vimos que

Más detalles

Control de concurrencia en bases de datos relacionales

Control de concurrencia en bases de datos relacionales OpenStax-CNX module: m18939 1 Control de concurrencia en bases de datos relacionales Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Control de Concurrencia Sobre una BD se podrían ejecutar muchos procesos concurrentemente sobre exactamente los mismos datos. Estos procesos podrían estar interfiriendo unos con

Más detalles

Unidad 8. Bases de Datos en el Modelo Cliente Servidor

Unidad 8. Bases de Datos en el Modelo Cliente Servidor Unidad 8 Bases de Datos en el Modelo Cliente Servidor El Modelo Cliente Servidor En la comunicación TCP/IP las comunicaciones entre computadoras se manejan a través del modelo Cliente Servidor Este concepto

Más detalles

Concurrencia y Recuperabilidad

Concurrencia y Recuperabilidad Concurrencia y Recuperabilidad Paradigma Pesimista Lic. Gerardo Rossel 2016 Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL Serializabilidad Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL

Más detalles

Conceptos sobre procesamiento de transacciones

Conceptos sobre procesamiento de transacciones Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistema. 4.

Más detalles

Sentencias complementarias + Disparadores

Sentencias complementarias + Disparadores Base de Datos I Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas o transacciones especiales

Más detalles

Modelamiento y Diseño de Base de Datos

Modelamiento y Diseño de Base de Datos Modelamiento y Diseño de Base de Datos Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas

Más detalles

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO 1. Supóngase que se han definido todas las restricciones de integridad como DEFERRABLE INITIALLY IMMEDIATE y sea la transacción T1 que se ejecuta sobre la

Más detalles

BASES DE DATOS AVANZADAS. Facultad de Estadística e Informática

BASES DE DATOS AVANZADAS. Facultad de Estadística e Informática BASES DE DATOS AVANZADAS Clase 6 Tema 2. Bases de Datos Distribuidas (BDD) Procesamiento en sitios múltiples y datos en sitios múltiples. Características de las BDD (Ventajas, Desventajas) Características

Más detalles

BD Activas: Motivación

BD Activas: Motivación BD Activas: Motivación Los SGBD convencionales son pasivos. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas de aplicación. Para representar la semántica del mundo

Más detalles

Respaldos y Recuperación

Respaldos y Recuperación Respaldos y Recuperación Clasificación de fallos Clasificación de fallos Respaldos y recuperación 1. Fallo en la transacción Error Lógico. La transacción no puede continuar con su ejecución normal a causa

Más detalles

Procesamiento de Transacciones

Procesamiento de Transacciones Procesamiento de Transacciones Material basado en los capítulos 12 y 13 del libro: Sistemas Distribuidos. CyD. G. Coulouris, J. Dollimore and T. Kindberg. Contenido Mecanismos de Control de Concurrencia

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004 2do. Cuatrimestre de 2004 Elementos de Bases de Datos Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 17 1er. Cuatrimestre

Más detalles

7. Control de la concurrencia

7. Control de la concurrencia 7. Control de la concurrencia Objetivos Conocer la problemática asociada a la concurrencia de transacciones en los sistemas de bases de datos Entender el significado de la serializabilidad y su aplicación

Más detalles

Carrera : Academia de Sistemas y Computación. a) RELACIÓN CON OTRAS ASIGNATURAS DEL PLAN DE ESTUDIOS ASIGNATURAS TEMAS ASIGNATURAS TEMAS

Carrera : Academia de Sistemas y Computación. a) RELACIÓN CON OTRAS ASIGNATURAS DEL PLAN DE ESTUDIOS ASIGNATURAS TEMAS ASIGNATURAS TEMAS 1.- IDENTIFICACION DE LA ASIGNATURA Nombre de la asignatura : Bases de datos distribuidas Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : Horas teoría-horas práctica-créditos

Más detalles

Transacciones. Carlos A. Olarte BDII

Transacciones. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Outline 1 2 Ejecuciones Concurrentes 3 Secuencialidad en Cuanto a Conflictos 4 Secuencialidad en Cuanto a Vistas 5 Recuperabilidad 6 en SQL Transacción Definición

Más detalles

Sistemas Gestores de Base de Datos Distribuidas

Sistemas Gestores de Base de Datos Distribuidas Sistemas Gestores de Base de Datos Distribuidas Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en

Más detalles

Procesamiento de Transacciones

Procesamiento de Transacciones Procesamiento de Transacciones Competencias específicas Explicar el concepto, propiedades y estados de las transacciones en sistemas de bases de datos. Identificar los problemas asociados a la concurrencia

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

BASES DE DATOS DISTRIBUIDAS

BASES DE DATOS DISTRIBUIDAS BASES DE DATOS DISTRIBUIDAS BASES DE DATOS DISTRIBUIDAS DANIEL BARRERA NAVARRO JORGE BAUTE RIVERA ROSIRIS MARTINEZ GOMEZ DARWIN MANGA COGOLLO Introducción a las bases de datos distribuidas DEFINICION DE

Más detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

Más detalles

Concurrencia. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Concurrencia. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Concurrencia M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la unidad Entender los diferentes protocolos de manejo de concurrencia. Técnicas

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos 2do. Cuatrimestre de 2004 2do. Cuatrimestre de 2004 Elementos de Bases de Datos Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 21 1er. Cuatrimestre

Más detalles

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar: Trigger Un trigger(o desencadenador) es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Los triggers o disparadores

Más detalles

Grandes de Bases de Datos. Alto desempeño Clústers

Grandes de Bases de Datos. Alto desempeño Clústers Grandes de Bases de Datos Alto desempeño Clústers Introducción Clústers 2 o más equipos trabajando en conjunto para la obtención de un fin común Clústers No todos son iguales Clúster de balanceo de carga

Más detalles

Bases de Datos: Bases de Datos Distribuidas. Departamento de O.E.I. - U.P.M.

Bases de Datos: Bases de Datos Distribuidas. Departamento de O.E.I. - U.P.M. Diseño o y Optimización n de Bases de Datos: Bases de Datos Distribuidas Departamento de O.E.I. - U.P.M. 1. Introducción. ÍNDICE 2. Almacenamiento distribuido de datos. 3. Transparencia de la red. 4. Procesamiento

Más detalles

Unidad 4 Control de Transacciones

Unidad 4 Control de Transacciones Unidad 4 Control de Transacciones e Instrucción COMMIT. 4.2 Instrucción ROLLBACK. 4.3 Niveles de aislamiento. 4.4 Grados de consistencia. ISC Ing. Felipe Alanís González -ITD- 1 Cada vez que se ejecuta

Más detalles

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013 Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 203 Enunciado del ejercicio En los servidores de bases de asignados al curso: Sybase, MS SQL Server y Oracle, elaborar el ejercicio sobre aislamiento,

Más detalles

Bases de datos Unidad 1 Introducción a las BD. Mónica María Rojas Rincón Oficina: P19-103

Bases de datos Unidad 1 Introducción a las BD. Mónica María Rojas Rincón Oficina: P19-103 Bases de datos Unidad 1 Introducción a las BD Mónica María Rojas Rincón mmrojas@elpoli.edu.co Oficina: P19-103 Competencias a desarrollar Identificar los conceptos propios de la asignatura. Diferenciar

Más detalles

Protocolos de bloqueo en bases de datos distribuidas

Protocolos de bloqueo en bases de datos distribuidas Protocolos de bloqueo en bases de datos distribuidas Elementos de Bases de Datos Teoría y Diseño de Bases de Datos Segundo Cuatrimestre de 2004 Departamento de Ciencias e Ingeniería de la Computación Universidad

Más detalles

Arquitectura del SGBD

Arquitectura del SGBD Universidad Alonso de Ojeda Facultad de Ingeniería Arquitectura del SGBD Base de Datos I Profesora: Dennís Chirinos ARQUITECTURA DEL SISTEMA GESTOR DE BASE DE DATOS La arquitectura de un SGBD ha de especificar

Más detalles

Bases de Datos Distribuidas IFM Participantes. Integrantes de la Academia de Sistemas Computacionales

Bases de Datos Distribuidas IFM Participantes. Integrantes de la Academia de Sistemas Computacionales 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas-teoría-practica-crédito: Bases de Datos Distribuidas Ingeniería en Sistemas Computacionales IFM - 0406 3-2-8 2.-

Más detalles

Ejecuciones Concurrentes

Ejecuciones Concurrentes Elementos de Bases de Datos Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 24 1er. Cuatrimestre de 2004 Transacciones

Más detalles

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Diseño de Algoritmos Paralelos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

CC BASES DE DATOS PRIMAVERA Clase 12: Implementación de ACID. Aidan Hogan

CC BASES DE DATOS PRIMAVERA Clase 12: Implementación de ACID. Aidan Hogan 3201-1 BASS D DATOS PRIMAVRA 2016 lase 12: Implementación de AID Aidan Hogan aidhog@gmail.com Transacciones Una transacción es un conjunto de operaciones que se ejecutan de manera atómica (es decir, como

Más detalles

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones Práctica 4: Estudio del SGBD Oracle 10 El SGBD Oracle 10 Objetivos estudio de la gestión de transacciones. estudio de las estrategias para la comprobación de la integridad. estudio de las estrategias para

Más detalles

Catedra de Base de Datos

Catedra de Base de Datos Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lec)vo 2016 BASES DE DATOS DISTRIBUIDAS Conceptos. Funciones. Fragmentación. Replicación. Estrategias

Más detalles

CUTTM ti HWSTUAC** T ftt. ESTUBIiS AVAHZABtí BU I. P. N. »»U»OTeoA *"*IWEKIA ELECTRICE

CUTTM ti HWSTUAC** T ftt. ESTUBIiS AVAHZABtí BU I. P. N. »»U»OTeoA **IWEKIA ELECTRICE « CUTTM ti HWSTUAC** T ftt ESTUBIiS AVAHZABtí BU I. P. N.»»U»OTeoA *"*IWEKIA ELECTRICE CENTRO DE INVESTIGACIÓN Y DE ESTUDIOS AVANZADOS DEL I.P.N. DEPARTAMENTO DE INGENIERÍA ELÉCTRICA SECCIÓN COMPUTACIÓN

Más detalles

Bases de Datos Distribuidas

Bases de Datos Distribuidas Bases de Datos Distribuidas Gestión de la Información en Juegos y Realidad Virtual Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Introducción Definición y ventajas Objetivos Aspectos

Más detalles

BASE DE DATOS DISTRIBUIDOS

BASE DE DATOS DISTRIBUIDOS 1 BASE DE DATOS DISTRIBUIDOS Contenido: Base de Datos Distribuidos 1.1. Introducción 1.1.1 Almacenamiento Distribuido 1.2. Sistemas de gestión de bases de datos distribuidos 1.2.1 Funciones y Arquitectura

Más detalles

Computación distribuida

Computación distribuida Computación distribuida Es un modelo para resolver problemas de computación masiva Utiliza un gran número de ordenadores organizadas en racimos incrustados en una infraestructura de telecomunicaciones

Más detalles

MVCC: Control de Concurrencia Multiversión sobre. Bases de Datos. Comparación critica de. implementaciones existentes

MVCC: Control de Concurrencia Multiversión sobre. Bases de Datos. Comparación critica de. implementaciones existentes MVCC: Control de Concurrencia Multiversión sobre Bases de Datos. Comparación critica de implementaciones existentes Diaz Ramirez, Rodrigo Marcos Errecart, Rodolfo Emilio INDICE INDICE 1 - INTRODUCCION

Más detalles

Ingeniería en Computación

Ingeniería en Computación Universidad Autónoma del Estado de México Centro Universitario UAEM Valle de México Ingeniería en Computación Unidad de Aprendizaje: Programación Paralela y Distribuida Tema: Introducción a los Sistemas

Más detalles

1. Reglas ACID: comprobar la propiedad Atomicidad, lo que se ejecuta en una transacción se ejecuta todo o nada, usando la tabla clientes.

1. Reglas ACID: comprobar la propiedad Atomicidad, lo que se ejecuta en una transacción se ejecuta todo o nada, usando la tabla clientes. Objetivos: o Transacciones o Gestión de concurrencia Preparación de la práctica: si en el boletín 04, ejercicio 6, se llegaron a crear las tablas de marcas y departamentos así como los usuarios y roles,

Más detalles

Uso de recursos compartidos

Uso de recursos compartidos Uso de recursos compartidos Cada proceso o hebra se ejecuta de forma independiente. Sin embargo, cuando varias hebras (o procesos) han de acceder a un mismo recurso, se ha de coordinar el acceso a ese

Más detalles

Unidad IV: Arquitectura de los Sistemas de Bases de Datos (Tema 5) GESTIÓN DE BASES DE DATOS GRADO EN INGENIERÍA INFORMÁTICA UNED

Unidad IV: Arquitectura de los Sistemas de Bases de Datos (Tema 5) GESTIÓN DE BASES DE DATOS GRADO EN INGENIERÍA INFORMÁTICA UNED Unidad IV: Arquitectura de los Sistemas de Bases de Datos (Tema 5) GESTIÓN DE BASES DE DATOS GRADO EN INGENIERÍA INFORMÁTICA UNED Índice 1. Sistemas centralizados 2. Sistemas cliente-servidor 3. Sistema

Más detalles

INDICE Prefacio Capitulo 1: Introducción Parte Primeras: modelos de datos Capitulo 2: Modelos entidad-relación Capitulo 3: El modelo relacional

INDICE Prefacio Capitulo 1: Introducción Parte Primeras: modelos de datos Capitulo 2: Modelos entidad-relación Capitulo 3: El modelo relacional INDICE Prefacio XVII Capitulo 1: Introducción 1.1 Aplicaciones de los sistemas de bases de datos 1 1.2. Sistemas de bases de datos frente a sistemas de archivos 2 1.3 Visión de los datos 3 1.4 modelos

Más detalles

Transacciones, copias de seguridad. Xochitl Clemente Parra Armando Méndez Morales

Transacciones, copias de seguridad. Xochitl Clemente Parra Armando Méndez Morales Transacciones, copias de seguridad Xochitl Clemente Parra Armando Méndez Morales Transacciones Las transacciones hablan de atomicidad. Atomicidad es el concepto que habla de un conjunto de cosas actuando

Más detalles

Transacciones Distribuidas. Basado en el cap. 13 del texto de G. Couloris, J. Dollimore y T. Kindberg. Sistemas Distribuidos. Conceptos y Diseño.

Transacciones Distribuidas. Basado en el cap. 13 del texto de G. Couloris, J. Dollimore y T. Kindberg. Sistemas Distribuidos. Conceptos y Diseño. Transacciones Distribuidas Basado en el cap. 13 del texto de G. Couloris, J. Dollimore y T. Kindberg. Sistemas Distribuidos. Conceptos y Diseño. Contenido Transacciones Distribuidas Transacciones Planas

Más detalles

Actividad 1.2. Cuestionario sobre SGBD (2ª parte)

Actividad 1.2. Cuestionario sobre SGBD (2ª parte) Actividad 1.2. Cuestionario sobre SGBD (2ª parte) 1.Indica las diferencias existentes entre las funciones de manipulación y de descripción. Función de descripción o de definición: Esta función debe permitir

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Transacciones distribuidas Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Transacciones: Introducción y definiciones

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero

Más detalles

14. Control de la concurrencia

14. Control de la concurrencia 14. Control de la concurrencia Objetivos Conocer la problemática asociada a la concurrencia de transacciones en los sistemas de bases de datos Entender el significado de la seriabilidad y su aplicación

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

Programación Concurrente y Paralela. Unidad 1 Introducción Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el

Más detalles

BASES DE DATOS AVANZADAS. Facultad de Estadística e Informática

BASES DE DATOS AVANZADAS. Facultad de Estadística e Informática BASES DE DATOS AVANZADAS Clase 5 Tema 2. Bases de Datos Distribuidas (BDD) Definición BDD Componentes del Sistema de Administración de Base de Datos Distribuida Características de SMBD BDD Clasificación

Más detalles

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistemas. 4.

Más detalles

Bases De Datos Depto. Computación FCEyN UBA

Bases De Datos Depto. Computación FCEyN UBA Bases De Datos Depto. Computación FCEyN UBA Timestamping Timestamping multiversion Validación Estos métodos asumen que no ocurrirá un comportamiento no serializable y actúan para reparar el problema sólo

Más detalles

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Sistemas Distribuidos Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Bases de datos distribuidas implica que una sola aplicación deberá ser capaz de trabajar en forma transparente

Más detalles

BASES DE DATOS DISTRIBUIDAS

BASES DE DATOS DISTRIBUIDAS BASES DE DATOS DISTRIBUIDAS Una Base de Datos Distribuida entonces es una colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido en varios "sitios" de

Más detalles

Programación Concurrente Recopilación de teoría referente a la materia

Programación Concurrente Recopilación de teoría referente a la materia UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a

Más detalles

Concurrencia de Procesos

Concurrencia de Procesos Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)

Más detalles

De que hay que Recuperarse?

De que hay que Recuperarse? Conceptos de Recuperación de Información en Bases de Datos [EN - 21] CSI-INCO Fundamentos de Bases de Datos 1 De que hay que Recuperarse? En un sistema, se pueden dar fallas que pongan en riesgo la integridad

Más detalles

Control interno del flujo de un programa 1-14

Control interno del flujo de un programa 1-14 Control interno del flujo de un programa 1-14 Lección 1 Tipos de eventos Eventos en programas ejecutables Un report es un programa que realiza las siguientes fases: Recogida de parámetros (si los hay)

Más detalles

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN actividad Transacciones en MySQL como requerimiento parcial para acreditar

Más detalles

Capítulo 5. Edición de datos

Capítulo 5. Edición de datos Capítulo 5 Edición de datos ÍNDICE CAPÍTULO 5 Inserción de registros Cláusula INSERT Cláusula REPLACE Modificación de registros Borrado de registros Borrados/Modificaciones e integridad referencial Transacciones

Más detalles

Concurrencia Condiciones de Carrera. Guillermo Román Díez

Concurrencia Condiciones de Carrera. Guillermo Román Díez Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición

Más detalles

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI. ARQUITECTURAS 1 IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI Carlos Reveco D. creveco@dcc.uchile.cl Arquitectura de una aplicación 2 Arquitectura: desarrolla un plan general del

Más detalles