You are on page 1of 4

Algoritmos Ecientes para Computar Respuestas Consistentes a Consultas desde Data Warehouses Inconsistentes

Juan Ramrez Universidad del Bo-Bo Concepcin, Chile juaramir@ubiobio.cl Mnica Caniupn Universidad del Bo-Bo Concepcin, Chile mcaniupa@ubiobio.cl Loreto Bravo Universidad de Concepcin Concepcin, Chile lbravo@udec.cl

ResumenUn Data Warehouse (DW) se compone de dimensiones y hechos. Las dimensiones se modelan como jerarquas de elementos, llamados esquemas jerrquicos donde cada elemento pertenece a una categora. Los DWs imponen ciertas restricciones de integridad que facilitan la navegacin y el correcto cmputo de consultas de agregacin utilizando resultados precomputados. Las restricciones estrictas imponen que las relaciones rollup entre categoras sean funciones y las restricciones homogneas imponen que las relaciones rollups entre dos categoras c1 y c2 involucren a todos los elementos de c1 . Una dimensin es consistente si satisface todas sus restricciones de integridad y es inconsistente en caso contrario. En este ltimo caso, si se evalan consultas se pueden obtener respuestas errneas. Por lo tanto, es importante reparar la dimensin inconsistente. Una reparacin minimal es una nueva dimensin que satisface las restricciones de integridad y es obtenida desde la dimensin original a travs de un nmero mnimo de cambios. Las reparaciones se utilizan como instrumento para computar respuestas consistentes a consultas. Computar todas las reparaciones minimales para una dimensin es NP-duro. En este artculo se presenta la nocin de reparacin nica que es una nueva dimensin que asla los elementos implicados en las inconsistencias y puede ser utilizada para obtener respuestas aproximadas a consultas de agregacin. Esta reparacin nica no depende del cmputo de las reparaciones.

una vez [11], [13], [14]. Las restricciones estrictas imponen que las relaciones rollup entre elementos de categoras sean funciones, por ejemplo, para la dimensin D de la Figura 1(b) : Computador Clasicacin, establece que la relacin rollup entre las categoras Computador y Clasicacin es estricta. D no satisface puesto que el elemento P2 esta conectado a los elementos C1 y C2 de la categora Clasicacin. Las restricciones homogneas explicitan si las relaciones rollups son obligatorias para los elementos de las categoras. En la dimensin D todas las relaciones rollup son obligatorias. Una dimensin es consistente si satisface todas sus restricciones de integridad, de lo contrario es inconsistente [8].

I. I NTRODUCCIN Los Data Warehouses (DWs) son almacenes de datos que renen informacin de mltiples fuentes y se organizan en dimensiones y hechos. Las dimensiones se modelan como jerarquas de elementos, llamados esquemas jerrquicos donde cada elemento pertenece a una categora [9]. Como ilustracin, la Figura 1 presenta un DW para una empresa de arriendo de computadores. La Figura 1(a) presenta el esquema jerrquico de las dimensiones Fecha (con categoras Fecha, Mes, Ao y All) y Tipo de Computador, donde la categora Computador est conectado con Tipo y sta a su vez con Clasicacin. Tambin, la categora Computador est conectado a Licencia y sta a su vez se conecta con Clasicacin. Clasicacin se conecta con All. La Figura 1(b) muestra los elementos de la dimensin D para el esquema de Tipo de Computador junto con las relaciones entre elementos, las que se denominan relaciones rollup. Adems, los DWs imponen restricciones de integridad, las que facilitan la navegacin y el correcto cmputo de consultas de agregacin [12]. Una consulta de agregacin es correcta si los hechos son agregados una vez y no ms de

(a) Esquemas de Dimen- (b) Dimensin Inconsistensin te D

Figura 1: Dimensiones del Data Warehouse Computadores Cuando una dimensin es inconsistente se producen errores en el cmputo de consultas de agregacin. Por ejemplo, consideremos la tabla de hechos Arriendo(Computador,Fecha,Costo) = {(P1 , 01-01-11, 40000), (P2 , 01-10-11, 30000), (P1 , 01-01-12, 60000), (P2 , 0108-12, 30000)} y la siguiente consulta de agregacin que obtiene la suma de los costos por arriendo, agrupadas por Clasicacin.
SELECT R2 . Clasificacion , SUM( A . Costo ) FROM R ( Computador , Tipo ) R1 , R ( Tipo , Clasificacion ) R2 , Arriendo A WHERE R1 . Computador = A . Computador AND R1 . Tipo = R2 . Tipo GROUP BY R2 . Clasificacion

