¿Alguien puede proporcionar una explicación directa (pero no más simple de lo posible) de una transacción aplicada a la informática (incluso si se copia de Wikipedia)?
¿Alguien puede proporcionar una explicación directa (pero no más simple de lo posible) de una transacción aplicada a la informática (incluso si se copia de Wikipedia)?
Respuestas:
Una transacción es una unidad de trabajo que desea tratar como "un todo". Tiene que suceder en su totalidad o no suceder en absoluto.
Un ejemplo clásico es la transferencia de dinero de una cuenta bancaria a otra. Para hacer eso, primero debe retirar el monto de la cuenta de origen y luego depositarlo en la cuenta de destino. La operación debe tener éxito en su totalidad. Si se detiene a la mitad, se perderá el dinero, y eso es muy malo.
En las bases de datos modernas, las transacciones también hacen otras cosas, como asegurarse de que no pueda acceder a los datos que otra persona ha escrito a medias. Pero la idea básica es la misma: las transacciones están ahí para garantizar que , pase lo que pase, los datos con los que trabaja estarán en un estado sensible . Garantizan que NO habrá una situación en la que se retire dinero de una cuenta, pero no se deposite en otra.
Una transacción es una forma de representar un cambio de estado. Idealmente, las transacciones tienen cuatro propiedades, comúnmente conocidas como ACID:
Consulte la entrada de Wikipedia ACID para obtener más detalles.
Aunque esto se aplica normalmente a las bases de datos, no tiene por qué ser así. (En particular, consulte Memoria transaccional de software ).
He aquí una explicación sencilla. Necesita transferir 100 dólares de la cuenta A a la cuenta B. Puede hacer:
accountA -= 100;
accountB += 100;
o
accountB += 100;
accountA -= 100;
Si algo sale mal entre la primera y la segunda operación en el par, tienes un problema: o han desaparecido 100 dólares o han aparecido de la nada.
Una transacción es un mecanismo que le permite marcar un grupo de operaciones y ejecutarlas de tal manera que todas se ejecutan (se comprometen) o el estado del sistema será como si no hubieran comenzado a ejecutarse en absoluto (reversión).
beginTransaction;
accountB += 100;
accountA -= 100;
commitTransaction;
transferirá 100 dólares o dejará ambas cuentas en el estado inicial.
"Una serie de declaraciones de manipulación de datos que deben completarse o fallar por completo, dejando la base de datos en un estado consistente"
Una transacción es una secuencia de una o más operaciones SQL que se tratan como una unidad.
Específicamente, cada transacción parece ejecutarse de forma aislada y, además, si el sistema falla, cada transacción se ejecuta en su totalidad o no en su totalidad.
El concepto de transacciones está motivado por dos preocupaciones completamente independientes. Uno tiene que ver con el acceso concurrente a la base de datos por parte de varios clientes y el otro tiene que ver con tener un sistema que sea resistente a fallas del sistema.
Transaction admite lo que se conoce como propiedades ACID:
http://en.wikipedia.org/wiki/Database_transaction
http://en.wikipedia.org/wiki/ACID
ACID = A tomicity, C onsistency, I solation, D urability
Cuando desee que varios recursos transaccionales estén involucrados en una sola transacción, deberá usar algo como una solución de compromiso de dos fases . XA es bastante compatible.
Sugeriría que una definición de 'procesamiento de transacciones' sería más útil, ya que cubre las transacciones como un concepto en informática.
De wikipedia:
En informática, el procesamiento de transacciones es el procesamiento de información que se divide en operaciones individuales e indivisibles, llamadas transacciones. Cada transacción debe tener éxito o fracasar como una unidad completa; no puede permanecer en un estado intermedio.
http://en.wikipedia.org/wiki/Transaction_processing#Implementations
Además de las respuestas anteriores, cabe señalar que, al menos en teoría, no existe restricción alguna en cuanto a qué tipo de recursos están involucrados en una transacción.
La mayoría de las veces, es solo una base de datos o varias bases de datos distintas, pero también es concebible que una impresora participe en una transacción y pueda hacer que esa transacción falle, por ejemplo, en el caso de un atasco de papel.
La transacción se puede definir como una colección de tareas que se consideran como unidad mínima de procesamiento. Cada unidad mínima de procesamiento no se puede dividir más.
Las operaciones principales de una transacción son la lectura y la escritura.
Toda transacción debe contener cuatro propiedades que comúnmente se conocen como propiedades ACID con el fin de garantizar la precisión, la integridad y la integridad de los datos.
Creo que una transacción es una acción atómica en términos de DBMS.
eso significa que no se puede separar. sí, en una transición, puede haber varias instrucciones para que el sistema las ejecute. pero están unidos para terminar una sola tarea básica.
por ejemplo. necesita caminar a través de un puente (tratemos esto como una transición), y para hacer esto, digamos, necesita 100 pasos. en general, estos pasos no se pueden separar. cuando haya hecho la mitad de ellos, solo hay dos opciones para usted: continuar para terminarlos todos y volver al punto de inicio. es como el resultado de una transacción: éxito (comprometido) y error (reversión)
La transacción es una unidad indivisible de procesamiento de datos -Todas las transacciones deben tener las propiedades ACID:
es decir: Atomicidad, consistencia, aislamiento y transacción duradera es todo o nada, pero no intermedio (significa que si transfiere su dinero de una cuenta a otra cuenta, una cuenta tiene que perder esa cantidad y otra tiene que ganar esa cantidad, pero si transfiere dinero de una cuenta y otra cuenta aún está vacía y no será una transacción)