Beruflich Dokumente
Kultur Dokumente
PRESENTADO POR:
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
T1: LOCK A; LOCK B; UNLOCK A; UNLOCK B;
T2: LOCK B; LOCK A; UNLOCK B; UNLOCK A;
T1 y T2 bloquean A y B => Espera indefinida de T1 y T2.
Soluciones (sistemas operativos):
BLOQUEO PESIMISTA
Serialización de transacciones.
Permite el proceso de transacciones asignándoles tiempos de procesamiento el cual
permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de
procesos en forma concurrente y no a través de una serie. La ventaja es que a un
mismo tiempo de reloj se pueden hacer dos operaciones, aunque el proceso de
sincronización es mas complicado.
Un aspecto muy importante en el manejo de transacciones es el de mantener y
aplicar algoritmos de control sobre los datos o recursos; para ese control también
se utilizan protocolos que proporcionen confiabilidad como lo siguientes:
< Atomicidad
< Protocolos de recuperación total
< Protocolos de compromiso global
BLOQUEOS
NIVELES DE BLOQUEO
MODOS DE BLOQUEO
• 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.
Caso particular de protocolo basado en grafos, grafos que sean árboles con raíz.
REGLAS:
Elementos:
Cada elemento de datos D lleva asociado dos marcas temporales:
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:
1. Fallo de la transacción: interrupción por el usuario, fallo aritmético, privilegios de
acceso...
2. Deadlock->aborto de una transacción
3. Algoritmos de secuencialidad.
4. Error software o hardware
Fácil: 1, 2 y 3. Difícil: 4. Puntos de recuperación por copias de seguridad.
COMPROMISO DE TRANSACCIONES
RECUPERACIÓN DE CAÍDAS
Tipos de caídas:
• Error de memoria volátil.
• Error de memoria permanente.
Activity Monitor
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 Process 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.
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 Data File I/O 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.
Data Collector
Data Collector es otra característica de monitoreo y optimización integrada en SQL
Server Management Studio. Colecta métricas de desempeño de instancias SQL
Server, lasguarda en un repositorio local de tal manera que puedan ser usadas
para un análisis posterior. Usa Data Warehousing, SQL Server Agent e Integration
Services.
REFERENCIA WEB
1. https://solutioncenter.apexsql.com/es/como-monitorear-sus-instancias-y-
bases-de-datos-sql-server/
2. http://dis.unal.edu.co/~icasta/icf_admon_bd.html