SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Bolivarian Republic Of Venezuela
Ministry Of People's Power For University Education
Polytechnic University Of The West Mariscal Sucre
Caracas .-
TRANSACCIONES
DEFINICIÓN:
Teacher:
Martín Hernández
Members:
López Miriam Exp. Nº: 13582945
López Yenire Exp. Nº: 19288271
Nuñez Michael Exp. Nº: 16086679
Computing 7121
English
May 2010 Caracas
Las transacciones fueron originalmente desarrolladas para ser utilizadas dentro de
los sistemas de base de datos, donde se usaba para ayudar en el mantenimiento de los
datos de las aplicaciones y que dependían de la consistencia de la información almacenada.
Las transacciones son mecanismos que ayudan a simplificar la construcción de
sistemas confiables mediante procesos que proporcionan soporte uniforme para invocar y
sincronizar operaciones como:
 Operaciones de comparación de datos
 Aseguramiento de la seriabilidad de las transacciones con otras
 Atomicidad en su comportamiento
 Recuperación de fallas.
Manejo de transacciones
Se considera el manejo de transacciones cuando un dispositivo móvil inicia una
transacción hacia la base de datos o hacia un servidor fijo. La transacción puede ejecutarse
en el servidor o en el dispositivo móvil.
PROPIEDADES DE LAS TRANSACCIONES
Atomicidad
Una transacción es tratada como una unidad de operación. Por lo tanto todas las
acciones de la transacción se llevan a cabo o ninguna de ellas se realiza. La atomicidad
requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben
ser deshechos. Se efectúan todas las transacciones, pero en caso de fallas no se realiza
ninguna. Una transacción debe concluir comprometida o abortada. En el caso del
compromiso se instalan todas las actualizaciones y en el aborto se descartan todas las
actualizaciones.
Consistencia
Una transacción es un programa correcto que lleva la base de datos de un estado
consistente a otro con la misma característica. Gracias a esto, las transacciones no violan las
reglas de integridad de una base de datos.
Aislamiento
Durante la ejecución de una transacción, esta no debe revelar sus resultados a otras
transacciones concurrentes antes de su compromiso. Si varias transacciones se ejecutan
concurrentemente, los resultados deben ser los mismos que si ellas se hubieran ejecutado en
forma secuencial (Seriabilidad). La seriabilidad consiste en asegurarse que los cambios
siguen un orden adecuado.
Durabilidad
Es la propiedad de las transacciones que asegura que una vez que una transacción
realiza su compromiso, sus resultados son permanentes y no pueden ser borrados de la base
de datos, se asegura que los resultados de una transacción sobrevivirán a fallas del sistema.
Estructura de las Transacciones.
La estructura de una transacción usualmente viene dada según el modelo de la
transacción, estas pueden ser planas (simples) o anidadas.
• Transacciones planas:
Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave
BEGIN y END. Por ejemplo:
BEGIN _TRANSACTION Reservación
....
END.
• Transacciones Anidadas:
Consiste en tener transacciones que dependen de otras, estas transacciones están
incluidas dentro de otras de un nivel superior y se las conoce como subtransacciones. La
transacción de nivel superior puede producir hijos (subtransacciones) que hagan más fácil
la programación del sistema y mejoras del desempeño.
En las transacciones anidadas las operaciones de una transacción pueden ser así mismo
otras transacciones. Por ejemplo:
BEGIN _TRANSACTION Reservación
..........
BEGIN _TRANSACTION Vuelo
........
END.( Vuelo )
......
BEGIN _TRANSACTION Hotel
........
END
......
END.
Una transacción anidada dentro de otra conserva las mismas propiedades que las de
su padre, 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 el. El compromiso de una subtransaccion es condicional al compromiso
de su padre, si el padre de una o varias subtransacciones aborta, las subtransacciones hijas
también serán abortadas. Las transacciones anidadas brindan un nivel mas alto de
concurrencia entre transacciones. Ya que una transacción consiste de varias transacciones
es posible tener mayor concurrencia dentro de una sola transacción.
Así también, es posible recuperarse de de fallas de forma independiente de cada
subtransaccion. Esto limita el daño a una parte mas pequeña de la transacción, haciendo que
el costo de la recuperación sea el menor.
Estados de una Transacción
Activa el estado inicial; la transacción permanece en este estado durante su ejecución.
Parcialmente comprometida después de ejecutarse la última instrucción.
Fallida tras descubrir que no puede continuar la ejecución normal.
Abortada después de haber retrocedido la transacción y restablecido la base de datos a su
estado anterior al comienzo de la transacción. Comprometida tras completarse con éxito.
La ejecución concurrente de transacciones mejora la productividad y la utilización del
sistema, y también reduce el tiempo de espera de las transacciones. Reiniciar la transacción,
pero sólo si la transacción se ha abortado a causa de algún error hardware o software que no
lo haya provocado la lógica interna de la transacción.
Una transacción reiniciada se considera una nueva transacción.
Cancelar la transacción. Normalmente se hace esto si hay algún error interno lógico que
sólo se puede corregir escribiendo de nuevo el programa de aplicación, o debido a una
entrada incorrecta o debido a que no se han encontrado los datos deseados en la base de
datos.
Problemas de concurrencia
El propósito del control de concurrencia es mantener la consistencia de la BD
cuando ésta es actualizada por múltiples usuarios. Existen casos en los que las
transacciones ejecutadas aisladamente originan nuevos estados consistentes, sin embargo
las mismas transacciones ejecutadas concurrentemente pueden originar efectos como
pérdidas de operaciones y/o violación de restricciones de integridad; a
continuación se ilustran algunos casos típicos de anomalías.
Planificación de Transacciones: Representan el orden cronológico en el que se ejecutan
las instrucciones
de diferentes
transacciones
concurrentes.
Cualquier
planificación
válida debe
constar de todas
las instrucciones
de la transacción y
en el mismo
orden. Ej:
Ti Tj
Leer(A)
Leer (B)
Escribir (B)
Escribir(C)
Leer(C)
Planificación Secuencial: se produce cuando las instrucciones de cada transacción están
juntas y solo inician cuando terminan las de la transacción anterior. Ej.:
Ti Tj
Leer(A)
Escribir (B)
Leer(C)
Leer (B)
Escribir(C)
Ti Tj
Leer (B)
Escribir (C)
Leer (A)
Escribir (B)
Leer (C)
Concurrencia
En computación, la concurrencia es la propiedad de los sistemas que permiten que
múltiples procesos sean ejecutados al mismo tiempo, y que potencialmente 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 los procesos concurrentes,
simulando la concurrencia, ocupándose de forma alternada en uno y otro proceso a
pequeñísimos intervalos de tiempo. De esta manera simula que se están ejecutando a la vez.
Conflictos en la concurrencia
En los sistemas de tiempo compartido (aquellos con varios usuarios, procesos, tareas,
trabajos que reparten el uso de CPU entre estos) se presentan muchos conflictos debido a
que los procesos compiten por los recursos del sistema. Los programas concurrentes a
diferencia de los programas secuenciales tienen una serie de conflictos muy particulares
derivados de las características de la concurrencia:
Violación de la exclusión mutua: En ocasiones ciertas acciones que se realizan en un
programa concurrente no proporcionan los resultados deseados. Esto se debe a que existe
una parte del programa donde se realizan dichas acciones que constituye una región
critica, es decir, es una parte del programa en la que se debe garantizar que si un proceso
accede a la misma, ningún otro podrá acceder. Se necesita pues garantizar la exclusión
mutua.
Bloqueo mutuo o deadlock: Un proceso se encuentra en estado de deadlock si esta
esperando por un suceso que no ocurrirá nunca. Se puede producir en la comunicación
de procesos y mas frecuentemente en la gestión de recursos.
Correctitud
En teoría de la computación, la corrección de un algoritmo, también
llamada correctitud (como adaptación de la palabra inglesa correctnes), corresponde a una
propiedad que distingue a un algoritmo de un procedimiento efectivo.
Un algoritmo es correcto, si:
1. Resuelve el problema computacional para el cual fue diseñado.
2. Para cada entrada, produce la salida deseada.
3. Termina en un tiempo de ejecución finito.
Si cualquiera de estos tres puntos no se cumple, entonces estamos hablando de
un algoritmo incorrecto, que para efectos prácticos, carece de utilidad, al no ser más que
un procedimiento efectivo, es decir, una secuencia ordenada y determinista de pasos.
Seriabilidad
Consiste en asegurarse que los cambios siguen un orden adecuado. Con el fin de
garantizar la seriabilidad de las transacciones se recomienda:
• Asignar un orden a los items a bloquear y requerir que todas las transacciones efectúen
los bloqueos respetando el orden.
• Requerir que en una transacción todos los bloqueos precedan a todos los desbloqueos
(teorema de ejecución en dos fases).
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.
 Los algoritmos pesimistas sincronizan la ejecución concurrente de las transacciones en
