0% encontró este documento útil (0 votos)
14 vistas11 páginas

Sistemas Transaccionales Práctica 2

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 11

1

Sistemas Transaccionales 2

Yiro David Urueña Medina

David Fernando Cubillos Calderon

Juan David Bayona

Jhoan Santiago Cabra Sierra

Universidad Manuela Beltrán

Sistemas Transaccionales

Bogotá D.C

2024
2

¿Cuáles fueron los aprendizajes obtenidos al realizar esta guía?, lista como

mínimo 3 aprendizajes y relaciónelos con su futuro quehacer profesional.

RTA:

- cómo realizar un commit de dos fases y para qué casos se puede implementar.

- aprendimos que es una buena práctica en entorno de bases de datos relacionales

hacer un commit de dos fases antes de hacer modificaciones en la base de

datos.

- cuando se tienen motores de bases de datos relacionales, siempre se va a

cumplir la prueba acid sin importar cual sea desde que sea relacionada, en

cambio con motores de bases de datos no relacionales, toca mirar bien cada

punto de la prueba ya que no se tiene la seguridad de que se cumplan.

¿Dónde presentó mayor dificultad resolviendo la guía? y ¿cómo lo resolvieron?

¿Cuáles fueron las estrategias de solución?

RTA: En donde se obtuvo mayor dificultad resolviendo la actividad fue en el commit

de dos fases debido que era la primera vez usandolo y para resolver dudas y problemas se

hizo revisión a videos y ejemplos de estos mismos.

Lea el siguiente artículo Weihai Yu, A dynamic two-phase commit protocol for
self-adapting services.
(Proporcionado por el docente).

Elaborar un resumen de 20 líneas en inglés basado en el artículo

The article "A Dynamic Two-Phase Commit Protocol for Self-Adapting Services" delves into
the challenges posed by next-generation applications built on Web services, particularly
regarding the coordination protocols necessary to ensure the integrity of distributed
transactions. Traditional protocols like the two-phase commit (2PC) have been widely used
but may not be optimally suited for the dynamic and diverse nature of modern Web services.
3

This paper specifically focuses on analyzing existing optimizations of the 2PC protocol and
proposes an improved version tailored to the needs of Web services-based applications. The
authors highlight the importance of accommodating the unique characteristics of these
applications, which often involve a network of heterogeneous services that may vary in terms
of performance, availability, and reliability.

One key innovation presented in the paper is the dynamic selection of presumptions by
individual service providers within the 2PC protocol. This dynamic adaptation allows each
service provider to choose the most suitable presumption for a given distributed transaction
based on factors such as its own capabilities and the current state of the system. By
enabling this flexibility, the protocol aims to enhance the efficiency and effectiveness of
transaction coordination in Web services environments.

Importantly, the proposed protocol is designed to integrate seamlessly with existing 2PC
variants without introducing additional overhead in terms of message exchange or resource
utilization. This ensures that the transition to the improved protocol is smooth and
cost-effective for organizations already utilizing 2PC or similar coordination mechanisms.

Overall, the article contributes to the ongoing efforts to advance the state-of-the-art in
transaction management for Web services, offering a practical and efficient solution that
addresses the evolving needs of modern distributed applications. Through empirical
evaluation and theoretical analysis, the authors demonstrate the effectiveness and viability
of the proposed protocol, paving the way for its adoption in real-world scenarios where
dynamic adaptation and self-adaptation are paramount.

Elabore una línea de tiempo donde relacione la evolución de los diferentes tipos de
Sistemas Transaccionales.
4

Elabore un cuadro comparativo sobre los tipos de Sistemas Transaccionales,


indicando para cada uno: Ejemplos,
Test ACID, Arquitectura y enlaces a Sistemas Reales.
5

STP Sistema de sistema de sistema de Sistema de Sistema de


