DEX: Query Execution in a Delta-based Storage System

The increasing reliance on robust data-driven decision-making across many domains has made it necessary for data management systems to manage many thousands to millions of versions of datasets, acquired or constructed at various stages of analysis pipelines over time. Delta encoding is an effective and widely-used solution to compactly store a large number of datasets, that simultaneously exploits redundancies across them and keeps the average retrieval cost of reconstructing any dataset low. However, supporting any kind of rich retrieval or querying functionality, beyond single dataset checkout, is challenging in such storage engines. In this paper, we initiate a systematic study of this problem, and present DEX, a novel stand-alone delta-oriented execution engine, whose goal is to take advantage of the already computed deltas between the datasets for efficient query processing. In this work, we study how to execute checkout, intersection, union and t-threshold queries over record-based files; we show that processing of even these basic queries leads to many new and unexplored challenges and trade-offs. Starting from a query plan that confines query execution to a small set of deltas, we introduce new transformation rules based on the algebraic properties of the deltas, that allow us to explore the search space of alternative plans. For the case of checkout, we present a dynamic programming algorithm to efficiently select the optimal query plan under our cost model, while we design efficient heuristics to select effective plans that vastly outperform the base checkout-then-query approach for other queries. A key characteristic of our query execution methods is that the computational cost is primarily dependent on the size and the number of deltas in the expression (typically small), and not the input dataset versions (which can be very large). We have implemented DEX prototype on top of git, a widely used version control system. We present an extensive experimental evaluation on synthetic data with diverse characteristics, that shows that our methods perform exceedingly well compared to the baseline.

[1]  João Paulo,et al.  A Survey and Classification of Storage Deduplication Systems , 2014, ACM Comput. Surv..

[2]  Claire Mathieu,et al.  Deterministic Algorithm for the t-Threshold Set Problem , 2003, ISAAC.

[3]  Jonathan Goldstein,et al.  Optimizing queries using materialized views: a practical, scalable solution , 2001, SIGMOD '01.

[4]  Ricardo A. Baeza-Yates,et al.  A Fast Set Intersection Algorithm for Sorted Sequences , 2004, CPM.

[5]  Pat Helland,et al.  Immutability Changes Everything , 2015, CIDR.

[6]  Erik D. Demaine,et al.  Experiments on Adaptive Set Intersections for Text Retrieval Systems , 2001, ALENEX.

[7]  Zachary G. Ives,et al.  Reconciling while tolerating disagreement in collaborative data sharing , 2006, SIGMOD Conference.

[8]  Philip Bille,et al.  Fast Evaluation of Union-Intersection Expressions , 2007, ISAAC.

[9]  C. George Benello A Future History , 1978 .

[10]  Fred Douglis,et al.  USENIX Association Proceedings of the General Track : 2003 USENIX Annual , 2003 .

[11]  Aditya G. Parameswaran,et al.  Principles of Dataset Versioning: Exploring the Recreation/Storage Tradeoff , 2015, Proc. VLDB Endow..

[12]  James A. Hendler,et al.  Information accountability , 2008, CACM.

[13]  Richard Hull,et al.  A framework for implementing hypothetical queries , 1997, SIGMOD '97.

[14]  Margo I. Seltzer,et al.  Provenance: a future history , 2009, OOPSLA Companion.

[15]  Bolin Ding,et al.  Fast Set Intersection in Memory , 2011, Proc. VLDB Endow..

[16]  Surajit Chaudhuri,et al.  Automated Selection of Materialized Views and Indexes in SQL Databases , 2000, VLDB.

[17]  Erik D. Demaine,et al.  Adaptive set intersections, unions, and differences , 2000, SODA '00.

[18]  Gultekin Özsoyoglu,et al.  Temporal and Real-Time Databases: A Survey , 1995, IEEE Trans. Knowl. Data Eng..

[19]  Peter Sanders,et al.  Intersection in Integer Inverted Indices , 2007, ALENEX.

[20]  Seung-won Hwang,et al.  Processing and Optimizing Main Memory Spatial-Keyword Queries , 2015, Proc. VLDB Endow..

[21]  Aditya G. Parameswaran,et al.  Decibel: The Relational Dataset Branching System , 2016, Proc. VLDB Endow..

[22]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[23]  Uwe M. Borghoff,et al.  Towards XML version control of office documents , 2005, DocEng '05.

[24]  Alon Y. Halevy,et al.  Answering queries using views: A survey , 2001, The VLDB Journal.

[25]  Bu-Sung Lee,et al.  TrustCloud: A Framework for Accountability and Trust in Cloud Computing , 2011, 2011 IEEE World Congress on Services.

[26]  Anastasia Ailamaki,et al.  NoDB: efficient query execution on raw data files , 2012, Commun. ACM.

[27]  Alejandro López-Ortiz,et al.  An experimental investigation of set intersection algorithms for text searching , 2010, JEAL.

[28]  Shahram Ghandeharizadeh,et al.  Heraclitus: elevating deltas to be first-class citizens in a database programming language , 1996, TODS.

[29]  Anja Feldmann,et al.  Potential benefits of delta encoding and data compression for HTTP , 1997, SIGCOMM '97.

[30]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[31]  References , 1971 .

[32]  Samir Khuller,et al.  Balancing minimum spanning and shortest path trees , 1993, SODA '93.

[33]  Samir Khuller,et al.  Balancing Minimum Spanning and Shortest Path Trees , 1993, SODA.

[34]  Inderpal Singh Mumick,et al.  The Stanford Data Warehousing Project , 1995 .

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

[36]  Michael Stonebraker,et al.  Efficient Versioning for Scientific Array Databases , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[37]  Inderpal Singh Mumick,et al.  Maintenance of data cubes and summary tables in a warehouse , 1997, SIGMOD '97.

[38]  Keishi Tajima,et al.  Archiving scientific data , 2004, TODS.

[39]  Owen Kaser,et al.  Better bitmap performance with Roaring bitmaps , 2014, Softw. Pract. Exp..

[40]  Frank K. Hwang,et al.  A Simple Algorithm for Merging Two Disjoint Linearly-Ordered Sets , 1972, SIAM J. Comput..

[41]  Magdalena Balazinska,et al.  Time travel in a scientific array database , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[42]  Mohamed F. Mokbel,et al.  Immortal DB: transaction time support for SQL server , 2005, SIGMOD '05.

[43]  Aditya G. Parameswaran,et al.  DataHub: Collaborative Data Science & Dataset Version Management at Scale , 2014, CIDR.

[44]  Joshua P. MacDonald,et al.  File System Support for Delta Compression , 2000 .

[45]  David B. Lomet,et al.  Transaction time indexing with version compression , 2008, Proc. VLDB Endow..

[46]  Erik D. Demaine,et al.  An O(n^3)-Time Algorithm for Tree Edit Distance , 2005, ArXiv.

[47]  Erik D. Demaine,et al.  An optimal decomposition algorithm for tree edit distance , 2006, TALG.

[48]  GalilZvi,et al.  Data structures and algorithms for disjoint set union problems , 1991 .

[49]  Rada Chirkova,et al.  Exact and inexact methods for selecting views and indexes for OLAP performance improvement , 2008, EDBT '08.

[50]  Aditya G. Parameswaran,et al.  Towards a Unified Query Language for Provenance and Versioning , 2015, TaPP.

[51]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.