su etapa inicial de su ciclo de ejecución. El grupo de algoritmos pesimistas consiste de
algoritmos basados en candados, algoritmos basados en ordenamiento por estampas de
tiempo y algoritmos híbridos.
 Los algoritmos optimistas retrasan la sincronización de las transacciones hasta su
terminación. El grupo de los algoritmos optimistas se clasifican por basados en
candados y basados en estampas de tiempo.
 Algoritmo de bloqueo
También reciben el nombre de candado. En realidad, un bloqueo es una variable
asociada con un ítem de la Base de Datos; utilizada para almacenar el estado de ese ítem
con respecto a posibles operaciones que le puedan ser aplicadas. Usamos los bloqueos
como un medio de sincronizar los accesos de transacciones concurrentes a los items de la
Base de Datos.
ENGLISH
TRANSACTIONS
DEFINITION
The transactions were originally developed for use within the database systems,
where it was used to assist in maintaining data and applications that depended on the
consistency of the stored information.
Transactions are mechanisms that help simplify the construction of reliable systems
through processes that provide uniform support for invoke and synchronize operations as:
 Operations Data Comparison
 Ensuring the serializability of transactions with other
 Atomicity in behavior
 Failover
Transaction Management
It considers the management of transactions when a mobile device initiates a transaction to the database or to
a fixed server. The transaction can be executed on the server or mobile device.
PROPERTIES OF TRANSACTIONS
Atomicity
A transaction is treated as a unit operation. Thus all actions of the transaction are
performed or none of them is performed. Atomicity requires that if a transaction is
interrupted by a failure, its partial results must be undone. All transactions are made, but in case of
failures do not perform. A transaction must conclude committed or aborted. In the case of commitment all
updates are installed on abortion and all updates are discarded.
Consistency
A transaction is a correct program that takes the database from a consistent state to
another with the same characteristic. Because of this, transactions do not violate the rules of
integrity of a database.
Isolation
During the execution of a transaction, it should not reveal their results to other
concurrent transactions before its commitment. If several transactions are executed
concurrently, the results should be the same as if they had been executed sequentially
(serializability). Serializability is to ensure that the changes follow a proper order.
Durability
It is the property of transactions ensures that once a transaction completes its commitment, its results
are permanent and can not be deleted from the database, ensure that the results of a transaction survive system
failures.
Transaction Structure
The structure of a transaction usually is given on the model of the transaction, they can be flat (simple)
or nested.
• Transactions flat:
Consist of a sequence of primitive operations enclosed between the keywords
BEGIN y END. Por ejemplo:
BEGIN _TRANSACTION Reservación
....
END.
• Nested Transactions:
It contains a dependent on other transactions; these transactions are included within other
higher-level and are referred to as subtransactions. The top-level transaction can produce children
(subtransactions) to make programming easier and improved system performance.
Nested transactions in the operations of a transaction can be likewise other transactions. For example:
BEGIN _TRANSACTION Reservación
..........
BEGIN _TRANSACTION Vuelo
........
END.( Vuelo )
......
BEGIN _TRANSACTION Hotel
........
END
......
END.
A nested inside another transaction retains the same properties as those of his father,
this implies that it may contain and transactions within it. There are obvious restrictions in a
nested transaction: should start after his father and must end before that. The commitment
of subtransactions is conditional upon the commitment of his father if the father of one or
more subtransactions aborts, the daughters will also be aborted subtransactions. Nested
transactions offer a higher level of concurrency between transactions. Since a transaction
consists of several transactions may be more competition within a single transaction.
Also, you can recover from failure independently of each subtransactions. This
limits the damage to a smaller part of the transaction, making the cost of recovery is less.
Transaction Status
Enables: the initial state, the transaction remains in this state for its implementation.
Partially committed after executing the last instruction.
Failed: after discovering they can not continue normal execution.
Aborted: receded after the transaction and the database restored to its previous state at the
beginning of the transaction. Committed after a successful completion.
The concurrent execution of transactions improves productivity and system utilization, and also
reduces the waiting time of transactions
Restart the transaction, but only if the transaction has been aborted because of some hardware or software
error that has not caused the internal logic of the transaction.
A restarted transaction is considered a new transaction. Cancel the transaction. Usually done that if
there is a logical internal error can be corrected only rewriting the application program, or because of an
incorrect entry or because they have not found the desired data into the database.
Concurrency Problems
The purpose of concurrency control is to maintain the consistency of the database
when it is updated by multiple users. There are cases in which transactions executed in
isolation rise to new states consistent, however the same transactions executed concurrently
can cause effects such as loss from operations and / or violation of integrity constraints, and
then illustrates some typical cases of anomalies.
Transaction Transaction Transaction Transaction
READ
WRITE
READ
WRITE
READ
READ
PRINT
PRINT
Inconsistent output
READ
WRITE
WRITE
READ
READ
READ
WRITE
WRITE
Introduction of inconsistencies in the BD
Transaction Transaction
READ
READ
WRITE
WRITE
READ
READ
READ
PRINT
PRINT
WRITE
Operating loss Not reproduction of readings
Transaction Transaction
Transaction Planning: They represent the chronological order in which instructions are
executed in different concurrent transactions. Any valid planning should include all
instructions of the transaction and in the same order. Example
Ti Tj
Read (A)
Read (B)
Write (B)
Write(C)
Read (C)
Sequential Planning: This occurs when the instructions for each transaction are started
together and only when they finish the previous transaction. Example:
Ti Tj
Read (A)
Write (B)
Read (C)
Read (B)
Write(C)
Ti Tj
Read (B)
Write (C)
Read (A)
Write (B)
Read (C)
Concurrence
In computing, concurrency is a property of systems that allow multiple processes to
be executed at the same time, and that potentially interact with each other.
Concurrent processes can be executed simultaneously really, only when each is run on
different processors. Instead, concurrency is simulated if only one processor responsible for
executing concurrent processes, simulating the crowd, seized alternately in either process
very small time intervals. In this way simulates that are running at once.
Conflicts in the concurrence
In time-sharing systems (those with multiple users, processes, jobs, jobs that share
the CPU utilization between these) presents many conflicts because the processes are
competing for system resources. Concurrent programs unlike sequential programs have a
very specific series of conflicts resulting from the characteristics of the concurrence:
Violation of mutual exclusion: Sometimes certain actions that are performed in a
concurrent program does not provide the desired results. This is because there is a part of
the program where such actions are performed is a critical region, ie is a part of the
program in which we must guarantee that if a process accesses the same, no one else can
access. Is therefore required to ensure mutual exclusion.
Deadlock or deadlock: A process is in a state of deadlock if it is waiting for an
event that will never happen. May occur in the communication process and more frequently
in resource management.
Correctness
In theory of computation, the correction of an algorithm, also called correctness (as
an adaptation of the English word correctnes) corresponds to a property that distinguishes
an algorithm of an effective procedure.
An algorithm is correct if:
1. Solves the computational problem for which it was designed.
2. For each entry, produces the desired output.
3. Ends in a finite run time.
If any of these three points are not met, then we are talking about a wrong
algorithm, which for practical purposes, useless, to be nothing more than an effective
procedure, ie an orderly sequence of steps.
Serializability
Is to ensure that the changes follow a proper order.
In order to ensure serializability of transactions is recommended:
• Assign an order to block items and require that all transactions carried out in compliance
with the order blocks.
• Require that a transaction all locks precede all unlocks (theorem implemented in two
phases).
Concurrency control algorithms: The concurrency control algorithms to synchronize
concurrent execution of transactions under the criterion of correctness. The consistency
between transactions is ensured by isolating them.
 Pessimistic algorithms synchronize the concurrent execution of transactions in its