Esta consulta usa las relaciones rollups entre las categoras Computador, Tipo, y Clasicacin de la Figura 1(b). La respuesta a esta consulta en D es (C1 , 160000). Ahora, si se usan las relaciones rollups entre las categoras Computador, Licencia y Clasicacin, se obtiene la respuesta (C1 , 100000)

y (C2 , 60000). Sin embargo, la respuesta debera ser la misma. La bsqueda de respuestas consistentes se inici en el rea de las BD relacionales en [1], [2], [4], [6], [7], [10]. En [3] se plantean mtodos para obtener estas respuestas consistentes a consultas de agregacin para BDs relacionales. En [8] se aborda el tema de inconsistencias en DWs y se presenta el concepto de reparacin de dimensiones. Una reparacin de una dimensin D respecto de un conjunto de restricciones de integridad, es una nueva dimensin que satisface estas restricciones de integridad. Una reparacin es minimal si se obtiene a travs de un nmero mnimo de cambios. Las reparaciones pueden ser utilizadas para responder consultas de agregacin como se muestra en [5]. Una tupla t1 , . . . , tn , [a, b] es una respuesta consistente a una consulta de agregacin Q si por cada reparacin minimal la tupla t1 , . . . , tm , f (t1 , . . . , tm ) es una respuesta a Q y f (t1 , . . . , tm ) pertenece al intervalo [a, b]. Adems, no existe intervalo menor a [a, b]. En particular, en [5] se propone la generacin de una dimensin cannica, que corresponde a una nueva dimensin que rene informacin de todas las reparaciones minimales de una dimensin inconsistente. Esta dimensin cannica se usa para obtener respuestas aproximadas a consultas de agregacin. Por ejemplo, para la dimensin D de la Figura 1(b) existen tres reparaciones minimales, las que se muestran en la Figura 2. La reparacin D1 se obtiene mediante la eliminacin del arco (T2 , C1 ) e insertando el arco (T2 , C2 ). D2 se obtiene eliminando el arco de (L2 , C2 ) e insertando el arco (L2 , C1 ) y D3 se obtiene eliminando (P2 , L2 ) e insertando (P2 , L1 ).

(a) Dimensin Cannica [5]

(b) Reparacin nica

Figura 3: Dimensin Cannica y Reparacin nica de la Figura 1(b) Esta denicin depende del cmputo de las reparaciones minimales de una dimensin que es inconsistente con respecto a las restricciones estrictas. En este artculo, se propone la denicin de una nueva dimensin reparada que asla la informacin inconsistente y que puede ser utilizada para computar respuestas aproximadas a consultas de agregacin, a la que llamamos reparacin nica. Compararemos esta nueva dimensin, en trminos de su efectividad en el cmputo de respuestas a consultas con la dimensin cannica propuesta en [5]. Intuitivamente, dada una dimensin D inconsistente con respecto a un conjunto de restricciones estrictas y homogneas . La nueva reparacin nica para D es una nueva dimensin D que asla los elementos inconsistentes en D con respecto a y es obtenida desde D a travs de la insercin de nuevos elementos en las categoras y eliminacin e insercin de arcos. Tal como la dimensin cannica propuesta en [5], la nueva reparacin nica podra no satisfacer el conjunto de restricciones . La reparacin nica no depende del cmputo de las reparaciones minimales de una dimensin, lo que permite una implementacin eciente dado que computar todas las reparaciones minimales para una dimensin D es NP-duro [8]. En la prxima seccin explicaremos la forma de obtener esta nueva reparacin nica y en particular la forma de aislar las inconsistencias. II. H EURSTICA PARA C OMPUTAR LA R EPARACIN NICA

(a) D1

(b) D2

(c) D3

Figura 2: Reparaciones Minimales de la dimensin en Figura 1(b) La dimensin cannica obtenida de la reparaciones minimales de acuerdo a [5] para la dimensin inconsistente D se presenta en la Figura 3(a). En esta dimensin el elemento P2 esta conectado al nuevo elemento {L1 , L2 } puesto que P2 esta asociado a L1 y a L2 en diferentes reparaciones minimales (P2 rollup al elemento L1 en D3 y en las reparaciones minimales D1 y D2 , P2 rollup a L2 ). As mismo, T2 rollup al elemento {C1 , C2 } puesto que en la reparacin D1 , T2 rollup a C2 y a C1 en las reparaciones D2 y D3 . El mismo anlisis se puede hacer para el elemento L2 que en la dimensin cannica hace rollup a {C1 , C2 }.

