<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Adaptive Prejoin Approach for Performance Optimization in MapReduce-based Warehouses</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Weiping Qu</string-name>
          <email>qu@informatik.uni-kl.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Rappold</string-name>
          <email>m_rappol@cs.uni-kl.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Dessloch</string-name>
          <email>dessloch@informatik.uni-</email>
          <email>dessloch@informatik.unikl.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer</institution>
          ,
          <addr-line>Science</addr-line>
          ,
          <institution>University of Kaiserslautern</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Heterogeneous Information, Systems Group, University of Kaiserslautern</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <abstract>
        <p>MapReduce-based warehousing solutions (e.g. Hive) for big data analytics with the capabilities of storing and analyzing high volume of both structured and unstructured data in a scalable le system have emerged recently. Their e cient data loading features enable a so-called near real-time warehousing solution in contrast to those o ered by conventional data warehouses with complex, long-running ETL processes. However, there are still many opportunities for performance improvements in MapReduce systems. The performance of analyzing structured data in them cannot cope with the one in traditional data warehouses. For example, join operations are generally regarded as a bottleneck of performing generic complex analytics over structured data with MapReduce jobs. In this paper, we present one approach for improving performance in MapReduce-based warehouses by pre-joining frequently used dimension columns with fact table redundantly during data transfer and adapting queries to this joinfriendly schema automatically at runtime using a rewrite component. This approach is driven by the statistics information derived from previous executed workloads in terms of join operations. The results show that the execution performance is improved by getting rid of join operations in a set of future workloads whose join exactly ts the pre-joined fact table schema while the performance still remains the same for other workloads.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>By packaging complex custom imperative programs (text
mining, machine learning, etc.) into simple map and reduce
functions and executing them in parallel on les in a large
nished his work during his master study at university of
kaiserslautern
scalable le system, MapReduce/Hadoop1 systems enable
analytics on large amounts of unstructured data or
structured data in acceptable response time.</p>
      <p>With the continuous growth of data, scalable data stores
based on Hadoop/HDFS2 have achieved more and more
attention for big data analytics. In addition, by means of
simply pulling data into the le system of MapReduce-based
systems, unstructured data without schema information is
directly analyzed with parallelizable custom programs,
whereas data can only be queried in traditional data warehouses
after it has been loaded by ETL tools (cleansing,
normalization, etc.), which normally takes a long period of time.</p>
      <p>
        Consequently, many web or business companies add
MapReduce systems to their analytical architecture. For example,
Fatma Ozcan et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] integrate their DB2 warehouse with
the Hadoop-based analysis tool - IBM Infosphere BigInsights
with connectors between these two platforms. An analytical
synthesis is provided, where unstructured data is initially
placed in a Hadoop-based system and analyzed by
MapReduce programs. Once its schema can be de ned, it is further
loaded into a DB2 warehouse with more e cient analysis
execution capabilities.
      </p>
      <p>Another example is the data warehousing infrastructure
at Facebook which involves a web-based tier, a federated
MySQL tier and a Hadoop-based analytical cluster - Hive.</p>
      <p>Such orchestration of various analytical platforms forms a
heterogeneous environment where each platform has a di
erent interface, data model, computational capability, storage
system, etc.</p>
      <p>Pursuing a global optimization in such a heterogeneous
environment is always challenging, since it is generally hard
to estimate the computational capability or operational cost
concisely on each autonomous platform. The internal query
engine and storage system do not tend to be exposed to
outside and are not designed for data integration.</p>
      <p>In our case, relational databases and Hadoop will be
integrated together to deliver an analytical cluster. Simply
transferring data from relational databases to Hadoop
without considering the computational capabilities in Hadoop
can lead to lower performance.</p>
      <p>As an example, performing complex analytical workloads
