Functional Dependencies Unleashed for Scalable Data Exchange

We address the problem of efficiently evaluating target functional dependencies (fds) in the Data Exchange (DE) process. Target fds naturally occur in many DE scenarios, including the ones in Life Sciences in which multiple source relations need to be structured under a constrained target schema. However, despite their wide use, target fds' evaluation is still a bottleneck in the state-of-the-art DE engines. Systems relying on an all-SQL approach typically do not support target fds unless additional information is provided. Alternatively, DE engines that do include these dependencies typically pay the price of a significant drop in performance and scalability. In this paper, we present a novel chase-based algorithm that can efficiently handle arbitrary fds on the target. Our approach essentially relies on exploiting the interactions between source-to-target (s-t) tuple-generating dependencies (tgds) and target fds. This allows us to tame the size of the intermediate chase results, by playing on a careful ordering of chase steps interleaving fds and (chosen) tgds. As a direct consequence, we importantly diminish the fd application scope, often a central cause of the dramatic overhead induced by target fds. Moreover, reasoning on dependency interaction further leads us to interesting parallelization opportunities, yielding additional scalability gains. We provide a proof-of-concept implementation of our chase-based algorithm and an experimental study aimed at gauging its scalability and efficiency. Finally, we empirically compare with the latest DE engines, and show that our algorithm outperforms them.

[1]  Georg Gottlob,et al.  Normalization and optimization of schema mappings , 2009, The VLDB Journal.

[2]  Divesh Srivastava,et al.  Data Fusion: Resolving Conflicts from Multiple Sources , 2013, WAIM.

[3]  Divesh Srivastava,et al.  Data Fusion: Resolving Conflicts from Multiple Sources , 2013, WAIM.

[4]  Phokion G. Kolaitis,et al.  Laconic Schema Mappings: Computing the Core with SQL Queries , 2009, Proc. VLDB Endow..

[5]  Ronald Fagin,et al.  Data exchange: semantics and query answering , 2003, Theor. Comput. Sci..

[6]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[7]  Phokion G. Kolaitis,et al.  The complexity of data exchange , 2006, PODS '06.

[8]  José Luis Ambite,et al.  Optimizing the Chase: Scalable Data Integration under Constraints , 2014, Proc. VLDB Endow..

[9]  Ronald Fagin,et al.  Translating Web Data , 2002, VLDB.

[10]  Georg Gottlob,et al.  Efficient core computation in data exchange , 2008, JACM.

[11]  Michael Benedikt,et al.  Querying with Access Patterns and Integrity Constraints , 2015, Proc. VLDB Endow..

[12]  Phokion G. Kolaitis,et al.  Practical Query Answering in Data Exchange Under Inconsistency-Tolerant Semantics , 2016, EDBT.

[14]  Paolo Papotti,et al.  ++Spicy: an OpenSource Tool for Second-Generation Schema Mapping and Data Exchange , 2011, Proc. VLDB Endow..

[15]  Val Tannen,et al.  Update Exchange with Mappings and Provenance , 2007, VLDB.

[16]  Renée J. Miller,et al.  Gain Control over your Integration Evaluations , 2015, Proc. VLDB Endow..

[17]  Adrian Onet,et al.  The data-exchange chase under the microscope , 2014, ArXiv.

[18]  Andrea Calì,et al.  Taming the Infinite Chase: Query Answering under Expressive Relational Constraints , 2008, Description Logics.

[19]  Reinhard Pichler,et al.  Towards Practical Feasibility of Core Computation in Data Exchange , 2008, LPAR.

[20]  Iovka Boneva,et al.  Graph Data Exchange with Target Constraints , 2015, EDBT/ICDT Workshops.

[21]  Georg Gottlob,et al.  Expressiveness of guarded existential rule languages , 2014, PODS.

[22]  Paolo Papotti,et al.  Scalable data exchange with functional dependencies , 2010, Proc. VLDB Endow..

[23]  Alin Deutsch,et al.  Physical Data Independence, Constraints, and Optimization with Universal Plans , 1999, VLDB.

[24]  Michael Benedikt,et al.  Finite Open-World Query Answering with Number Restrictions , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

[25]  Paolo Papotti,et al.  Mapping and cleaning , 2014, 2014 IEEE 30th International Conference on Data Engineering.