initial stage of its implementation cycle.Π The pessimistic group of algorithms consists
of algorithms based on locks, computer-based algorithms for time stamps and hybrid
algorithms.
 Optimistic algorithms delay the timing of the transaction to completion. The groups of
optimistic algorithms are classified based on locks and based on time stamps.
 Locking algorithm.
They are known to lock. In fact, a lockout is a variable associated with an item from
the database, used to store the state of that item with respect to possible operations that may
be applied. We use locks as a means to synchronize concurrent access to transaction items
in the database.
Concurrency
Control
Algorithms
Pessimistic Optimistic
padlocks
Timestamps
Hybrids
Basic
Multi version
Conservatives
centralized
primary copy
distributed
padlocks Timestamps

Weitere ähnliche Inhalte

Was ist angesagt?

Transacciones
TransaccionesTransacciones
Transaccionesemnero
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadAngel Sanchez Virgen
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transaccionesPatricia Flores
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Mayito Pdg
 
Concurrencia bases datos 2
Concurrencia bases datos 2Concurrencia bases datos 2
Concurrencia bases datos 2Velmuz Buzz
 
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datosJose O- Vera
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigaciónJhoel Dgez Garcia
 
Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Liz Ocampo
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE90040112
 
Estados de transicion de procesos
Estados de transicion de procesosEstados de transicion de procesos
Estados de transicion de procesosLarry Cepeda
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"UNIVERSIDAD VERACRUZANA
 
