The production environment for analytical data management ap-
plications is rapidly changing. Many enterprises are shifting away
from deploying their analytical databases on high-end proprietary
machines, and moving towards cheaper, lower-end, commodity
hardware, typically arranged in a shared-nothing MPP architecture,
often in a virtualized environment inside public or private “clouds”.
At the same time, the amount of data that needs to be analyzed is
exploding, requiring hundreds to thousands of machines to work in
parallel to perform the analysis.
There tend to be two schools of thought regarding what tech-
nology to use for data analysis in such an environment. Propo-
nents of parallel databases argue that the strong emphasis on per-
formance and efﬁciency of parallel databases makes them well-
suited to perform such analysis. On the other hand, others argue
that MapReduce-based systems are better suited due to their supe-
rior scalability, fault tolerance, and ﬂexibility to handle unstructured
data. In this paper, we explore the feasibility of building a hybrid
system that takes the best features from both technologies; the pro-
totype we built approaches parallel databases in performance and
efﬁciency, yet still yields the scalability, fault tolerance, and ﬂexi-
bility of MapReduce-based systems.