gestión de automatizaci gestión de Procesamient Gestión de
transacciones ón de transacciones o de Bases de
financieras procesos distribuidas Transaccione Datos
(FTS) empresariale (DTP) s en Línea Transacciona
s (BPM) (OLTP) les (OLTP)

Ejemplo Sistema de Sistema de Sistema de Sistema de Sistema de


gestión de gestión de gestión de procesamiento gestión de
operaciones reclamaciones inventario en de pedidos en ventas
bancarias en en una una cadena de un sitio web minoristas en
una compañía de suministro de comercio una tienda.
institución seguros. global. electrónico.
financiera.

Enlace Transacciones Procesos Transacciones Transacciones Transacciones


Financieras Empresariales Distribuidas en Línea de Base de
Datos

Arquitectura Centralizada/ Centralizada/ Distribuida Centralizada Centralizada


Distribuida Distribuida

Respuesta Alta Variable Media Alta Alta


rápida

Fiabilidad Alta Alta Alta Alta Alta

Inflexibilidad Baja Baja Media Baja Baja

Procesamient sí sí sí sí sí
o controlado

Atomicidad sí sí sí sí sí

Consistencia sí sí sí sí sí

Aislamiento sí sí sí sí sí

Durabilidad sí sí sí sí sí
6

Proceso commit de 2 fases

En este ejemplo vamos a realizarlo en xampp


realizaremos la fase de preparación y revisamos que esté confirmará la transacción.

luego debemos crear un archivo el cual llamamos “cambios.sql” y con algún editor de código
le ponemos el comando que deseemos.
7

luego de eso desde la terminal del dispositivo ejecutamos un comando para llamar a
cambios.sql

cuando se ejecute nos pedirá la contraseña del usuario pero si usamos el predeterminado
de xampp este no contará con contraseña.

Cuando se ejecuta el comando la tabla que creamos debería actualizarse según el


comando aislado que contenía el archivo cambios.sql
8

Ahora pasaremos a la última fase para observar que los cambios en los datos se confirmen
cómo permanentes.

ya con esto terminamos con una transacción satisfactoria y se visualiza con un cambio en la
base de datos permanente.
9

7. Genere una inserción masiva de datos a través de sentencias SQL (procedimientos

almacenados).

Debe utilizar tres tablas relacionadas entre sí.

Cree y responda:

a. Cree un script SQL donde inserte 10 Facturas.

b. Cree un script SQL donde inserte 50 productos

c. Para la tabla detalle. Cree un procedimiento almacenado donde almacene como

mínimo 1.000.000 de datos.Los valores a almacenar se generan a través de valores

aleatorios. Quiere decir que selecciona aleatoriamente el número de factura y el

código del producto, así como la cantidad.

d. ¿Cómo ocurre el proceso Commit?,

El proceso COMMIT en una base de datos ocurre en el contexto de transacciones.

Una transacción es una serie de operaciones que se ejecutan como una unidad

atómica e indivisible. El COMMIT es la fase final de una transacción y se encarga de

confirmar y aplicar de forma permanente los cambios realizados durante la

transacción

e. ¿Qué pasa al utilizar Rollback? – Demuestre explicando con los datos de

prueba. (Vale 2 puntos).

Esta instrucción deshace todas las operaciones realizadas durante la transacción y

revierte la base de datos al estado anterior al inicio de la transacción.


10

En este ejemplo se hace una simulación de un error, donde se quería modificar la fecha de

una factura, pero no se introdujo que factura se quería cambiar la fecha así que se

cambiaron todas las fechas de la columna

Afortunadamente antes de hacer el update se había usado el comando “COMMIT;”


11

Lo cual permitió recuperar los datos anteriores con el comando “ROLLBACK;”

f. ¿Cuánto tiempo demora el proceso de generación masiva de datos?

Usando el procedure que genera 1’000.000 de datos luego de 3 horas corriendo el proceso

tanto en local con xamp y el servidor ninguno concluyó el proceso, así que podemos

asegurar que dura más de 3 horas.

También podría gustarte