Modelos de estados
Modelos de estadosModelos de estados
Modelos de estadosFaubricio
 

Was ist angesagt? (20)

Transacciones
TransaccionesTransacciones
Transacciones
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Concurrencia bases datos 2
Concurrencia bases datos 2Concurrencia bases datos 2
Concurrencia bases datos 2
 
Consistencia
ConsistenciaConsistencia
Consistencia
 
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datos
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE
 
Estados de transicion de procesos
Estados de transicion de procesosEstados de transicion de procesos
Estados de transicion de procesos
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Modelos de estados
Modelos de estadosModelos de estados
Modelos de estados
 
Concurrencia y serialización final 2
Concurrencia y serialización final 2Concurrencia y serialización final 2
Concurrencia y serialización final 2
 

Andere mochten auch

Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlbalamurugan.k Kalibalamurugan
 
Atomic Service Transactions
Atomic Service Transactions Atomic Service Transactions
Atomic Service Transactions WSO2
 
Concurrency (Distributed computing)
Concurrency (Distributed computing)Concurrency (Distributed computing)
Concurrency (Distributed computing)Sri Prasanna
 
Transactions (Distributed computing)
Transactions (Distributed computing)Transactions (Distributed computing)
Transactions (Distributed computing)Sri Prasanna
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactionsNilu Desai
 
4. concurrency control
4. concurrency control4. concurrency control
4. concurrency controlAbDul ThaYyal
 

Andere mochten auch (8)

Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
 
Atomic Service Transactions
Atomic Service Transactions Atomic Service Transactions
Atomic Service Transactions
 
Concurrency (Distributed computing)
Concurrency (Distributed computing)Concurrency (Distributed computing)
Concurrency (Distributed computing)
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
Transactions (Distributed computing)
Transactions (Distributed computing)Transactions (Distributed computing)
Transactions (Distributed computing)
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactions
 
4. concurrency control
4. concurrency control4. concurrency control
4. concurrency control
 
Concurrency control
Concurrency controlConcurrency control
Concurrency control
 

Ähnlich wie transaction-management

Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxoviroger
 
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...Liz Ocampo
 
CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20majitoer
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transaccionesmelasa7
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transaccionesmelasa7
 
Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20eeencalada
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datosjuanmanuel_29
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracleguestdb275b
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidasVictor
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidasVictor
 

Ähnlich wie transaction-management (20)

Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptx
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
 
CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20
 
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
 
Transacciones
TransaccionesTransacciones
Transacciones
 
ATOMICIDAD
ATOMICIDADATOMICIDAD
ATOMICIDAD
 
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
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 

Mehr von Shami Zama

Chemical-Equilibrium-Class-10-notes.pdf
Chemical-Equilibrium-Class-10-notes.pdfChemical-Equilibrium-Class-10-notes.pdf
Chemical-Equilibrium-Class-10-notes.pdfShami Zama
 
Chapter-organic-Chemistry-class-10-notes.pdf
Chapter-organic-Chemistry-class-10-notes.pdfChapter-organic-Chemistry-class-10-notes.pdf
Chapter-organic-Chemistry-class-10-notes.pdfShami Zama
 
Chemical-Equilibrium-Class-10-important-questions.pdf
Chemical-Equilibrium-Class-10-important-questions.pdfChemical-Equilibrium-Class-10-important-questions.pdf
Chemical-Equilibrium-Class-10-important-questions.pdfShami Zama
 
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdfChapter-Acids-Bases-and-Salts-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdfShami Zama
 
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdfChapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdfShami Zama
 
Chapter-Organic-Chemistry-class-10-important-Questions.pdf
Chapter-Organic-Chemistry-class-10-important-Questions.pdfChapter-Organic-Chemistry-class-10-important-Questions.pdf
Chapter-Organic-Chemistry-class-10-important-Questions.pdfShami Zama
 
Chapter-Organic-Chemistry-class-10-mcqs.pdf
Chapter-Organic-Chemistry-class-10-mcqs.pdfChapter-Organic-Chemistry-class-10-mcqs.pdf
Chapter-Organic-Chemistry-class-10-mcqs.pdfShami Zama
 
