XQuery Processing in the MapReduce Framework
Caetano Sauer · 2012
This master’s thesis addresses the mapping of declarative query processing and computation to the programming model of MapReduce. MapReduce is a popular framework for large-scale data analysis on cluster architectures. Its popularity arises from the fact that it provides dis-tribution transparency, which is based on the computation patterns of functional list process-ing. This work proposes a translation mechanism which maps XQuery expressions to MapRe-duce programs, allowing the transparent, parallel execution of data-processing queries in a distributed environment. Our approach reuses the compilation logic of an existing XQuery processor and extends it with the MapReduce programming model and distribution aware-ness. This thesis describes the computational model of MapReduce and introduces the major aspects of data processing in XQuery, including an overview of the compiler organization. The mapping mechanism is described in three major steps: the transformation of the query logi-cal plan into a distribution-aware representation; the compilation of this representation into MapReduce job descriptions; and their execution in the distributed framework. Furthermore, this work analyzes the performance of the approach in terms of execution time and provides a critical analysis with respect to existing approaches.