La reparacin nica para una dimensin D inconsistente con respecto a sus restricciones de integridad debe ser computada en tiempo polinomial. Es un objetivo que esta dimensin entregue respuestas aproximadas a las respuestas consistentes para una consulta. Intuitivamente la reparacin nica se obtiene de la siguiente manera: Primero, se aslan los caminos inconsistentes que parten de cada elemento a que viola una restriccin estricta de la forma B1 B2 . Estos caminos se almacenan en la lista de elemento inconsistentes. Luego, por cada elemento a se genera un nuevo elemento en la categora B2 que corresponde a la concatenacin de los padres de cada a en B2 . Luego se analiza el cambio de arcos para

ancestros de a de tal forma de asociarlos al nuevo elemento combinado. La intuicin detrs de esto es que el elemento a en la nueva reparacin nica puede estar asociado, por lo menos, por un camino, al elemento combinado porque no existe certeza de su padre en la categora B2 . Finalmente, los elementos que participan en violaciones de restricciones homogneas son ligados a nuevos elementos en categoras superiores (esto se ilustra con un ejemplo abajo). Las heursticas a seguir en el cmputo de la reparacin nica son las siguientes: (i) Los elementos nuevos que se generan en las categoras corresponden a la concatenacin de elementos existentes en las categoras. (ii) Toda insercin y eliminacin de arcos entre elementos de categoras no debe generar nuevas inconsistencias en la dimensin. El Pseudocdigo 1 genera la reparacin nica para una dimensin D que es inconsistente con respecto a un conjunto de restricciones . Pseudocdigo 1 Obtencin de la Reparacin nica Entrada: Dimensin D y un conjunto de restricciones de integridad. Salida: Reparacin nica 1: Listar Elementos Inconsistentes Estrictos 2: Concatenar Elementos de las categoras superiores de 1 3: mientras Existan elementos inconsistentes en la lista 1 hacer 4: Crear nuevos elementos que se incorporan en categoras con problemas de consistencia 5: n mientras 6: mientras un elemento consistente se vea afectado por uno inconsistente hacer 7: si un camino es distinto del elemento inconsistente entonces 8: cambiar arcos 9: n si 10: n mientras 11: Listar Elementos Inconsistentes Homogneos 12: Generar arcos a elementos nuevos en categoras padre En la lnea 1 se crea la lista de elementos inconsistentes con respecto a restricciones estrictas. En las lneas 2-5 se crean los nuevos elementos que se incorporan en categoras con problemas de consistencia. En las lneas 6-10 se comprueba si es posible el cambio de arcos entre elementos de categoras sin afectar la consistencia de otros elementos, y se eliminan e insertan arcos entre elementos. Por ltimo en las lneas 11-12 se crean elemento y/o arcos para satisfacer restricciones de homogeneidad. Consideremos la dimensin inconsistente en la Figura 1(b). El Pseudocdigo 1 realiza las siguientes acciones para computar la reparacin nica de la Figura 3(b): Primero se generan las listas de elementos inconsistentes respecto a la restriccin estricta : Computador Clasicacin: {P2 , Computador} {T2 , Tipo} {C1 , Clasicacin}