Chemical-Equilibrium-Class-10-mcqs-pdf.pdf
Chemical-Equilibrium-Class-10-mcqs-pdf.pdfChemical-Equilibrium-Class-10-mcqs-pdf.pdf
Chemical-Equilibrium-Class-10-mcqs-pdf.pdfShami Zama
 
Chem note tenth
Chem note tenthChem note tenth
Chem note tenthShami Zama
 
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdf
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdfSALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdf
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdfShami Zama
 
56063601-Red-Bull-Project-Report.docx
56063601-Red-Bull-Project-Report.docx56063601-Red-Bull-Project-Report.docx
56063601-Red-Bull-Project-Report.docxShami Zama
 
Digital binding black
Digital binding blackDigital binding black
Digital binding blackShami Zama
 
36912122 mahindra-balero-project-report
36912122 mahindra-balero-project-report36912122 mahindra-balero-project-report
36912122 mahindra-balero-project-reportShami Zama
 
Sumit dessertation report hul
Sumit dessertation report hulSumit dessertation report hul
Sumit dessertation report hulShami Zama
 
A study of non performing assets with special reference to icici bank
A study of non performing assets with special reference to icici bankA study of non performing assets with special reference to icici bank
A study of non performing assets with special reference to icici bankShami Zama
 
Scope of rural marketing in fmcg industries
Scope of rural marketing in fmcg industriesScope of rural marketing in fmcg industries
Scope of rural marketing in fmcg industriesShami Zama
 
Analysis of customer satisfaction in banking sector of jammu & kashmir bank
Analysis of customer satisfaction in banking sector of jammu & kashmir bankAnalysis of customer satisfaction in banking sector of jammu & kashmir bank
Analysis of customer satisfaction in banking sector of jammu & kashmir bankShami Zama
 
284 distribution network of pepsi in jaunpur
284 distribution network of pepsi in jaunpur284 distribution network of pepsi in jaunpur
284 distribution network of pepsi in jaunpurShami Zama
 
shriram general insurance
shriram general insurance shriram general insurance
shriram general insurance Shami Zama
 

Mehr von Shami Zama (20)

Chemical-Equilibrium-Class-10-notes.pdf
Chemical-Equilibrium-Class-10-notes.pdfChemical-Equilibrium-Class-10-notes.pdf
Chemical-Equilibrium-Class-10-notes.pdf
 
Chapter-organic-Chemistry-class-10-notes.pdf
Chapter-organic-Chemistry-class-10-notes.pdfChapter-organic-Chemistry-class-10-notes.pdf
Chapter-organic-Chemistry-class-10-notes.pdf
 
Chemical-Equilibrium-Class-10-important-questions.pdf
Chemical-Equilibrium-Class-10-important-questions.pdfChemical-Equilibrium-Class-10-important-questions.pdf
Chemical-Equilibrium-Class-10-important-questions.pdf
 
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdfChapter-Acids-Bases-and-Salts-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Free-pdf-notes.pdf
 
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdfChapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdf
Chapter-Acids-Bases-and-Salts-Important-questions-Free-pdf-notes.pdf
 
Chapter-Organic-Chemistry-class-10-important-Questions.pdf
Chapter-Organic-Chemistry-class-10-important-Questions.pdfChapter-Organic-Chemistry-class-10-important-Questions.pdf
Chapter-Organic-Chemistry-class-10-important-Questions.pdf
 
Chapter-Organic-Chemistry-class-10-mcqs.pdf
Chapter-Organic-Chemistry-class-10-mcqs.pdfChapter-Organic-Chemistry-class-10-mcqs.pdf
Chapter-Organic-Chemistry-class-10-mcqs.pdf
 
Chemical-Equilibrium-Class-10-mcqs-pdf.pdf
Chemical-Equilibrium-Class-10-mcqs-pdf.pdfChemical-Equilibrium-Class-10-mcqs-pdf.pdf
Chemical-Equilibrium-Class-10-mcqs-pdf.pdf
 
Chem note tenth
Chem note tenthChem note tenth
Chem note tenth
 
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdf
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdfSALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdf
SALES AND PROMOTION OF TIMES OF INDIA GROUP MAGAZINE marketing.docx.pdf
 
56063601-Red-Bull-Project-Report.docx
56063601-Red-Bull-Project-Report.docx56063601-Red-Bull-Project-Report.docx
56063601-Red-Bull-Project-Report.docx
 
Digital binding black
Digital binding blackDigital binding black
Digital binding black
 
36912122 mahindra-balero-project-report
36912122 mahindra-balero-project-report36912122 mahindra-balero-project-report
36912122 mahindra-balero-project-report
 
Sumit dessertation report hul
Sumit dessertation report hulSumit dessertation report hul
Sumit dessertation report hul
 
Pooja 1
Pooja 1 Pooja 1
Pooja 1
 
A study of non performing assets with special reference to icici bank
A study of non performing assets with special reference to icici bankA study of non performing assets with special reference to icici bank
A study of non performing assets with special reference to icici bank
 
Scope of rural marketing in fmcg industries
Scope of rural marketing in fmcg industriesScope of rural marketing in fmcg industries
Scope of rural marketing in fmcg industries
 
Analysis of customer satisfaction in banking sector of jammu & kashmir bank
Analysis of customer satisfaction in banking sector of jammu & kashmir bankAnalysis of customer satisfaction in banking sector of jammu & kashmir bank
Analysis of customer satisfaction in banking sector of jammu & kashmir bank
 