over multiple small/large tables (loaded from relational
data1one open-source implementation of MapReduce framework
from Apache community, see http://hadoop.apache.org
2Hadoop Distributed File System - is used to store the data
in Hadoop for analysis
1. Adaptively pre-joining tables during data transfer for
better performance in Hadoop/Hive.
2.2</p>
      <p>
        Hive
bases) in Hadoop leads to a number of join operations which
slows down the whole processing. The reason is that the
join performance is normally weak in MapReduce systems
as compared to relational databases [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Performance
limitations have been shown due to several reasons such as the
inherent unary feature of map and reduce functions.
      </p>
      <p>To achieve better global performance in such an analytical
synthesis with multiple platforms from a global perspective
of view, several strategies can be applied.</p>
      <p>
        One would be simply improving the join implementation
on single MapReduce platform. There have been several
existing works trying to improve join performance in
MapReduce systems [
        <xref ref-type="bibr" rid="ref1 ref3">3, 1</xref>
        ].
      </p>
      <p>Another one would be using heuristics for global
performance optimization. In this paper, we will take a look at the
second one. In order to validate our general idea of
improving global performance on multiple platforms, we deliver our
adaptive approach in terms of join performance. We take the
data ow architecture at Facebook as a starting point and
the contributions are summarized as follows:
2. Rewriting incoming queries according to changing
table schema.</p>
      <p>The remainder of this paper is structured as follows:
Section 2 describes the background of this paper. Section 3 gives
a nave approach of fully pre-joining related tables. Based
on the performance observation of this nave approach, more
considerations have been taken into account and an
adaptive pre-join approach is proposed in Section 4, followed by
the implementation and experimental evaluation shown in
Section 5. Section 6 shows some related works. Section 7
concludes with a summary and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. BACKGROUND</title>
      <p>In this section, we will introduce our starting point, i.e.
the analytical data ow architecture at Facebook and its
MapReduce-based analytical platform - Hive. In addition,
the performance issue in terms of join is also stated
subsequently.
2.1</p>
    </sec>
    <sec id="sec-3">
      <title>Facebook Data Flow Architecture</title>
      <p>
        Instead of using a traditional data warehouse, Facebook
uses Hive - a MapReduce-based analytical platform - to
perform analytics on information describing advertisement.
The MapReduce/Hadoop system o ers high scalability which
enables Facebook to perform data analytics over 15PB of
data and load 60TB of new data every day [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The
architecture of data ow at Facebook is described as follows.
      </p>
      <p>As depicted in Figure 1, data is extracted from two types
of data sources: a federated MySQL tier and a web-based
tier. The former o ers the category, the name and
corresponding information of the advertisements as dimension
data while the actions such as viewing an advertisement,
clicking on it, fanning a Facebook page are extracted as fact
data from the latter.</p>
      <p>There are two types of analytical cluster: production Hive
cluster and ad hoc Hive cluster. Periodic queries are
performed on the production Hive cluster while the ad hoc
queries are executed on the ad hoc Hive cluster.
the advertiser information etc. The data sets originating in the latter
mostly correspond to actions such as viewing an advertisement,
clicking on it, fanning a Facebook page etc. In traditional data
warehousing terminology, more often than not the data in the</p>
      <sec id="sec-3-1">
        <title>Web Servers</title>
      </sec>
      <sec id="sec-3-2">
        <title>Scribe-Hadoop Clusters</title>
      </sec>
      <sec id="sec-3-3">
        <title>Hive replication</title>
      </sec>
      <sec id="sec-3-4">
        <title>Adhoc Hive-Hadoop</title>
      </sec>
      <sec id="sec-3-5">
        <title>Cluster</title>
      </sec>
      <sec id="sec-3-6">
        <title>Production Hive-Hadoop</title>
      </sec>
      <sec id="sec-3-7">
        <title>Cluster</title>
      </sec>
      <sec id="sec-3-8">
        <title>Federated MySQL</title>
        <p>
          Hive [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] is an open source data warehousing solution built
on top of MapReduce/Hadoop. Analytics is essentially done
by MapReduce jobs and data is still stored and managed in
Hadoop/HDFS.
        </p>
        <p>Hive supports a higher-level SQL-like language called
HiveQL for users who are familiar with SQL for accessing les
in Hadoop/HDFS, which highly increases the productivity
of using MapReduce systems. When a HiveQL query comes
in, it will be automatically translated into corresponding
MapReduce jobs with the same analytical semantics. For
this purpose, Hive has its own meta-data store which maps
the HDFS les to the relational data model. Files are
logically interpreted as relational tables during HiveQL query
execution.</p>
        <p>Furthermore, in contrast to high data loading cost (using
ETL jobs) in traditional data warehouses, Hive bene ts from
its e cient loading process which pulls raw les directly into
Hadoop/HDFS and further publishes them as tables. This
feature makes Hive much more suitable for dealing with large
volumes of data (i.e. big data).
2.3</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Join in Hadoop/Hive</title>
      <p>
        There has been an ongoing debate comparing parallel
database systems and MapReduce/Hadoop. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], experiments
showed that performance of selection, aggregation and join
tasks in Hadoop could not reach parallel databases (Vertica
&amp; DBMS-X). Several reasons of the performance di erence
have been also explained by Stonebraker et al. in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] such
as repetitive record parsing, and high I/O cost due to
noncompression &amp; non-indexing.
      </p>
      <p>
        Moreover, as MapReduce was not originally designed to
