Académique Documents
Professionnel Documents
Culture Documents
Instructor
Sena
Bogotá
Octubre de 2019
INTRODUCCIÓN
Largas esperas.
CONTROL DE CONCURRENCIA OPTIMISTA.
El único enfoque consistente con una alta concurrencia y una alta escalabilidad es
el control de concurrencia optimista con versiona miento. El chequeo de versión
utiliza números de versión, o sellos de fecha (timestamps), para detectar
actualizaciones en conflicto y para prevenir la pérdida de actualizaciones. Hibernate
proporciona tres enfoques posibles de escribir código de aplicación que utilice
concurrencia optimista. Los casos de uso que mostramos se encuentran en el
contexto de conversaciones largas, pero el chequeo de versiones tiene además el
beneficio de prevenir la pérdida de actualizaciones en transacciones individuales de
la base de datos.
LIVELOCK.
DEADLOCK.
BLOQUEO PESIMISTA.
SERIALIZACIÓN DE TRANSACCIONES.
Atomicidad.
Protocolos de recuperación total.
Protocolos de compromiso global.
BLOQUEOS.
NIVELES DE BLOQUEO.
MODOS DE BLOQUEO.
Actualización: para operaciones que pueden escribir. Sólo se permite que una
transacción adquiera este bloqueo. Si la transacción modifica datos, se convierte en
exclusivo, en caso contrario en compartido.
Exclusivo: para operaciones que escriben datos. Sólo se permite que una
transacción adquiera este bloqueo.
Intención: se usan para establecer una jerarquía de bloqueo. Por ejemplo, si una
transacción necesita bloqueo exclusivo y varias transacciones tienen bloqueo de
intención, no se concede el exclusivo.
2. Una transacción no puede liberar ningún bloqueo hasta que haya finalizado
de escribir en la base de datos, i.e., los bloqueos no se liberan hasta después
del punto de compromiso
Se pueden diseñar protocolos que no sean de dos fases pero que aseguren
la secuencialidad. En general, sea { , , , } 1 2 n D = d d K d el conjunto de
todos los elementos de datos de la base de datos dotado de un orden parcial
→. Si en el grafo existe un arco i j d →d, entonces la transacción que acceda
tanto a i d como a j d debe acceder primero a i d y después a j d.
PROTOCOLO DE ÁRBOL.
Caso particular de protocolo basado en grafos, grafos que sean árboles con
raíz.
REGLAS:
TRANSACCIONES:
El valor de ( ) i MT T puede extraerse del reloj del sistema o con contadores lógicos
de transacciones.
ELEMENTOS:
MTR(D): mayor marca temporal de todas las transacciones que ejecutan con éxito
READ D;
MTW(D ): mayor marca temporal de todas las transacciones que ejecutan con éxito
WRITE D;
Causas de aborto:
3. Algoritmos de secuencialidad.
COMPROMISO DE TRANSACCIONES.
RECUPERACIÓN DE CAÍDAS.
Tipos de caídas:
Activity Monitor rastrea solo las métricas de SQL Server más importantes. Para
obtenerlas, ejecuta consultas contra su instancia SQL Server anfitrión cada 10
segundos. EL desempeño es monitoreado sólo mientras Activity Monitor está
abierto, lo que lo hace una solución ligera con casi ningún costo extra.
El menú contextual del panel Procesos provee una característica útil para un análisis
más profundo y resolución de problemas. Es el rastreo de procesos seleccionado
en SQL Server Profiler.
EL panel Esperas de recursos muestra esperas para diferentes recursos:
memoria, compilación, red, etc.
Muestra el tiempo de espera (el tiempo que las tareas de SQL Server están
esperando en recursos del sistema), el tiempo de espera reciente, el tiempo
acumulativo de espera y el contador de espera promedio.
El panel E/S de archivo de datos muestra una lista de todos los archivos de base
de datos: MDF, NDF y LDF, sus nombres y rutas, actividad reciente de lectura y
escritura y tiempo de respuesta.