284 distribution network of pepsi in jaunpur
284 distribution network of pepsi in jaunpur284 distribution network of pepsi in jaunpur
284 distribution network of pepsi in jaunpur
 
shriram general insurance
shriram general insurance shriram general insurance
shriram general insurance
 

transaction-management

  • 1. Bolivarian Republic Of Venezuela Ministry Of People's Power For University Education Polytechnic University Of The West Mariscal Sucre Caracas .- TRANSACCIONES DEFINICIÓN: Teacher: Martín Hernández Members: López Miriam Exp. Nº: 13582945 López Yenire Exp. Nº: 19288271 Nuñez Michael Exp. Nº: 16086679 Computing 7121 English May 2010 Caracas
  • 2. Las transacciones fueron originalmente desarrolladas para ser utilizadas dentro de los sistemas de base de datos, donde se usaba para ayudar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada. Las transacciones son mecanismos que ayudan a simplificar la construcción de sistemas confiables mediante procesos que proporcionan soporte uniforme para invocar y sincronizar operaciones como:  Operaciones de comparación de datos  Aseguramiento de la seriabilidad de las transacciones con otras  Atomicidad en su comportamiento  Recuperación de fallas. Manejo de transacciones Se considera el manejo de transacciones cuando un dispositivo móvil inicia una transacción hacia la base de datos o hacia un servidor fijo. La transacción puede ejecutarse en el servidor o en el dispositivo móvil. PROPIEDADES DE LAS TRANSACCIONES Atomicidad Una transacción es tratada como una unidad de operación. Por lo tanto todas las acciones de la transacción se llevan a cabo o ninguna de ellas se realiza. La atomicidad requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben ser deshechos. Se efectúan todas las transacciones, pero en caso de fallas no se realiza ninguna. Una transacción debe concluir comprometida o abortada. En el caso del compromiso se instalan todas las actualizaciones y en el aborto se descartan todas las actualizaciones. Consistencia
  • 3. Una transacción es un programa correcto que lleva la base de datos de un estado consistente a otro con la misma característica. Gracias a esto, las transacciones no violan las reglas de integridad de una base de datos. Aislamiento Durante la ejecución de una transacción, esta no debe revelar sus resultados a otras transacciones concurrentes antes de su compromiso. Si varias transacciones se ejecutan concurrentemente, los resultados deben ser los mismos que si ellas se hubieran ejecutado en forma secuencial (Seriabilidad). La seriabilidad consiste en asegurarse que los cambios siguen un orden adecuado. Durabilidad Es la propiedad de las transacciones que asegura que una vez que una transacción realiza su compromiso, sus resultados son permanentes y no pueden ser borrados de la base de datos, se asegura que los resultados de una transacción sobrevivirán a fallas del sistema. Estructura de las Transacciones. La estructura de una transacción usualmente viene dada según el modelo de la transacción, estas pueden ser planas (simples) o anidadas. • Transacciones planas: Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservación .... END. • Transacciones Anidadas: Consiste en tener transacciones que dependen de otras, estas transacciones están incluidas dentro de otras de un nivel superior y se las conoce como subtransacciones. La transacción de nivel superior puede producir hijos (subtransacciones) que hagan más fácil la programación del sistema y mejoras del desempeño. En las transacciones anidadas las operaciones de una transacción pueden ser así mismo otras transacciones. Por ejemplo:
  • 4. BEGIN _TRANSACTION Reservación .......... BEGIN _TRANSACTION Vuelo ........ END.( Vuelo ) ...... BEGIN _TRANSACTION Hotel ........ END ...... END. Una transacción anidada dentro de otra conserva las mismas propiedades que las de su padre, 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 el. El compromiso de una subtransaccion es condicional al compromiso de su padre, si el padre de una o varias subtransacciones aborta, las subtransacciones hijas también serán abortadas. Las transacciones anidadas brindan un nivel mas alto de concurrencia entre transacciones. Ya que una transacción consiste de varias transacciones es posible tener mayor concurrencia dentro de una sola transacción. Así también, es posible recuperarse de de fallas de forma independiente de cada subtransaccion. Esto limita el daño a una parte mas pequeña de la transacción, haciendo que el costo de la recuperación sea el menor. Estados de una Transacción Activa el estado inicial; la transacción permanece en este estado durante su ejecución. Parcialmente comprometida después de ejecutarse la última instrucción. Fallida tras descubrir que no puede continuar la ejecución normal. Abortada después de haber retrocedido la transacción y restablecido la base de datos a su estado anterior al comienzo de la transacción. Comprometida tras completarse con éxito. La ejecución concurrente de transacciones mejora la productividad y la utilización del sistema, y también reduce el tiempo de espera de las transacciones. Reiniciar la transacción, pero sólo si la transacción se ha abortado a causa de algún error hardware o software que no lo haya provocado la lógica interna de la transacción. Una transacción reiniciada se considera una nueva transacción. Cancelar la transacción. Normalmente se hace esto si hay algún error interno lógico que sólo se puede corregir escribiendo de nuevo el programa de aplicación, o debido a una
  • 5. entrada incorrecta o debido a que no se han encontrado los datos deseados en la base de datos. Problemas de concurrencia El propósito del control de concurrencia es mantener la consistencia de la BD cuando ésta es actualizada por múltiples usuarios. Existen casos en los que las transacciones ejecutadas aisladamente originan nuevos estados consistentes, sin embargo las mismas transacciones ejecutadas concurrentemente pueden originar efectos como pérdidas de operaciones y/o violación de restricciones de integridad; a continuación se ilustran algunos casos típicos de anomalías. Planificación de Transacciones: Representan el orden cronológico en el que se ejecutan las instrucciones de diferentes transacciones concurrentes. Cualquier planificación válida debe constar de todas las instrucciones de la transacción y en el mismo orden. Ej: Ti Tj Leer(A) Leer (B) Escribir (B)
  • 6. Escribir(C) Leer(C) Planificación Secuencial: se produce cuando las instrucciones de cada transacción están juntas y solo inician cuando terminan las de la transacción anterior. Ej.: Ti Tj Leer(A) Escribir (B) Leer(C) Leer (B) Escribir(C) Ti Tj Leer (B) Escribir (C) Leer (A) Escribir (B) Leer (C) Concurrencia En computación, la concurrencia es la propiedad de los sistemas que permiten que múltiples procesos sean ejecutados al mismo tiempo, y que potencialmente 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 los procesos concurrentes, simulando la concurrencia, ocupándose de forma alternada en uno y otro proceso a pequeñísimos intervalos de tiempo. De esta manera simula que se están ejecutando a la vez.
  • 7. Conflictos en la concurrencia En los sistemas de tiempo compartido (aquellos con varios usuarios, procesos, tareas, trabajos que reparten el uso de CPU entre estos) se presentan muchos conflictos debido a que los procesos compiten por los recursos del sistema. Los programas concurrentes a diferencia de los programas secuenciales tienen una serie de conflictos muy particulares derivados de las características de la concurrencia: Violación de la exclusión mutua: En ocasiones ciertas acciones que se realizan en un programa concurrente no proporcionan los resultados deseados. Esto se debe a que existe una parte del programa donde se realizan dichas acciones que constituye una región critica, es decir, es una parte del programa en la que se debe garantizar que si un proceso accede a la misma, ningún otro podrá acceder. Se necesita pues garantizar la exclusión mutua. Bloqueo mutuo o deadlock: Un proceso se encuentra en estado de deadlock si esta esperando por un suceso que no ocurrirá nunca. Se puede producir en la comunicación de procesos y mas frecuentemente en la gestión de recursos. Correctitud En teoría de la computación, la corrección de un algoritmo, también llamada correctitud (como adaptación de la palabra inglesa correctnes), corresponde a una propiedad que distingue a un algoritmo de un procedimiento efectivo. Un algoritmo es correcto, si: 1. Resuelve el problema computacional para el cual fue diseñado. 2. Para cada entrada, produce la salida deseada. 3. Termina en un tiempo de ejecución finito. Si cualquiera de estos tres puntos no se cumple, entonces estamos hablando de un algoritmo incorrecto, que para efectos prácticos, carece de utilidad, al no ser más que un procedimiento efectivo, es decir, una secuencia ordenada y determinista de pasos. Seriabilidad Consiste en asegurarse que los cambios siguen un orden adecuado. Con el fin de garantizar la seriabilidad de las transacciones se recomienda:
  • 8. • Asignar un orden a los items a bloquear y requerir que todas las transacciones efectúen los bloqueos respetando el orden. • Requerir que en una transacción todos los bloqueos precedan a todos los desbloqueos (teorema de ejecución en dos fases). 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.  Los algoritmos pesimistas sincronizan la ejecución concurrente de las transacciones en su etapa inicial de su ciclo de ejecución. El grupo de algoritmos pesimistas consiste de algoritmos basados en candados, algoritmos basados en ordenamiento por estampas de tiempo y algoritmos híbridos.  Los algoritmos optimistas retrasan la sincronización de las transacciones hasta su terminación. El grupo de los algoritmos optimistas se clasifican por basados en candados y basados en estampas de tiempo.  Algoritmo de bloqueo También reciben el nombre de candado. En realidad, un bloqueo es una variable asociada con un ítem de la Base de Datos; utilizada para almacenar el estado de ese ítem con respecto a posibles operaciones que le puedan ser aplicadas. Usamos los bloqueos como un medio de sincronizar los accesos de transacciones concurrentes a los items de la Base de Datos.
  • 10. TRANSACTIONS DEFINITION The transactions were originally developed for use within the database systems, where it was used to assist in maintaining data and applications that depended on the consistency of the stored information. Transactions are mechanisms that help simplify the construction of reliable systems through processes that provide uniform support for invoke and synchronize operations as:  Operations Data Comparison  Ensuring the serializability of transactions with other  Atomicity in behavior  Failover Transaction Management It considers the management of transactions when a mobile device initiates a transaction to the database or to a fixed server. The transaction can be executed on the server or mobile device.
  • 11. PROPERTIES OF TRANSACTIONS Atomicity A transaction is treated as a unit operation. Thus all actions of the transaction are performed or none of them is performed. Atomicity requires that if a transaction is interrupted by a failure, its partial results must be undone. All transactions are made, but in case of failures do not perform. A transaction must conclude committed or aborted. In the case of commitment all updates are installed on abortion and all updates are discarded. Consistency A transaction is a correct program that takes the database from a consistent state to another with the same characteristic. Because of this, transactions do not violate the rules of integrity of a database. Isolation During the execution of a transaction, it should not reveal their results to other concurrent transactions before its commitment. If several transactions are executed concurrently, the results should be the same as if they had been executed sequentially (serializability). Serializability is to ensure that the changes follow a proper order. Durability It is the property of transactions ensures that once a transaction completes its commitment, its results are permanent and can not be deleted from the database, ensure that the results of a transaction survive system failures. Transaction Structure The structure of a transaction usually is given on the model of the transaction, they can be flat (simple) or nested. • Transactions flat: Consist of a sequence of primitive operations enclosed between the keywords BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservación .... END. • Nested Transactions:
  • 12. It contains a dependent on other transactions; these transactions are included within other higher-level and are referred to as subtransactions. The top-level transaction can produce children (subtransactions) to make programming easier and improved system performance. Nested transactions in the operations of a transaction can be likewise other transactions. For example: BEGIN _TRANSACTION Reservación .......... BEGIN _TRANSACTION Vuelo ........ END.( Vuelo ) ...... BEGIN _TRANSACTION Hotel ........ END ...... END. A nested inside another transaction retains the same properties as those of his father, this implies that it may contain and transactions within it. There are obvious restrictions in a nested transaction: should start after his father and must end before that. The commitment of subtransactions is conditional upon the commitment of his father if the father of one or more subtransactions aborts, the daughters will also be aborted subtransactions. Nested transactions offer a higher level of concurrency between transactions. Since a transaction consists of several transactions may be more competition within a single transaction. Also, you can recover from failure independently of each subtransactions. This limits the damage to a smaller part of the transaction, making the cost of recovery is less. Transaction Status Enables: the initial state, the transaction remains in this state for its implementation. Partially committed after executing the last instruction. Failed: after discovering they can not continue normal execution. Aborted: receded after the transaction and the database restored to its previous state at the beginning of the transaction. Committed after a successful completion. The concurrent execution of transactions improves productivity and system utilization, and also reduces the waiting time of transactions Restart the transaction, but only if the transaction has been aborted because of some hardware or software error that has not caused the internal logic of the transaction.
  • 13. A restarted transaction is considered a new transaction. Cancel the transaction. Usually done that if there is a logical internal error can be corrected only rewriting the application program, or because of an incorrect entry or because they have not found the desired data into the database. Concurrency Problems The purpose of concurrency control is to maintain the consistency of the database when it is updated by multiple users. There are cases in which transactions executed in isolation rise to new states consistent, however the same transactions executed concurrently can cause effects such as loss from operations and / or violation of integrity constraints, and then illustrates some typical cases of anomalies. Transaction Transaction Transaction Transaction READ WRITE READ WRITE READ READ PRINT PRINT Inconsistent output READ WRITE WRITE READ READ READ WRITE WRITE Introduction of inconsistencies in the BD Transaction Transaction READ READ WRITE WRITE READ READ READ PRINT PRINT WRITE Operating loss Not reproduction of readings Transaction Transaction
  • 14. Transaction Planning: They represent the chronological order in which instructions are executed in different concurrent transactions. Any valid planning should include all instructions of the transaction and in the same order. Example Ti Tj Read (A) Read (B) Write (B) Write(C) Read (C) Sequential Planning: This occurs when the instructions for each transaction are started together and only when they finish the previous transaction. Example: Ti Tj Read (A) Write (B) Read (C) Read (B) Write(C) Ti Tj Read (B) Write (C) Read (A) Write (B) Read (C) Concurrence In computing, concurrency is a property of systems that allow multiple processes to be executed at the same time, and that potentially interact with each other. Concurrent processes can be executed simultaneously really, only when each is run on different processors. Instead, concurrency is simulated if only one processor responsible for executing concurrent processes, simulating the crowd, seized alternately in either process very small time intervals. In this way simulates that are running at once.
  • 15. Conflicts in the concurrence In time-sharing systems (those with multiple users, processes, jobs, jobs that share the CPU utilization between these) presents many conflicts because the processes are competing for system resources. Concurrent programs unlike sequential programs have a very specific series of conflicts resulting from the characteristics of the concurrence: Violation of mutual exclusion: Sometimes certain actions that are performed in a concurrent program does not provide the desired results. This is because there is a part of the program where such actions are performed is a critical region, ie is a part of the program in which we must guarantee that if a process accesses the same, no one else can access. Is therefore required to ensure mutual exclusion. Deadlock or deadlock: A process is in a state of deadlock if it is waiting for an event that will never happen. May occur in the communication process and more frequently in resource management. Correctness In theory of computation, the correction of an algorithm, also called correctness (as an adaptation of the English word correctnes) corresponds to a property that distinguishes an algorithm of an effective procedure. An algorithm is correct if: 1. Solves the computational problem for which it was designed. 2. For each entry, produces the desired output. 3. Ends in a finite run time. If any of these three points are not met, then we are talking about a wrong algorithm, which for practical purposes, useless, to be nothing more than an effective procedure, ie an orderly sequence of steps. Serializability Is to ensure that the changes follow a proper order. In order to ensure serializability of transactions is recommended: • Assign an order to block items and require that all transactions carried out in compliance with the order blocks.
  • 16. • Require that a transaction all locks precede all unlocks (theorem implemented in two phases). Concurrency control algorithms: The concurrency control algorithms to synchronize concurrent execution of transactions under the criterion of correctness. The consistency between transactions is ensured by isolating them.  Pessimistic algorithms synchronize the concurrent execution of transactions in its initial stage of its implementation cycle.Π The pessimistic group of algorithms consists of algorithms based on locks, computer-based algorithms for time stamps and hybrid algorithms.  Optimistic algorithms delay the timing of the transaction to completion. The groups of optimistic algorithms are classified based on locks and based on time stamps.  Locking algorithm. They are known to lock. In fact, a lockout is a variable associated with an item from the database, used to store the state of that item with respect to possible operations that may be applied. We use locks as a means to synchronize concurrent access to transaction items in the database.