<!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>Challenges in Workload Analyses for Column and Row Stores</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Lübcke</string-name>
          <email>andreas.luebcke@ovgu.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science Otto-von-Guericke-University Magdeburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Within the DWH domain, a new architecture known as column store is emerging especially to improve the performance of data analyses/aggregations. Column stores o er good results in performance benchmarks like TPC-H. In recent years, row stores dominate the data warehousing domain. We consider application elds for both architectures. We want to gure out and examine di erent application elds for row and column stores. To encourage our assumption, we perform a case study based on the TPC-H benchmark. To the best of our knowledge, there is no advisor for selection of storage architecture for a given application. We present an idea to overcome the workload analysis problems across di erent architectures in the DWH domain.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Database management systems (DBMSs) are pervasive in
current applications. With database tuning, practitioners
aim at optimal performance especially for large-scale
systems like a data warehouse (DWH). The administration
and optimization of DBMSs is costly. In recent years,
roworiented DBMSs (row stores) dominate the DWH domain
but a new approach known as column-oriented DBMSs
(column stores) arises [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The column stores should increase the
performance of analyses in the DWH domain [
        <xref ref-type="bibr" rid="ref1 ref14 ref18 ref9">1, 9, 14, 18</xref>
        ].
In the DWH domain, the column stores outperform the row
stores lately and o er good results in performance
benchmarks like TPC-H1. Consequently, the complexity of system
design increases through the new available DBMSs because
the design process also implies the selection of a suitable
system architecture now. To the best of our knowledge, there is
no framework available that advises the optimal architecture
for a given application or workload. Heuristics and
studies show that column stores perform very well on
aggregaWe thank Martin Kuhlemann and Ingolf Geist for helpful
discussions and comments on earlier drafts of this paper.
1Refer http://www.tpc.org/tpch/results/tpch perf results.asp
for the latest results.
      </p>
      <p>Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>
        GvD Workshop’10, 25.-28.05.2010, Bad Helmstedt, Germany
Copyright 2010 ACM Copyright is held by the author/owner(s). ...$10.00.
tions [
        <xref ref-type="bibr" rid="ref14 ref3">3, 14</xref>
        ]. In contrast, column stores perform worse than
row stores on update and tuple operations, i.e., processing
entire tuples. Operation types and their frequency within
a workload di er from application to application, thus we
have to analyze their workloads to select the most suitable
architecture. In other words, we have to contrast the
performance of row stores with the performance of column stores
for di erent applications.
      </p>
      <p>In this paper, we analyze the di erences between column
and row stores to show the increased challenge of system
design within the DWH domain. We illustrate new challenges
for workload analyses and introduce a solution. Afterwards,
our study illustrates that there are application elds for both
architectures within the DWH domain.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>COLUMN VS. ROW STORES</title>
      <p>This section gives an overview to the di erences in storage
method and functionality between column and row stores.
Due to the di erences, we show the increased complexity of
system design and the di culty of performance estimation
across row and column stores.</p>
      <p>
        First, the storage architecture di ers in the type of
partitioning a (relational) table. Row stores horizontally
partition a table, i.e., all attribute values of one tuple are
sequentially stored. In contrast, column stores sequentially
store the values of an attribute (column). Hence, column
stores have to reconstruct the tuples during the query
execution if more than one column is a ected. In the DWH
domain, we mostly process aggregations over one column.
Column stores reduce the overhead for aggregations, e.g.,
I/O costs, because the a ected column is directly accessed.
However, the vertical partitioning in column stores also
implies worse performance on update processing. That means,
caused by the column-oriented architecture, the tuples have
to be reconstructed and partitioned subsequently during
update processing. In contrast, row stores perform better on
tuples (operations) and updates that are also important
operations within workloads even in the DWH domain. Several
approaches [
        <xref ref-type="bibr" rid="ref1 ref12 ref16 ref9">1, 9, 12, 16</xref>
        ] attempt to solve the update
problems of column stores but these approaches do not reach the
performance of row stores. Abadi et al. show that
vertical partitioning of relations in row stores is not a suitable
compromise, too [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Second, column and row stores also di er in their
functionality. Row stores utilize indexes and materialized views
to improve the performance. Therefore, DBMS vendors and
researchers develop a number of self-tuning techniques [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to
automatically tune the DBMSs. These techniques, e.g.,
indexes and index self-tuning, do not exist for column stores,
i.e., column stores do not utilize mature frameworks/tools
for self-tuning like row stores according to shifting
workloads [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In contrast, column stores have a better support of
compression techniques than row stores [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Column stores
o er a number of compression techniques that can be chosen
for each column concerning its data type. Moreover, some
column stores can directly process on compressed data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Row stores have to use one compression for a tuple or
tuple partition [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], i.e., the selected compression techniques is
a compromise to satisfy di erent data types. Furthermore,
column and row use di erent query processing techniques
caused by the di erent storage architectures. On the one
hand, column stores have to reconstruct tuples while query
processing whereby the point of time for reconstruction
crucially in uence the query processing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. On the other hand,
row stores can directly process on several columns (no tuple
reconstruction) but they have to access entire tuples even if
just one column have to be processed. Row store query
processors are always tuple-oriented no matter how the data is
partitioned. Column stores can utilize a row-oriented query
processor as well as a column-oriented query processor [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
i.e., the performance of a column store is already a ected by
the selection of the query processor.
      </p>
      <p>
        In conclusion, we state that the complexity of database
design (and also tuning) has been increased by the appearance
of column stores within the DWH domain. In recent years,
we estimate the performance of row stores for a given
workload and tune these systems concerning the given workload.
We are able to compare several systems (row stores) because
their core functionality only di ers very slightly. Today, we
have to estimate the performance of DBMSs across two
architectures, i.e., we have to choose the most suitable
architecture for a given workload. One can argue that column
stores are more suitable for DWH applications in general
because column stores perform better on essential operations
for the DWH domain, e.g., aggregations. We argue there are
application elds for column and row stores because none of
the two architectures is suitable for every workload.
Current approaches [
        <xref ref-type="bibr" rid="ref1 ref11 ref12 ref16 ref9">1, 9, 11, 12, 16</xref>
        ] con rm our position, e.g.,
updates in real-time DWHs [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>NEW CHALLENGES FOR WORKLOAD</title>
    </sec>
    <sec id="sec-4">
      <title>ANALYSES</title>
      <p>New applications demand for performant aggregations in
column stores as well as performant tuple operations in row
stores or at least row store functionality. Hence, we need
new approaches for workload analyses because we have to
compare di erent DBMSs (row vs. column store) that di er
signi cantly in their storage, functionality, and query
processing techniques.</p>
      <p>In recent years, we compare di erent tuning and
optimization techniques of DBMSs to gure out the most suitable
DBMSs for a given workload. Row stores have only minor
di erences in functionality and they often only di er in their
implementation. Therefore, workload analyses based on
entire queries are suitable because the queries are processed in
the same way and the comparison of query execution times
is su ciently.</p>
      <p>To compare (systems with) di erent architectures, we have
to estimate the performance of a given workload for both
architectures. Due to the di erent performance of both
architectures on certain operations, it seems to be obvious to
analyze the operations itself. Consequently, current
workload analysis approaches and estimation tools have to be
adapted because these approaches process on entire queries
and their structure and do not o er the opportunity to
analyze operations of a query. We argue that this step is
necessary because certain operations, e.g., tuple reconstructions
in column stores, are not appraisable from a given query
and its structure. Furthermore, a certain operation can
directly in uence the overall performance of a query, e.g., tuple
operations. Due to heuristics, column stores will be
chosen for workloads that contain an amount of aggregations.
This assumption is often applicable but we cannot
generalize it. If the workload contains a huge number of tuple
operations besides the amount of aggregations then column
stores perform poorly because they have reconstruct a lot
of tuples. Tuple reconstructions are not necessary for row
stores, thus we have to analyze the operations of a query to
estimate the overall performance of a query correctly. With
help of workload analyses based on operations, we can
obtain weighted comparable estimations according to di erent
operations even if certain operations only exist for one of
the both architectures, e.g., tuple reconstruction for column
stores.
4.</p>
    </sec>
    <sec id="sec-5">
      <title>CASE STUDY: TPC-H ON DIFFERENT</title>
    </sec>
    <sec id="sec-6">
      <title>ARCHITECTURES</title>
      <p>In this section, we present our case study according to the
TPC-H benchmark on a column store and a row store. We
describe our study environment and introduce our
assumptions for this study. Afterwards, we discuss the results of
the benchmark runs.
4.1</p>
    </sec>
    <sec id="sec-7">
      <title>Environment &amp; Assumptions</title>
      <p>Our test environment is an Ubuntu 9.10 64bit system
running on Samsung X65 with a 2.2GHz dual core processor,
2GB RAM, and 2GB swap partition. We decide to use
Infobright ICE2 3.2.2 and MySQL3 5.1.37 for our study.</p>
      <p>Thereby, ICE represents the column stores and MySQL
represents the row stores. Our decision is based on two main
reasons. First, both DBMSs are freely available, and second
both DBMSs are relatively similar. Both systems use the
common MySQL kernel/management services except that
they utilize di erent storage architectures. Of course,
Infobright adds functionality to the underlying MySQL, e.g.,
another storage manager, but there are no other DBMSs
that utilize di erent storage architectures and are as similar
as these two DBMSs. To the best of our knowledge, there
are no DBMSs more suitable to compare impacts on column
and row store even if ICE is already a DBMS for DWH
applications and MySQL is implemented for transactional
processing (OLTP). We adjust both DBMSs con gurations to
the MySQL standard con guration to guarantee the
comparability of the results. For both systems, no additional
indexes or views are created except indexes and views that
are caused by the DDL (primary key) or by the workload
itself.</p>
      <p>To exclude impacts from a poor chosen workload, we use
the standardized TPC-H (2.8.0) benchmark with scale
factor 1 (1GB). This benchmark is representative for the DWH
2http://www.infobright.org
3http://www.mysql.org
domain. The data (1GB) does not t completely into RAM
for MySQL standard con guration, e.g., 16MB key bu er
size is much less than 1GB. We run two series of tests with
the TPC-H benchmark to show that there are still
application elds for row stores in the DWH domain, thus column
stores do not outperform row stores at each query.</p>
      <p>We run one series of tests with the standard TPC-H
benchmark to obtain reference values. The second series of tests
run with an adjusted TPC-H benchmark. We adjusted the
TPC-H benchmark in the following way. We want to show
that a storage architecture decision can be easily shifted by
changing workloads. We modify the TPC-H benchmark,
i.e., we change the number of returned attributes for each
query. Hence, each query returns the result without
projection (in the SELECT-statement). Listing 1 shows an
exemplary adjusted TPC-H query. We have to add a GROUP
BY-statements to the queries Q6, Q14, Q17, and Q19 to create
valid SQL statements because more than one attribute has
to be processed now. We decide to group all four queries by
the same attribute (l shipdate), i.e., each query is extended
by GROUP BY l shipdate. We also apply these changes
to the series of tests with standard TPC-H benchmark to
guarantee the comparability.</p>
      <p>Finally, we state that we exclude three queries from our
test series. First, Q13 is not executable on MySQL-syntax.
Second, we remove Q18 from our test series because MySQL
is not able to nish the query. We abort the execution after
over 21 hours. In contrast, the execution time on ICE is
only 8 seconds. Third, Q21 has an extreme execution time
of 6 hours on ICE that indicates optimizer problems for this
query. MySQL executes Q21 in only 2 minutes and 48
seconds.</p>
      <p>Our results of the two test series are shown in Table 1 and
will be discussed in the following section.
4.2</p>
    </sec>
    <sec id="sec-8">
      <title>Discussion</title>
      <p>Our study shows di erent impacts on the query execution
time of the queries. We determine three di erent impacts
within our study.</p>
      <p>First, we cannot gure out an impact of our adjustments
on the query execution of MySQL. There are only some
queries that show a negligible impact, e.g., the query
execution times of Q2 and Q5 are only increased by 3 seconds
with respect to the overall query execution time above 1
minute. We expect this behavior because row stores do not
have drawbacks while processing entire tuples. We assume,
the nal projection within a query plan has no impact on
query execution time for row stores because unnecessary
attribute will only be cropped from the result sets. We assume,
this fact does not refer to projections on intermediate result
sets during the optimization process.</p>
      <p>Second, ICE shows an obvious impact on several queries,
e.g., Q3 and Q19. The increased costs for these queries show
the in uence of the size of processed tuples to the
performance of column stores. We assume, these costs are caused
by the necessary tuple reconstruction during the query
execution. Hence, analyses on larger tuples within result sets
can corrupt the performance of column stores. We state
that large tuple sizes within a result set cannot disregarded
for storage architecture decision, especially not for analyzing
and reporting tools that process on huge data sets.</p>
      <p>Third, some queries do not show an impact according to
our adjustments of the TPC-H benchmark e.g., Q7 or Q15.
Query #
TPC-H Q1
TPC-H Q2
TPC-H Q3
TPC-H Q4
TPC-H Q5
TPC-H Q6
TPC-H Q7
TPC-H Q8
TPC-H Q9
TPC-H Q10
TPC-H Q11
TPC-H Q12
TPC-H Q14
TPC-H Q15
TPC-H Q16
TPC-H Q17
TPC-H Q19
TPC-H Q20
TPC-H Q22
We assume that the costs for tuple reconstructions for these
queries do not have a major share of total costs. The result
sets and the interim results are comparatively small. Hence,
there are other operations within these queries that cause
the major part of the costs. Consequently, we cannot gure
out general decision rules. We have to analyze the in uence
of single operations to the total costs of a query.</p>
      <p>Queries Q4, Q17, Q19, and Q22 have to be separately
considered. The long query execution times for ICE indicate
the same issue with respect to the query structure. We
assume that the ICE optimizer or the ICE query processor
has an issue while processing nested queries. However, our
results also show that there is only a negligible impact for
both systems by our adjustments for these queries.</p>
      <p>Our assumption is con rmed that column stores cannot
outperform row stores at each query, i.e., there are
application elds for row and column stores in the DWH domain.
5.</p>
    </sec>
    <sec id="sec-9">
      <title>RELATED WORK</title>
      <p>
        Several open- and closed-source column stores have been
released [
        <xref ref-type="bibr" rid="ref1 ref13 ref18 ref8">1, 8, 13, 18</xref>
        ] but all systems are pure column stores
and do not support any row store functionality. We state
that all application elds in the DWH domain cannot be
satis ed by systems that support only one architecture.
      </p>
      <p>
        Regarding the solutions for architectural problems, there
are several approaches [
        <xref ref-type="bibr" rid="ref1 ref12">1, 12</xref>
        ] available which try to reduce
the drawbacks caused by the architecture, i.e., these
approaches replicate data to overcome the drawbacks. We
want to gure out the most suitable architecture for a given
application/workload without replication mechanisms.
      </p>
      <p>We need to analyze all workloads to gure out the
applications elds for row and column stores. Therefore, we can
utilize, adapt and extend existing approaches such as
Turby</p>
      <p>
        ll [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] who considers mixed workloads or Raatikainen [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
considers workload clustering analysis. In contrast, our
approach needs to classify and analyze database operations
itself. The approaches of Favre et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and Holze et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
step in the direction of self-tuning databases, i.e., they
con1 SELECT * , COUNT(DISTINCT p s _s u p p k ey ) AS s u p p l i e r _ c n t
2 FROM partsupp , part
3 WHERE p_partkey = p s _p a r t k ey AND p_brand &lt; &gt; ' Brand #51 ' AND p_type NOT LIKE ' SMALL PLATED % '
4 AND p_size IN (3 , 12 , 14 , 45 , 42 , 21 , 13 , 37) AND p s _s u p p k ey NOT IN (
5 SELECT s_suppkey FROM supplier WHERE s_comment LIKE '% Customer % C o mp l a i n ts % ')
6 GROUP BY p_brand , p_type , p_size
7 ORDER BY s u p p l i e r _ c n t DESC, p_brand , p_type , p_size ;
      </p>
      <p>Listing 1: Adjusted TPC-H Query Q16
sider analyses on changing workload. We could adopt these
approaches to develop an alerter in architectural manner to
advice the redesign of a system.</p>
      <p>
        The current research re ects new approaches to solve the
update problems of OLAP applications, e.g., dimension
updates [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Moreover, the update problem is increased
according to new demands like real-time DWH [
        <xref ref-type="bibr" rid="ref11 ref17">11, 17</xref>
        ]. Thus,
solutions are needed to overcome update processing
problems.
      </p>
    </sec>
    <sec id="sec-10">
      <title>CONCLUSION</title>
      <p>We illustrated the major di erences in storage form and
functionality between column and row stores. Therefrom,
we showed the di culty to compare the performances of
the two architectures or systems with di erent architectures.
Consequently, we discussed the increased complexity of the
physical design process for DWH applications, e.g.,
distinction between two architectures. We mentioned several
approaches that show the necessity of column stores as well
as row stores or at least row store functionality within the
DWH domain. Afterwards, we analyzed the impact of
certain operations on both architectures and gured out that
current workload analysis approaches are not su cient. The
current analysis approaches cannot analyze workloads for
both architectures su ciently because we proposed that
workload analysis should analyze workloads based on operations
instead of entire queries. We argued that this approach
can satisfy the necessity to evaluate performance of systems
across di erent architectures.</p>
      <p>Our study with ICE and MySQL shows that column stores
cannot outperform row stores for every workload even ICE is
implemented for DWH applications and vice versa MySQL
is not. Hence, we con rm our assumption that there are
application elds for column and row stores within the DWH
domain. Thus, a framework for the selection of optimal
architecture is necessary. Our study shows the necessity to
adopt current approaches for more signi cant performance
estimations. Finally, we discuss the impact of certain
operations on the overall performance of a query.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          .
          <article-title>Query execution in column-oriented database systems</article-title>
          .
          <source>PhD thesis</source>
          , Cambridge, MA, USA,
          <year>2008</year>
          . Adviser: Madden, Samuel.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Boncz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Harizopoulos</surname>
          </string-name>
          .
          <article-title>Column oriented database systems</article-title>
          .
          <source>PVLDB '09</source>
          ,
          <issue>2</issue>
          (
          <issue>2</issue>
          ):
          <volume>1664</volume>
          {
          <fpage>1665</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Madden</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Hachem</surname>
          </string-name>
          .
          <article-title>Column-stores vs. row-stores: How di erent are they really?</article-title>
          <source>In SIGMOD '08</source>
          , pages
          <fpage>967</fpage>
          {
          <fpage>980</fpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Myers</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. J. DeWitt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Madden</surname>
          </string-name>
          .
          <article-title>Materialization strategies in a column-oriented DBMS</article-title>
          .
          <source>In ICDE</source>
          , pages
          <volume>466</volume>
          {
          <fpage>475</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaudhuri</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Narasayya</surname>
          </string-name>
          .
          <article-title>Self-tuning database systems: A decade of progress</article-title>
          .
          <source>In VLDB '07</source>
          , pages
          <fpage>3</fpage>
          <lpage>{</lpage>
          14. VLDB Endowment,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Favre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bentayeb</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Boussaid</surname>
          </string-name>
          .
          <article-title>Evolution of data warehouses' optimization: A workload perspective</article-title>
          .
          <source>In DaWaK '07</source>
          , pages
          <fpage>13</fpage>
          {
          <fpage>22</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Holze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gaidies</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Ritter</surname>
          </string-name>
          .
          <article-title>Consistent on-line classi cation of DBS workload events</article-title>
          .
          <source>In CIKM '09</source>
          , pages
          <fpage>1641</fpage>
          {
          <fpage>1644</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Legler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lehner</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ross</surname>
          </string-name>
          .
          <article-title>Data mining with the SAP NetWeaver BI Accelerator</article-title>
          .
          <source>In VLDB '06</source>
          , pages
          <fpage>1059</fpage>
          {
          <fpage>1068</fpage>
          . VLDB Endowment,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Plattner</surname>
          </string-name>
          .
          <article-title>A common database approach for OLTP and OLAP using an in-memory column database</article-title>
          .
          <source>In SIGMOD '09</source>
          , pages
          <issue>1</issue>
          {
          <fpage>2</fpage>
          , New York, NY, USA,
          <year>2009</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K. E. E.</given-names>
            <surname>Raatikainen</surname>
          </string-name>
          .
          <article-title>Cluster analysis and workload classi cation</article-title>
          .
          <source>SIGMETRICS Performance Evaluation Review</source>
          ,
          <volume>20</volume>
          (
          <issue>4</issue>
          ):
          <volume>24</volume>
          {
          <fpage>30</fpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Santos</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bernardino</surname>
          </string-name>
          .
          <article-title>Real-time data warehouse loading methodology</article-title>
          .
          <source>In IDEAS '08</source>
          , pages
          <fpage>49</fpage>
          {
          <fpage>58</fpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>J. Scha ner</surname>
          </string-name>
          , A. Bog,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Kruger, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeier</surname>
          </string-name>
          .
          <article-title>A hybrid row-column OLTP database architecture for operational reporting</article-title>
          .
          <source>In BIRTE '08</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Slezak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wroblewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Eastwood</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Synak</surname>
          </string-name>
          .
          <article-title>Brighthouse: an analytic data warehouse for ad-hoc queries</article-title>
          .
          <source>PVLDB '08</source>
          ,
          <issue>1</issue>
          (
          <issue>2</issue>
          ):
          <volume>1337</volume>
          {
          <fpage>1345</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Batkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cherniack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ferreira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Madden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. J. O</given-names>
            <surname>'Neil</surname>
            , P. E. O'Neil
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rasin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Tran</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Zdonik. C-Store</surname>
          </string-name>
          :
          <article-title>A column-oriented dbms</article-title>
          .
          <source>In VLDB '05</source>
          , pages
          <fpage>553</fpage>
          {
          <fpage>564</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Turby ll. Disk performance and access patterns for mixed database workloads</article-title>
          .
          <source>IEEE Data Engineering Bulletin</source>
          ,
          <volume>11</volume>
          (
          <issue>1</issue>
          ):
          <volume>48</volume>
          {
          <fpage>54</fpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Vaisman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. O.</given-names>
            <surname>Mendelzon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Ruaro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Cymerman</surname>
          </string-name>
          .
          <article-title>Supporting dimension updates in an OLAP server</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <volume>165</volume>
          {
          <fpage>185</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>An</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Data updating and query in real-time data warehouse system</article-title>
          .
          <source>In CSSE '08</source>
          , pages
          <fpage>1295</fpage>
          {
          <fpage>1297</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zukowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Boncz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nes</surname>
          </string-name>
          , and
          <string-name>
            <surname>S. Heman.</surname>
          </string-name>
          <article-title>MonetDB/X100 - a DBMS in the CPU cache</article-title>
          .
          <source>IEEE Data Engineering Bulletin</source>
          ,
          <volume>28</volume>
          (
          <issue>2</issue>
          ):
          <volume>17</volume>
          {
          <fpage>22</fpage>
          ,
          <year>June 2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>