combine information from two or more data sources, join
implementations are always cumbersome [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The join
performance relies heavily on the implementation of MapReduce
jobs which have been considered as not straightforward.
      </p>
      <p>
        As Hive is built on top of MapReduce/Hadoop, the join
operation is essentially done by corresponding MapReduce
jobs. Thus, Hive su ers from these issues even though there
have been e orts [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to improve join performance in
MapReduce systems or in Hive.
1014
      </p>
      <sec id="sec-4-1">
        <title>The data from t</title>
        <p>Hadoop clusters
processes dump
compressing the
into the Hive-Ha
failures and also
much load on th
running the scrap
avoiding extra lo
any notions of str
order to avoid lo
database server
cannot be read e
data from that pa
servers, there are
the scrapes and b
data a daily du
Hadoop clusters.
tables.</p>
      </sec>
      <sec id="sec-4-2">
        <title>As shown in Fig</title>
        <p>where the data
stream processes
Hadoop cluster
strict delivery de
Hive-Hadoop clu
well as any ad h
data sets. The ad
run production jo
350
300
)
sce250
(
iem200
t
n
reu150
ga
rve100
a 50
0
the periodic queries on production Hive-Hadoop cluster, a
frequent column set could be extracted.</p>
        <p>One example is illustrated in Figure 3. The frequent set
of additional columns has been extracted. The column r
in dimension table is frequently joined with fact table in
company in the previous workloads as a lter or aggregate
column, as the same for the column x in dimension table
. During next load phase, the fact table is expanded by
redundantly pre-joining these two additional columns r and
x with it.</p>
        <p>Depending on the statistics information of previous queries,
di erent frequent sets of additional columns could be found
in diverse time intervals. Thus, the fact table is pre-joined
in an adaptive manner.</p>
        <p>Assume that the additional columns identi ed in
previous queries will also frequently occur in the future ones (as
in the Facebook example), the bene ts of adaptive pre-join
approach are two-fold:</p>
        <p>First, when all the columns (including dimension columns)
in a certain incoming query which requires a join
operation have been contained in the pre-joined fact table, this
query could be directly performed on the pre-joined fact
table without join.</p>
        <p>Second, the adaptive pre-join approach leads to a smaller
table size in contrast to the full pre-join approach, as only
subsets of the dimension tables are pre-joined. Thus, the
resulting storage overhead is reduced, which plays a
significant role especially in big data scenarios (i.e. terabytes,
petabytes of data).</p>
        <p>To automatically accomplish the adaptive pre-join
approach, three sub-steps are developed: frequent column set
extraction, pre-join and query rewrite.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4.1 Frequent Column Set Extraction</title>
      <p>In the rst phase, the statistics collected for extracting
frequent set of additional columns is formated as a list of
entries each which has the following form:
Set : fFact; Dim X.Col i; Dim X.Col j ::: Dim Y.Col kg</p>
      <p>The join set always starts with the involved fact table
while the joint dimension columns are identi ed and
capno pre-join
ful pre-join
5GB</p>
      <p>10GB
data set size
(a) Average Runtimes
5GB</p>
      <p>10GB
data set size
(b) Accessed Data Volume
performance can be signi cantly increased if workloads with
the same join pattern later frequently occur, especially for
periodic queries over production Hive-Hadoop cluster in the
Facebook example.</p>
      <p>However, the result of performing the same query on the
data set with SF 10 size is disappointing as there is no
performance gain while paying 12.5GB storage for redundancy
(shown in Figure 2(b)), which is not what we expected. The
reason could be that the overhead of scanning such
redundant fully pre-joined tables and the high I/O cost as well o
set the performance gain as the accessed data volume grows.</p>
    </sec>
    <sec id="sec-6">
      <title>4. ADAPTIVE PRE-JOIN APPROACH</title>
      <p>Taking the lessons learned from the full pre-join approach
above, we propose an adaptive pre-join approach in this
paper.</p>
      <p>Instead of pre-joining full dimension tables with the fact
table, we try to identify the dimension columns which
occurred frequently in the select, where, etc. clauses of
previous executed queries for ltering, aggregation and so on. We
refer to these columns as additional columns as compared to
the join columns in the join predicates. By collecting a list of
additional column sets from previous queries, for example,
tured from the select, where, etc. clauses or from the
subqueries.</p>
      <p>
        The frequent set of additional columns could be extracted
using a set of frequent itemset mining approaches [
        <xref ref-type="bibr" rid="ref11 ref2 ref7">2, 7, 11</xref>
        ]
4.2
      </p>
    </sec>
    <sec id="sec-7">
      <title>Query Rewrite</title>
      <p>As the table schema is changed in our case (i.e. newly
generated fact table schema), initial queries need to be rewritten
for successful execution. Since the fact table is pre-joined
with a set of dedicated redundant dimension columns, the
tables which are involved in the from clause of the original
query can be replaced with this new fact table once all the
columns have been covered in it.</p>
      <p>By storing the mapping from newly generated fact table
schema to the old schema in the catalog, the query rewrite
process can be easily applied. Note that the common issue
of handling complex sub-queries for Hive can thereby be
facilitated if the columns in the sub-query have been
prejoined with the fact table.</p>
    </sec>
    <sec id="sec-8">
      <title>5. IMPLEMENTATION AND EVALUATION</title>
      <p>We use Sqoop3 as the basis to implement our approach.
The TPC-H benchmark data set with SF 10 is adaptively
pre-joined according to the workload statistics and
transferred from MySQL to Hive. First, the extracted join
pattern information is sent to Sqoop as additional
transformation logic embedded in the data transfer jobs for generating
the adaptive pre-joined table schema on the original data
sources. Furthermore, the generated schema is stored in
Hive to enable automatic query rewrite at runtime.</p>
      <p>We tested the adaptive pre-join approach on a six-node
cluster (Xeon Quadcore CPU at 2.53GHz, 4GB RAM, 1TB
SATA-II disk, Gigabit Ethernet) running Hadoop and Hive.</p>
      <p>After running the same TPC-H Query 3 over the adaptive
pre-joined table schema, the result in the Figure 4(a) shows
that the average runtime is signi cantly reduced. The join
)25
BG
(s
lrkadoo20
iftrcxgeun15
w
e10
eo
m
luo 5
tvaad 0
nopre-join
ful pre-join
adaptivepre-join
nopre-join
ful pre-join
adaptivepre-join
350
300
)c250
(se
iem200
t
n
reu150
rga
vae100
50
0</p>
      <p>10GB
datasetsize
(a) Average Runtimes
10GB
datasetsize
(b) Accessed Data Volume
task has been eliminated for this query and the additional
overheads (record parsing, I/O cost) have been relieved due
to the smaller size of redundancy as shown in Figure 4(b).</p>
    </sec>
    <sec id="sec-9">
      <title>RELATED WORK</title>
      <p>
        An adaptively pre-joined fact table is essentially a
materialized view in Hive. Creating materialized views in data
warehouses is nothing new but a technique used for query
optimization. Since 1990s, a substantial e ort [
        <xref ref-type="bibr" rid="ref6 ref8">6, 8</xref>
        ] has been
3an open source tool for data transfer between Hadoop and
relational database, see http://sqoop.apache.org/
to answer queries using views in data warehouses.
Furthermore, several subsequent works [
        <xref ref-type="bibr" rid="ref10 ref14">14, 10</xref>
        ] have focuses on
dynamic view management based on runtime statistics (e.g.
reference frequency, result data size, execution cost) and
measured pro ts for better query performance. In our work,
we reviewed these sophisticated techniques in a
MapReducebased environment.
      </p>
      <p>
        Cheetah [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is a high performance, custom data warehouse
on top of MapReduce. It is very similar to the
MapReducebased warehouse Hive introduced in this paper. The
performance issue of join implementation has also been addressed
in Cheetah. To reduce the network overhead for joining
big dimension table with fact table at query runtime, big
dimension tables are denormalized and all the dimension
attributes are directly stored into the fact table. In contrast,
we choose to only denormalize the frequently used
dimension attributes with the fact table since we believe that less
I/O cost can be achieved in this way.
7.
      </p>
    </sec>
    <sec id="sec-10">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>We propose a schema adaption approach for global
optimization in an analytical synthesis of relational databases
and a MapReduce-based warehouse - Hive. As
MapReduce systems have weak join performance, frequently used
columns of dimension tables are pre-joined with the fact
table according to useful workload statistics in an
adaptive manner before being transfered to Hive. Besides, a
rewrite component enables the execution of incoming
workloads with join operations over such pre-joined tables
transparently. In this way, better performance can be achieved in
Hive. Note that this approach is not restricted to any
speci c platform like Hive. Any MapReduce-based warehouse
can bene t from it, as generic complex join operations occur
in almost every analytical platform.</p>
      <p>However, the experimental results also show that the
performance improvement is not stable while the data volume
grows continuously. For example, when the query is
executed on one larger pre-joined table, the performance gain
from eliminating joins is o set by the impact caused by the
record parsing overhead and high I/O cost during the scan,
which results in worse performance. This concludes that
the total performance of complex data analytics is e ected
by multiple metrics rather than a unique consideration, e.g.
join.</p>
      <p>With the continuous growth of data, diverse frameworks
and platforms (e.g. Hive, Pig) are built for large-scale data
analytics and business intelligent applications. Data
transfer between di erent platforms generally takes place in the
absence of key information such as operational cost model,
resource consumption, computational capability etc. within
platforms which are autonomous and inherently not designed
for data integration. Therefore, we are looking at a generic
description of the operational semantics with their
computational capabilities on di erent platforms and a cost model
for performance optimization from a global perspective of
view. The granularity we are observing is a single operator
in the execution engines. Thus, a global operator model with
generic cost model is expected for performance improvement
in several use cases, e.g. federated systems.</p>
      <p>
        Moreover, as an adaptively pre-joined fact table is
regarded as a materialized view in a MapReduce-based
warehouse, another open problem left is how to handle the view
maintanence issue. The work from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] introduced an
incremental loading approach to achieve near real-time
datawarehousing by using change data capture and change
propagation techniques. Ideas from this work could be taken further
to improve the performance of total workload including the
pre-join task.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F. N.</given-names>
            <surname>Afrati</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Optimizing joins in a map-reduce environment</article-title>
          .
          <source>In Proceedings of the 13th International Conference on Extending Database Technology, EDBT '10</source>
          , pages
          <fpage>99</fpage>
          {
          <fpage>110</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          .
          <article-title>Fast algorithms for mining association rules in large databases</article-title>
          .
          <source>In Proceedings of the 20th International Conference on Very Large Data Bases, VLDB '94</source>
          , pages
          <fpage>487</fpage>
          {
          <fpage>499</fpage>
          , San Francisco, CA, USA,
          <year>1994</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Blanas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ercegovac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. J.</given-names>
            <surname>Shekita</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tian</surname>
          </string-name>
          .
          <article-title>A comparison of join algorithms for log processing in mapreduce</article-title>
          .
          <source>In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, SIGMOD '10</source>
          , pages
          <fpage>975</fpage>
          {
          <fpage>986</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>Cheetah: a high performance, custom data warehouse on top of mapreduce</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>3</volume>
          (
          <issue>1</issue>
          -2):
          <volume>1459</volume>
          {
          <fpage>1468</fpage>
          ,
          <string-name>
            <surname>Sept</surname>
          </string-name>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gruenheid</surname>
          </string-name>
          , E. Omiecinski, and
          <string-name>
            <given-names>L.</given-names>
            <surname>Mark</surname>
          </string-name>
          .
          <article-title>Query optimization using column statistics in hive</article-title>
          .
          <source>In Proceedings of the 15th Symposium on International Database Engineering &amp; Applications</source>
          , IDEAS '
          <volume>11</volume>
          , pages
          <fpage>97</fpage>
          {
          <fpage>105</fpage>
          , New York, NY, USA,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Halevy</surname>
          </string-name>
          .
          <article-title>Answering queries using views: A survey</article-title>
          .
          <source>The VLDB Journal</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ):
          <volume>270</volume>
          {
          <fpage>294</fpage>
          ,
          <string-name>
            <surname>Dec</surname>
          </string-name>
          .
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Han</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . Pei, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yin</surname>
          </string-name>
          .
          <article-title>Mining frequent patterns without candidate generation</article-title>
          .
          <source>SIGMOD Rec</source>
          .,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):1{
          <fpage>12</fpage>
          , May
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V.</given-names>
            <surname>Harinarayan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rajaraman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Implementing data cubes e ciently</article-title>
          .
          <source>In Proceedings of the 1996 ACM SIGMOD international conference on Management of data, SIGMOD '96</source>
          , pages
          <fpage>205</fpage>
          {
          <fpage>216</fpage>
          , New York, NY, USA,
          <year>1996</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>T.</given-names>
            <surname>Jo</surname>
          </string-name>
          <article-title>rg and</article-title>
          S. De loch.
          <article-title>Towards generating etl processes for incremental loading</article-title>
          .
          <source>In Proceedings of the 2008 international symposium on Database engineering &amp; applications</source>
          , IDEAS '
          <volume>08</volume>
          , pages
          <fpage>101</fpage>
          {
          <fpage>110</fpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kotidis</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Roussopoulos</surname>
          </string-name>
          .
          <article-title>Dynamat: a dynamic view management system for data warehouses</article-title>
          .
          <source>SIGMOD Rec</source>
          .,
          <volume>28</volume>
          (
          <issue>2</issue>
          ):
          <volume>371</volume>
          {
          <fpage>382</fpage>
          ,
          <year>June 1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Mannila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Toivonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I.</given-names>
            <surname>Verkamo</surname>
          </string-name>
          .
          <article-title>E cient algorithms for discovering association rules</article-title>
          . pages
          <volume>181</volume>
          {
          <fpage>192</fpage>
          . AAAI Press,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>F.</surname>
          </string-name>
          <article-title>O zcan</article-title>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hoa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. S.</given-names>
            <surname>Beyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Balmin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Liu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Emerging trends in the enterprise data analytics: connecting hadoop and db2 warehouse</article-title>
          .
          <source>In Proceedings of the 2011 ACM SIGMOD International Conference on Management of data, SIGMOD '11</source>
          , pages
          <fpage>1161</fpage>
          {
          <fpage>1164</fpage>
          , New York, NY, USA,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pavlo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Paulson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rasin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>DeWitt</surname>
          </string-name>
          , S. Madden, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          .
          <article-title>A comparison of approaches to large-scale data analysis</article-title>
          .
          <source>In Proceedings of the 2009 ACM SIGMOD International Conference on Management of data, SIGMOD '09</source>
          , pages
          <fpage>165</fpage>
          {
          <fpage>178</fpage>
          , New York, NY, USA,
          <year>2009</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>P.</given-names>
            <surname>Scheuermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shim</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Vingralek</surname>
          </string-name>
          . Watchman:
          <article-title>A data warehouse intelligent cache manager</article-title>
          .
          <source>In Proceedings of the 22th International Conference on Very Large Data Bases, VLDB '96</source>
          , pages
          <fpage>51</fpage>
          {
          <fpage>62</fpage>
          , San Francisco, CA, USA,
          <year>1996</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>DeWitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Madden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Paulson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pavlo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Rasin</surname>
          </string-name>
          .
          <article-title>Mapreduce and parallel dbmss: friends or foes? Commun</article-title>
          . ACM,
          <volume>53</volume>
          (
          <issue>1</issue>
          ):
          <volume>64</volume>
          {
          <fpage>71</fpage>
          ,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Thusoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Sarma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Chakka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , S. Antony, H. Liu, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Murthy</surname>
          </string-name>
          .
          <article-title>Hive - a petabyte scale data warehouse using Hadoop</article-title>
          .
          <source>In ICDE '10: Proceedings of the 26th International Conference on Data Engineering</source>
          , pages
          <volume>996</volume>
          {
          <fpage>1005</fpage>
          . IEEE, Mar.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Thusoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Anthony</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Borthakur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Sen</given-names>
            <surname>Sarma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Murthy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Data warehousing and analytics infrastructure at facebook</article-title>
          .
          <source>In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, SIGMOD '10</source>
          , pages
          <fpage>1013</fpage>
          {
          <fpage>1020</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>