¿Cuáles son los principales problemas de investigación en las transacciones distribuidas?


10

Antecedentes: el procesamiento de transacciones ha sido un tema de investigación tradicional en la teoría de bases de datos. Hoy en día, las transacciones distribuidas se popularizan por los sistemas de almacenamiento distribuido a gran escala que generalmente implican la partición de datos (también llamada fragmentación) y la replicación de datos .

¿Cuáles son los principales problemas de investigación en las transacciones distribuidas?

¿Existen teorías y soluciones bien conocidas que necesitan mejoras (teóricas)?

Cualquier referencia es apreciada.

Respuestas:


9

Hay muchas áreas de investigación tanto en la teoría como en la práctica de las bases de datos distribuidas.

Uno de los principales desafíos prácticos es el de implementar mecanismos eficientes de control de concurrencia para bases de datos distribuidas y geo-replicadas. Para ejecutar transacciones de manera eficiente, tales mecanismos pueden proporcionar garantías más débiles que la serialización, lo que requiere que las transacciones parezcan ejecutarse secuencialmente. Una alternativa a la serialización es la de conformarse para el aislamiento de instantáneas [1], pero se ha demostrado que esto se escala mal en sistemas distribuidos y georeplicados. En el estado actual de la técnica, se han definido dos variantes diferentes de Snapshot Isolation (SI) para tratar el control de concurrencia en sistemas geo-replicados: Parallel Snapshot Isolation (PSI) [2] y Non Monotonic Snapshot Isolation (NMSI) [ 3,4]. En cuanto a lo que concierne a las bases de datos distribuidas (es decir, donde los datos están divididos entre diferentes sitios),

Al tener diferentes nociones de niveles de aislamiento que brindan garantías más débiles que la serialización, otra cuestión importante es la de escribir programas de manera que las ejecuciones todavía parezcan serializables. Un criterio de sonido para el aislamiento de instantáneas se ha diseñado en [1]. Algunas personas de mi grupo están trabajando actualmente en la elaboración de un criterio razonable para la ISP.

Otra cuestión relevante, tanto desde un punto de vista teórico como práctico, es la de la tala de transacciones. Básicamente, el corte es una técnica de análisis estático en la que las transacciones de grano grueso se dividen en transacciones más pequeñas y de grano fino. Para la serialización, esta pregunta se ha abordado en [6], y la teoría resultante se ha aplicado para dar una implementación práctica en [7].

Desde el punto de vista de los fundamentos teóricos de las bases de datos distribuidas, se ha propuesto utilizar técnicas de la comunidad de modelos de memoria débil [8] para definir formalmente el comportamiento de las transacciones. En [9] los autores dan una noción formal de comportamiento para las transacciones; Se ha utilizado el mismo enfoque en [10] para especificar el comportamiento de los tipos de datos replicados.

Recientemente, yo y algunos colegas míos (Alexey Gotsman y Hongseok Yang) construimos, a partir de las técnicas desarrolladas en [8,9,10], un marco teórico para especificar el comportamiento observable de los niveles de consistencia para bases de datos geo-replicadas. Empleamos con éxito el marco para dar una axiomatisfacción de SI, PSI y NMSI, cada uno de los cuales hemos demostrado ser correctos con respecto a una implementación simple. También explotamos la teoría resultante para diseñar un criterio de corte para PSI. Es de esperar que estos resultados los publiquemos en el futuro previsible.

Por favor no dude en escribirme si tiene otras preguntas. Espero que esto ayude,

Andrea Cerone.

Referencias

[1] Fekete et al, Hacer serializable el aislamiento de instantáneas (2005)

[2] Sovran et al., Transactional Storage for Geo-replicated Systems (2011)

[3] Arkedani et al, Aislamiento de instantáneas no monótonas: consistencia escalable y fuerte para sistemas transaccionales geo-replicados (2013)

[4] Arkedani et al, Sobre la escalabilidad del aislamiento de instantáneas (2013)

[5] Binnig et al, Aislamiento distribuido de instantáneas: las transacciones globales pagan globalmente, las transacciones locales pagan localmente

[6] Shasha et al, Transaction chopping: algoritmos y estudios de rendimiento (1995)

[7] Zhang et al, Cadenas de transacciones: lograr serialización con baja latencia en sistemas de almacenamiento geodistribuido (2013)

[8] Alglave, una jerarquía formal de modelos de memoria débil (2012)

[9] Buckhardt et al, Comprensión de la coherencia eventual (2013)

[10] Buckhardt et al, Tipos de datos replicados: especificación, verificación, optimización (2014)


Gracias por su respuesta integral. Para SI, ¿existen protocolos distribuidos sin bloqueo en configuraciones replicadas en la literatura? ¿O este intento no tiene sentido porque el SI no escala bien? Para PSI, he leído un documento (Tim Kraska @ Eurosys'13) que menciona su implementación en el trabajo futuro. ¿ Paxos generalizado es adecuado para esto? ¿Cuáles son los posibles pros / contras / desafíos en comparación con el original en Sovran et al [2]? Gracias de nuevo.
hengxin

2
De hecho, el SI no escala bien a los sistemas geo-replicados. En [4] arriba, los autores prueban que hay propiedades, como la Replicación Parcial Genuina, que no pueden ser alcanzadas por los DBMS geo-replicados que se ejecutan en el nivel de consistencia SI. En [5], los autores muestran ejemplos de ejecuciones que se comportan según SI localmente (en fragmentos individuales), pero no globalmente, y proponen una variante de SI, llamada DSI. Por lo que concierne a MDCC, no estoy al tanto de este documento, y tengo que admitir que no conozco los detalles de implementación de Paxos generalizados. Pero con gusto echaré un vistazo y responderé lo antes posible.
Andrea Cerone
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.