y {P2 , Computador} {L2 , Licencia} {C2 , Clasicacin}. Luego se crea el elemento {C1 , C2 } en la categora Clasicacin. Puesto que no hay ms elementos inconsistentes y tampoco hay elementos consistentes que se vean perjudicados por algn cambio de arco entre elementos, se realizan las siguientes operaciones: insertar (T2 , {C1 , C2 }), (L2 , {C1 , C2 }), ({C1 , C2 }, all) y se eliminan los arcos (T2 , C1 ) y (L2 , C2 ). Una respuesta aproximada a una consulta de agregacin es un rango para cada grupo que contiene los valores obtenidos a partir de las respuestas obtenidas en la reparacin nica. Como en la reparacin nica no se computan las reparaciones minimales, no es posible saber que elementos se encuentran en todas las reparaciones y cuales no, por este motivo las respuestas obtenidas mediante las respuestas pre-computadas pueden ser diferentes de las obtenidas sin la reparacin nica, pero an as se aproximarn las respuestas a las coherentes esperadas. Si se evala la consulta de agregacin que obtiene la suma de los costos por arriendo, agrupadas por Clasicacin en la reparacin nica propuesta se obtiene: (C1 , 100000), ({C1 , C2 }, 60000). Por lo tanto, la respuesta aproximada es: (C1 , [100000, 160000]), ya que podemos asegurar que para C1 el costo total de arriendo es $100.000 y que existe una variacin de $60.000 que puede ser asignada a C1 . Por otro lado para C2 la respuesta aproximada es (C2 , [0, 60000]), puesto que es posible asegurar que para C2 el costo total de arriendo es $0 y que existe una variacin de $60.000 que pueda ser asignado a C2 y que es obtenido del elemento combinado {C1 , C2 }. En cambio, para esta misma consulta evaluada sobre la dimensin cannica propuesta en [5], la cual se obtiene mediante el cmputo de todas las reparaciones, se obtiene la misma respuesta que la reparacin nica para el elemento C1 , sin embargo, no hay respuesta para el elemento C2 . III. C ONCLUSIONES Y T RABAJO F UTURO

En este artculo proponemos una denicin de reparacin nica que no depende del cmputo de las reparaciones minimales para una dimensin inconsistente, a diferencia de la propuesta dada en [5]. Por lo tanto, nuestro enfoque no es la bsqueda de reparaciones minimales sino la obtencin de respuestas aproximadas a consultas de agregacin. La codicacin del algoritmo en lenguaje C es parte del trabajo actual y como trabajo futuro queda la experimentacin de los algoritmos en diversos escenarios de DWS. B IBLIOGRAFA
[1] M. Arenas, L. Bertossi, and J. Chomicki. Consistent query answers in inconsistent databases. In ACM SIGMODSIGACT-SIGART symposium on Principles of database systems - PODS 99, pages 6879. ACM Press, 1999.

[2] M. Arenas, L. Bertossi, and J. Chomicki. Answer sets for consistent query answering in inconsistent databases. Theory and Practice of Logic Programming, 3(4):393424, July 2003. [3] M. Arenas, L. Bertossi, J. Chomicki, X. He, V. Raghavan, and J. Spinrad. Scalar aggregation in inconsistent databases. Theoretical Computer Science, 296(3):405 434, 2003. [4] L. Bertossi. Consistent query answering in databases. ACM SIGMOD Record, 35(2):6876, June 2006. [5] L. Bertossi, L. Bravo, and M. Caniupn. Consistent Query Answering in Data Warehouses. In: Proceedings of the III Alberto Mendelzon International workshop On Foundations of Data Management (AMW09). [6] L. Bertossi and J. Chomicki. Query answering in inconsistent databases. In Logics for Emerging Applications of Databases, pages 4383, 2003. [7] Loreto Bravo and Leopoldo Bertossi. Consistent query answering under inclusion dependencies. In Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research, CASCON 04, pages 202216. IBM Press, 2004. [8] M. Caniupn, L. Bravo, and C. A. Hurtado. Repairing inconsistent dimensions in data warehouses. Data Knowl. Eng., 79-80:1739, 2012. [9] S. Chaudhuri and U. Dayal. An Overview of Data Warehousing and OLAP Technology. Sigmod Record, 26(1):6574, 1997. [10] J. Chomicki. Consistent query answering. In Sushil Jajodia and Leon Strous, editors, Integrity and Internal Control in Information Systems VI, volume 140 of IFIP International Federation for Information Processing, pages 219239. Springer Boston. [11] C. Hurtado, C. Gutierrez, and A. Mendelzon. Capturing Summarizability with Integrity Constraints in OLAP. TODS, 30(3):854886, 2005. [12] C. Hurtado and C. Gutirrez. Data Warehouses and OLAP: Concepts, Architectures and Solutions, chapter Handling Structural Heterogeneity in OLAP. Idea Group, Inc, 2007. [13] H. Lenz and A. Shoshani. Summarizability in OLAP and Statistical Data Bases. In SSDBM97, pages 132143, 1997. [14] M. Rafanelli and A. Shoshani. STORM: a Statistical Object Representation Model. In SSDBM90, pages 1429, 1990.

You might also like