MVCCTesis_.pdf - MVCC Control de Concurrencia...

This preview shows page 1 - 5 out of 94 pages.

MVCC: Control de Concurrencia Multiversión sobre Bases de Datos. Comparación critica de implementaciones existentes Diaz Ramirez, Rodrigo Marcos Errecart, Rodolfo Emilio
Background image
INDICE INDICE 1 - INTRODUCCION ___________________________________________________ 52 - DEFINICIONES GENERALES DE BASES DE DATOS _____________________ 6Base de Datos ______________________________________________________________ 6SGBD (Sistema de Gestión de Base de Datos) ____________________________________ 6Sistemas monousuario y multiusuario ___________________________________________ 6Transacción _______________________________________________________________ 7Estados de una Transacción ___________________________________________________ 8Propiedades ACID __________________________________________________________ 9Procesamiento de Transacciones en línea (On-line Transaction Processing -OLTP) ______ 10Procesamiento Analítico en Línea (On-line Analytic Processing - OLAP) ______________ 10Schedulers y Recuperación __________________________________________________ 10Seriabilidad de Schedulers ___________________________________________________ 12Schedulers Seriales y Serializables ____________________________________________ 14Equivalencia de Schedulers, Conflicto Equivalente y Vista Equivalente _______________ 163 – MODELOS Y TECNICAS PARA EL CONTROL DE LA CONCURRENCIA ____ 19Introducción ______________________________________________________________ 19Técnicas de Bloqueo (Locking) para el control de la concurrencia ___________________ 19Protocolo de bloqueo de dos fases (Two-phase Locking) ___________________________ 22Control de concurrencia por Timestamp ________________________________________ 24Algoritmo de ordenación de Timestamp ________________________________________ 24Control de concurrencia basado en Validación (Optimista) _________________________ 26Control de Concurrencia Multiversión _________________________________________ 274 - MVCC: CONTROL DE CONCURRENCIA MULTIVERSION ________________ 29MVCC: Control de concurrencia Multiversión sobre Bases de Datos 1
Background image
INDICE Introducción ______________________________________________________________ 29Correctitud en MVCC ______________________________________________________ 30Algoritmos teóricos ________________________________________________________ 31Multiversión por Ordenamiento Timestamp __________________________________________ 31Bloqueo de 2 fases ______________________________________________________________ 33Con 2 versiones ______________________________________________________________ 33Usando mas de 2 versiones _____________________________________________________ 35Método combinado ___________________________________________________________ 36Utilizando Listas Comprometidas reemplazando Timestamps ____________________________ 37MultiVersión en Implementaciones Reales ______________________________________ 38Multiversión en Oracle _____________________________________________________ 39Problemas de Oracle en la implementación de Multiversión_________________________ 41Problema al intentar serializar la transacción __________________________________________ 41Problema de consistencia _________________________________________________________ 42Problema al definir en que momento un dato se puede borrar. ____________________________ 43Multiversión en Otros Productos ______________________________________________ 45MySQL ______________________________________________________________________ 45PostgreSql ____________________________________________________________________ 46SQL Server 2005 _______________________________________________________________ 46FireBird ______________________________________________________________________ 465 – NIVELES DE AISLAMIENTO ________________________________________ 48Motivación _______________________________________________________________ 48Introducción ______________________________________________________________ 48Niveles de aislamiento ANSI SQL ____________________________________________ 49Reformulación de los fenómenos ANSI ________________________________________ 52Dirty Write (P0) ___________________________________________________________ 54Lost Update (P4): __________________________________________________________ 56Comparación del nivel de aislamiento Cursor Stability con los ya definidos ____________ 58Violación de Restricción de Item de Datos (P5) __________________________________ 58P5A Read Skew (Lectura Desviada) ________________________________________________ 58P5B Write Skew (Escritura Desviada) _______________________________________________ 60MVCC: Control de concurrencia Multiversión sobre Bases de Datos 2
Background image
INDICE Nivel de Aislamiento SNAPSHOT ____________________________________________ 61Comparación del nivel de aislamiento Snapshot con los ya definidos. _________________ 61Tipos de Niveles de Aislamiento caracterizados por las posibles anomalías permitidas ___ 63Conclusión _______________________________________________________________ 646 – APLICACIÓN LECTORES / ESCRITORES ______________________________ 67Objetivo _________________________________________________________________ 67Explicación de los componentes de la Aplicación _________________________________ 67Ejemplo de Uso ___________________________________________________________ 72Resultados obtenidos _______________________________________________________ 747 – APLICACION BASADA EN TPC-C ____________________________________ 78Objetivo _________________________________________________________________ 78Diseño Lógico de la Base de Datos ____________________________________________ 78Entidades de la Base de Datos, Relaciones y características _________________________ 80Transacciones _____________________________________________________________ 80Transacción Nueva Orden ________________________________________________________ 80Transacción de Pago ____________________________________________________________ 80Transacción Estado de una Orden __________________________________________________ 81Transacción de Entrega __________________________________________________________ 81Transacción de Nivel de Stock ____________________________________________________ 81Pruebas propuestas por TPC-C _______________________________________________ 82Implementación de TPC-C __________________________________________________ 82Diseño de la aplicación TPC-C _______________________________________________ 83Tiempos obtenidos en TPC-C ________________________________________________ 848 - CONCLUSION ____________________________________________________ 87
Background image
Image of page 5

You've reached the end of your free preview.

Want to read all 94 pages?

  • Fall '19
  • Microsoft SQL Server, Sistema de Gestión de Bases de Datos

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture