Navegación

Búsqueda

Búsqueda avanzada

Verificación del mantenimiento de la consistencia lógica en bases de datos Cassandra

En anteriores trabajos habíamos desarrollado un método para prevenir la producción de inconsistencias en bases de datos Cassandra. En el actual trabajo tenemos como objetivo la verificación de dicho método para lo cual hemos definido un oráculo que nos permite comprobar que las operaciones determinadas por nuestro método mantienen la consistencia. Este oráculo consta de un proceso donde se inserta la tupla en el modelo conceptual de forma paralela a su inserción en el modelo lógico que representa las tablas Cassandra y compara los datos almacenados en ambos. Si tras insertarse la tupla en ambos modelos, éstos contienen los mismos datos, se verifica que se mantiene la consistencia. Este oráculo ha sido aplicado en diversos casos de prueba seleccionados de forma sistemática, verificando que se mantuvo la consistencia en Cassandra en cada uno de ellos.

Evaluación del mantenimiento de la consistencia lógica en Cassandra

En las bases de datos NoSQL como Cassandra es común que exista duplicidad de los datos entre las tablas, a diferencia de los modelos relacionales normalizados. Esto se debe a que las tablas son diseñadas en base a consultas y a la ausencia de relaciones entre ellas. Por tanto, si los datos no son modificados convenientemente se pueden producir inconsistencias en la información almace-nada. A su vez, es relativamente fácil que se introduzcan defectos que ocasionen inconsistencias en Cassandra, siendo éstos difíciles de detectar utilizando técnicas convencionales de pruebas dinámicas. Con el objetivo de ayudar al desarro-llador a evitar la producción de inconsistencias, proponemos un nuevo método que, usando un modelo conceptual, es capaz de establecer los procesos necesarios para asegurar la calidad de los datos desde el punto de vista de su consistencia a través de pruebas estáticas. En este trabajo evaluamos la eficiencia de este método ante un caso de estudio en el que insertamos tuplas en entidades y relaciones del modelo conceptual y extraemos qué es necesario para mantener la consistencia en el modelo lógico. Los resultados muestran como la desnormalización de los datos puede aumentar la complejidad del mantenimiento de la consistencia, no solo necesitando saber dónde se debe mantener la consistencia sino también cómo hay que mantenerla.