<!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>
      <journal-title-group>
        <journal-title>Original</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Matrix Clustering Algorithms for Vertical Partitioning Problem: an Initial Performance Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>© Viacheslav Galaktionov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>viacheslav.galaktionov@gmail.com</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>© Boris Novikov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>b.novikov@spbu.ru</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>JetBrains Research</institution>
          ,
          <addr-line>Saint-Petersburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Proceedings of the XVIII International Conference «Data Analytics and Management in Data Intensive Domains» (DAMDID/RCDL'2016)</institution>
          ,
          <addr-line>Ershovo</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Saint-Petersburg State University</institution>
          ,
          <addr-line>Saint-Petersburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>George Chernishev</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1439</year>
      </pub-date>
      <volume>1405</volume>
      <fpage>24</fpage>
      <lpage>31</lpage>
      <abstract>
        <p>Matrix clustering algorithms are among the oldest approaches to the vertical partitioning problem. They can be summarized as follows: (1) given a workload, construct an Attribute Usage Matrix (AUM), (2) apply some kind of a row and column permutation algorithm and (3) extract the resulting clusters which define the required fragments. This naive approach holds some promise for a number of contemporary applications: (1) dynamization of vertical partitioning (2) big data applications and other cases of resource constraints (3) tuning of multistores. In this paper we examine a number of existing matrix clustering algorithms used for vertical partitioning. We study these algorithms and assess the quality of the solutions. The experiments are run on the TPC-H workload using the PostgreSQL DBMS.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The vertical partitioning problem [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is one of the oldest
problems in the database domain. There are dozens or
even hundreds of studies available on the subject. It is a
subproblem of the general database physical structure
selection problem. It can be described as follows [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]:
find a configuration (a set of vertical fragments) which
would satisfy the given constraints and which will
provide the best performance. There are two major
classes of approaches to this problem:
 Cost-based approach [
        <xref ref-type="bibr" rid="ref16 ref21 ref3 ref33">3, 16, 21, 33</xref>
        ]. Studies
that follow this approach construct a cost
model, which is used to predict the performance
of a workload for any given configuration.
Next, an algorithm enumerating the
configuration space is used.
 Procedural approach [
        <xref ref-type="bibr" rid="ref29 ref32 ref35">29, 32, 35</xref>
        ]. These studies
do not use the notion of configuration cost.
Instead, they propose some kind of a procedure
which will result in a “good” configuration.
Usually, these studies provide some intuitive
explanation why the ensuing configuration
would be “good”.
      </p>
      <p>
        The abundance of studies is justified by the following
considerations:
 It was proved that the problem of vertical
partitioning is an NP-Hard problem [
        <xref ref-type="bibr" rid="ref29 ref37 ref4">4, 29, 37</xref>
        ],
just like many other physical design problems
[
        <xref ref-type="bibr" rid="ref22 ref37 ref6">6, 22, 37</xref>
        ].
 Estimation errors related to both the system
parameters and workload parameters. System
parameters (hardware and software) in some
cases cannot be measured precisely. Workload
parameters can also be imprecise, e.g. not all
queries are known in advance, or some of the
known queries are not run. All these errors can
cause the performance of the solution to
deteriorate.
      </p>
      <p>
        The procedural approach was very popular in the ’80s
and ’90s because of the lack of computational resources.
Nowadays, the interest for it has largely declined, and the
majority of contemporary studies follows the cost-based
one. This approach produces more accurate
recommendations by incorporating additional
information into the selection process. However,
procedural approach has a number of promising
applications:
 Dynamization of vertical partitioning [
        <xref ref-type="bibr" rid="ref24 ref28 ref34 ref36">24, 28,
34, 36</xref>
        ]. All of the previous vertical partitioning
studies considered the problem in a static
context, i.e. a configuration is selected once. In
case of changes in the workload or the data the
algorithm has to be re-run. In the new
formulation the goal is to adapt the partitioning
scheme to a constantly changing workload. The
straightforward technique of the repeated re-run
of a cost-based algorithm is not applicable due
to its formidable costs of operation. Otherwise,
its application will result in query processing
stalls which should be avoided at all costs in this
formulation. However, the procedural approach
is not so computationally demanding as the
cost-based one. Thus, low-quality solutions are
acceptable as long as they provide improvement
over the previous configuration and help us
avoid queryprocessing stalls.
 Big data applications or any other cases
featuring constrained resources.
 Tuning of multistores [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] or any other case
when no details or only inaccurate estimates of
physical parameters are known. It was already
noted in the ’80s [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] that the procedural
approach is well-suited for such cases. A
multistore system is a database system which
consists of several distinct data stores, e.g. a
Hadoop’s HDFS and an RDBMS. This kind of
a system is a modern example of the case where
not every physical parameter of underlying data
stores is known.
      </p>
      <p>In this paper we evaluate a particular subclass of
procedural vertical partitioning algorithms – the matrix
clustering algorithms.</p>
      <p>
        To the best of our knowledge, this study is the first
one to evaluate this class of algorithms using a real
DBMS and a real workload [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Related Work</title>
      <sec id="sec-2-1">
        <title>2.1 Classification</title>
        <p>
          The vertical partitioning problem is one of the oldest
problems in the database domain. There are several
dozens of studies on this topic, and most of them concern
various algorithms. Several surveys can be found in the
references [
          <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
          ]. Vertical partitioning algorithms can
be classified into two major groups: cost-based and
procedural, where the latter employs three types of
approaches:
 Attribute affinity and matrix clustering
approaches [
          <xref ref-type="bibr" rid="ref10 ref11 ref13 ref19 ref23">10, 11, 13, 19, 23</xref>
          ]. In
affinitybased approaches, closeness between every two
attributes is first calculated, and then it is used
to define the borders of the resulting fragments.
This closeness is called attribute affinity. At the
first step a workload is used to create an AUM,
then an Attribute Affinity Matrix (AAM) is
constructed using a paper-specific
transformation procedure. Finally, a row and
column permutation algorithm is applied.
Matrix clustering approaches operate on the
AUM and start with the permutation part.
 Graph approaches [12, 17. 29, 32, 39]. Most of
the graph approaches treat the AAM as an
adjacency matrix of an undirected weighted
graph. In this graph nodes denote attributes and
edges represent a bound’s strength. Then a
template is sought by various means, e.g.
kruskal-like algorithms or hamiltonian way cut.
The resulting templates are used to construct
partitions.
 Data mining approaches [
          <xref ref-type="bibr" rid="ref20 ref35 ref8">8, 20, 35</xref>
          ]. This is a
relatively new vertical partitioning technique
that uses association rules to derive vertical
fragments. Most of these works mine a
workload (a transaction set) for rules which use
sets of attributes as items. In these studies
existing algorithms for association rule search
are used to uncover relations between attributes.
In particular, an adapted Apriori [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] algorithm
is a very popular choice.
        </p>
        <p>Let us review the matrix clustering approach in
detail.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Matrix Clustering Approach</title>
        <p>The general scheme of this approach is the following:
 Construct an Attribute Usage Matrix (AUM)
from the workload. The matrix is constructed as
follows:</p>
        <p>Mij =
{ 1, query i uses attribute j</p>
        <p>0, otherwise
 Cluster the AUM by permuting its rows and
columns to obtain a block diagonal matrix.
 Extract these blocks and use them to define the
resulting partitions.</p>
        <p>Some approaches do not operate on a 0-1 matrix.
Instead they modify matrix values to account for
additional information like query frequency, attribute
size and so on.</p>
        <p>Let us consider an example. Suppose that we have six
queries accessing six attributes:
q1: SELECT a FROM T WHERE a &gt; 10;
q2: SELECT b, f FROM T;
q3: SELECT a, c FROM T WHERE a = c;
q4: SELECT a FROM T WHERE a &lt; 10;
q5: SELECT e FROM T;
q6: SELECT d, e FROM T WHERE d + e &gt; 0;
The next step is the creation of an AUM using this
workload. The resulting matrix is shown on Figure 1a.
Having applied a matrix clustering algorithm, we acquire
the reordered AUM (Figure 1b). The resulting fragments
are the following: (a, b), (b, f), (d, e).</p>
        <p>
          However, not all matrices are fully decomposable.
Consider the matrix presented on Figure 2. The first
column obstructs the perfect decomposition into several
clusters. In this case, the algorithm should produce a
decomposition which would minimally harm query
processing and would result in an overall performance
improvement. Matrix clustering algorithms employ
different strategies to select such a decomposition.
2.3 Matrix Clustering Approach
The first study to introduce matrix clustering to vertical
partitioning was the work of Hoffer [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The idea is to
store together (in one file) attributes possessing identical
retrieval patterns. The patterns are expressed through the
notion of attribute cohesion, which shows how attributes
in a pair are related to each other. The author proposes a
pairwise attribute similarity measure to capture this
cohesion.
        </p>
        <p>The proposed measure relies on three parameters:
coaccess frequency of a pair of attributes, attribute length
and relative importance of the query. This measure was
designed having the following properties in mind: it is
non-decreasing by co-access frequency, non-decreasing
by both attribute lengths (individually) and the function
is non-increasing in the combined length of attributes.</p>
        <p>
          Finally, having an attribute affinity matrix, an
existing clustering algorithm (Bond Energy Algorithm,
BEA) [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] is used. It permutes rows and columns to
maximize nearest neighbour bond strengths. The author
was motivated in his choice by the following: this
algorithm is insensitive to the order in which items are
presented, it has a low computation time, etc. However,
this algorithm has a disadvantage: it requires human
attention for cluster selection.
        </p>
        <p>a b c d e f
1 1 1 0 0 0
1 1 1 0 0 0
1 1 1 0 0 0
1 0 0 1 1 0
1 0 0 1 1 0
1 0 0 0 0 1
Figure 2 Non-decomposable matrix</p>
        <p>
          BEA is not the only existing matrix clustering
algorithm. Another permutation algorithm was proposed
in the reference [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ]. Similarly to BEA, it permutes rows
and columns, but tries to minimize the spanning path of
the graph represented by the original matrix. The
improvement of these two algorithms is presented in the
reference [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. This algorithm is called the matching
algorithm and it uses Hamming distance to produce
clusters. According to the reference [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], the study [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
presents the Rank Order algorithm. Its idea is to sort rows
and columns of the original matrix in descending order
of their binary weight. The Cluster Identification (CI)
algorithm by Kusiak and Chow [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] is an algorithm for
clustering 0-1 matrices. The proposed approach is to
detect clusters one by one using a special procedure. This
procedure resembles the search of a transitive closure for
rows and columns. It is an optimal algorithm that can
solve the problem when the matrix is perfectly separable,
e.g. when clusters do not intersect (there is no attribute
sharing).
        </p>
        <p>
          All of the aforementioned algorithms (except BEA)
are generic matrix clustering algorithms. They do not
address the vertical partitioning problem and do not even
bear any database specifics. The next studies by
ChunHung Cheng [
          <xref ref-type="bibr" rid="ref10 ref11 ref13">10, 11, 13</xref>
          ] attempt to apply matrix
clustering approach to the database domain. Several new
vertical partitioning algorithms were developed in his
works. Let us consider them.
        </p>
        <p>
          Chun-Hung Cheng criticizes existing matrix
clustering algorithms [
          <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
          ]:
 They do not always produce a solution matrix in a
diagonal submatrix structure. Thus, these algorithms
may require additional computation to extract them;
 These algorithms may require decision of database
administrator to identify inter-submatrix attributes
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>
          The first study [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] extends the original CI [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]
algorithm to non-decomposable matrices. The proposed
approach is to remove columns obstructing the
decomposition (inter-submatrix attributes).
        </p>
        <p>
          The author considered the following problem
formulation P1 [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]: remove columns to decompose a
matrix into separable submatrices with the maximum
number of “1” entries retained in submatrices subject to
the following constraints:
 C1: A submatrix must contain at least one row;
 C2: The number of rows in a submatrix cannot
exceed upper limit, b;
 C3: A submatrix must contain at least one column.
        </p>
        <p>In order to solve the problem, the branch and bound
approach was used. This approach uses an objective
function which maximizes the number of “1” entries in
the resulting submatrices. During the tree traversal,
upper and lower bounds are calculated and used to guide
the enumeration process.</p>
        <p>However, the basic approach required traversal of too
many nodes, so the author augmented it with the
following heuristic. A so-called blocking measure is
calculated for each column. It estimates the likelihood of
a column being an obstacle to the further decomposition
of the matrix. Basically, it is the number of columns that
would be involved in all queries which use the given
workload
vpart</p>
        <p>parser
algorithm
attribute. Next, the columns are ordered by their
respective values and the ones with the highest values are
checked.</p>
        <p>
          The study [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] also extends the original CI algorithm.
The author adopts the same branch and bound approach
as in his previous paper [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. However, instead of the
blocking measure a new void measure is developed. It
has the same purpose, which is the estimation of the
likelihood of a column being an inter-submatrix column.
Essentially, this measure is the calculated “free space” to
the left and to the right of the candidate cluster.
        </p>
        <p>
          The next study of the author [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] addresses several
shortcomings of his previous works:
 The problem of the parameter b. While this
parameter helps prevent the formation of the huge
clusters, it does not guarantee any quality of the
resulting clusters. Also, the problem will have to be
reformulated if several clusters of different sizes are
needed.
 The dangling transaction problem. Applying the
previous algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] a transaction not belonging
to any cluster may be acquired: all of its attributes
would be removed. Two examples are presented in
the original paper.
 The previous work did not include such an important
parameter as the access frequency of the
transactions.
        </p>
        <p>
          Thus, a new formulation P3 is proposed [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]: remove
a minimal number of “1” entries to decompose a
transaction-attribute access matrix into separable
submatrices subject to the following constraints:
 C7: Transactions with all “0” entries in a submatrix
are not allowed.
 C8: Attributes with all “0” entries in a submatrix are
not allowed.
 C9: The cohesion measure of a submatrix is more
than or equal to a threshold, δ.
        </p>
        <p>Cohesion measure of a submatrix is the ratio of “1”
elements to “0” elements. This new measure is used to
ensure the quality of a cluster.</p>
        <p>The problem is also solved with the branch and bound
approach, again, the void measure is used to guide the
order of node traversal.</p>
        <p>
          Furthermore, in this work the author shows why
dangling transactions should be avoided: an example is
provided showing a case where it is possible to lose
information regarding a cluster. Finally, the author
rewriter
executor
partitioner
extended his CI framework to consider query
frequencies. This P4 formulation is the same as P3, but
features a weighted sum of accesses [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]: minimize the
loss of total accesses (∑i∑j aij × freqi) due to the removal
of aij for decomposing a transaction-attribute matrix into
separable submatrices subject to the same constraints
C7–C9.
        </p>
        <p>
          In this paper we study the approaches described in the
references [
          <xref ref-type="bibr" rid="ref10 ref11 ref13">10, 11, 13</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 System Architecture</title>
      <p>We have developed a program for experimental
evaluation of the considered algorithms. Its architecture
is presented on Figure 3. It consists of the following
modules:
 The parser reads the workload from a file. It extracts
the queries and passes them to the executor, so that
their execution times can be measured. It also
constructs the AUM, which serves as input for the
selected algorithm.
 The algorithm identifies clusters and passes that
information to the partitioner to create
corresponding temporary tables.
 The query rewriter also receives this information. It
replaces the name of the original table with the ones
that were generated by the partitioner. It can handle
subqueries; view support is not implemented yet.
 The partitioner generates new names and sends
partitioning commands to the database. The exact
commands are SELECT INTO and ALTER
TABLE. The latter lets it transfer primary keys.
 The executor accepts queries and sends them to</p>
      <p>PostgreSQL to measure the time of execution.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Parallelization</title>
      <p>Having implemented this system, we noticed
unacceptable run times even for relatively small
matrices. The author of these algorithms states that this
is not a problem because the algorithm finds a good
solution quickly and spends the major portion of its time
just by checking the rest of the tree.</p>
      <p>However, we decided to parallelize all of the
algorithms. We managed to achieve this in a generic
fashion, i.e. we applied a generic parallelization scheme
for all of the branch and bound algorithms. In order to
1 2 3 4 5 6
Q1 0 1 1 1 1 1
Q6 0 1 1 1 0 0
Q14 1 0 1 1 0 0
Q19 1 1 1 1 0 0</p>
      <p>(a) Original
Figure 5 Scenario 1 – A09, QS1, 0.7</p>
      <p>1 2 3 4
Q6 0 1 1 1
Q14 1 0 1 1
Q19 1 1 1 1</p>
      <p>(a) Original
Figure 7 Scenario 2 – A09, QS2, 0.7
implement it we employed the Threading Building
Blocks (TBB)1.</p>
      <p>Using these primitives, our already existing
sequential implementation was parallelized with
minimal effort. We replaced the explicit stack used in
sequential depth-first traversal with TBB constructs2.
Thus, we kept the node inspection code unchanged.</p>
      <p>
        For the detailed information regarding the
parallelization method and the results see the original
paper [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>5 Experiments</title>
      <p>
        We have implemented three recent matrix clustering
algorithms [
        <xref ref-type="bibr" rid="ref10 ref11 ref13">10, 11, 13</xref>
        ] (A94, A95, A09) and used
PostgreSQL DBMS to evaluate them. Our experiments
were conducted using the standard benchmark – TPC-H
with scale factor 1. We measured the run times for
original and partitioned configurations.
      </p>
      <sec id="sec-5-1">
        <title>5.1 Hardware and Software Setups</title>
        <p>In our experiments the following setup was used:
 PostgreSQL 9.5.2,
 Gentoo Linux (kernel 4.1.12),
 Intel® Core™ i7-3630QM (4 physical cores,
hyper-threading enabled)
1 https://www.threadingbuildingblocks.org/
2 https://www.threadingbuildingblocks.org/
Q1
Q6
Q14
Q19
Q6
Q14
Q19
8
1
1
*
0
type Q6 Q14
original 1385 1409
partitioned 2201 1377
Figure 10 Scenario 5 – A09, QS2, 0.9
strategy to apply is usually left to database administrator.
In this study we employ the first strategy.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.3 Scenario 1</title>
        <p>
          In this experiment we used the most recent algorithm
from the reference [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] (A09). The cohesion parameter
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>5.8 Scenario 6</title>
        <p>Here we evaluate the behavior of A09 with QS2 and
cohesion value of 0.9. Results are presented in Tables 10
and 11. There is also negative overall gain.
was set to 0.7 and QS1 was used. Table 4 contains the
performance for this scenario.</p>
        <p>As we can see, only run time for Q14 improved and
the overall time significantly increased. The query Q1
can be characterized by a large number of aggregates and
read attributes. This is the possible reason for such
performance deterioration. The partitioning scheme is
presented in Table 5.</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.4 Scenario 2</title>
        <p>This experiment also addresses the A09 algorithm with
the same cohesion parameter. However, we decided to
discard Q1 from the workload to check whether that
would improve the overall performance. The results are
presented in Table 6. While Q6 and Q14 performance
improved, the Q19 performance has greatly deteriorated.
The net gain is also negative in this case. The
corresponding partitioning scheme is presented in Table
7.</p>
      </sec>
      <sec id="sec-5-5">
        <title>5.5 Scenario 3</title>
        <p>In this scenario we examined A09 on the QS3. The
results are shown in Table 8. We do not demonstrate the
original and partitioned matrices due to the space
constraints and due to the fact that the algorithm returned
only one cluster, which was identical to the input one.
Thus, overall improvement was achieved via transfer of
all of untouched attributes to a separate cluster.</p>
      </sec>
      <sec id="sec-5-6">
        <title>5.6 Scenario 4</title>
        <p>In this experiment we again considered A09 on QS2, but
lowered the cohesion value to 0.5. Similarly, we
obtained a positive net gain (see Table 9). Unfortunately,
input and output matrices indicate that the reason for this
improvement is the same as in Scenario 3.</p>
        <p>Q1
Q6
Q14
Q19</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions</title>
      <p>
        In this paper we have studied three newer matrix
clustering algorithms [
        <xref ref-type="bibr" rid="ref10 ref11 ref13">10, 11, 13</xref>
        ]. We have implemented
these algorithms and used PostgreSQL with TPC-H
workload to evaluate them. In our experiments we
employed one of several inter-cluster attribute handling
strategies. Preliminary results suggest that all of these
algorithms perform poorly in this environment, often
yielding partitioning schemes worse than the original
one.
      </p>
      <p>Transactions
on,</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>TPC</given-names>
            <surname>Benchmark H. Decision Support</surname>
          </string-name>
          .
          <source>Version</source>
          <volume>2</volume>
          .17.1. http://www.tpc.org/tpch [Accessed:
          <year>2016</year>
          01 08]
        </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>
          -
          <lpage>499</lpage>
          , 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>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Narasayya</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <article-title>Integrating vertical and horizontal partitioning into automated physical database design</article-title>
          .
          <source>In Proceedings of the 2004 ACM SIGMOD international conference on Management of data, SIGMOD '04</source>
          , pages
          <fpage>359</fpage>
          -
          <lpage>370</lpage>
          , New York, NY, USA,
          <year>2004</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P. M. G.</given-names>
            <surname>Apers</surname>
          </string-name>
          .
          <article-title>Data allocation in distributed database systems</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>13</volume>
          :
          <fpage>263</fpage>
          -
          <lpage>304</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellatreche</surname>
          </string-name>
          .
          <article-title>Optimization and tuning in data warehouses</article-title>
          . In L. LIU and M. ÖZSU, editors,
          <source>Encyclopedia of Database Systems</source>
          , pages
          <fpage>1995</fpage>
          -
          <lpage>2003</lpage>
          . Springer US,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellatreche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Boukhalfa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Richard</surname>
          </string-name>
          .
          <article-title>Data partitioning in data warehouses: Hardness study, heuristics and oracle validation</article-title>
          . In I.-Y. Song,
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          , and T. Nguyen, editors,
          <source>Data Warehousing and Knowledge Discovery</source>
          , volume
          <volume>5182</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>87</fpage>
          -
          <lpage>96</lpage>
          . Springer Berlin / Heidelberg,
          <year>2008</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          - 85836-
          <issue>2</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Bhat</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Haupt</surname>
          </string-name>
          .
          <article-title>An efficient clustering algorithm</article-title>
          .
          <source>Systems, Man and Cybernetics</source>
          , IEEE Transactions on, SMC-
          <volume>6</volume>
          (
          <issue>1</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bouakkaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ouinten</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Ziani</surname>
          </string-name>
          .
          <article-title>Vertical fragmentation of data warehouses using the FP-Max algorithm</article-title>
          .
          <source>In Innovations in Information Technology (IIT)</source>
          , 2012 International Conference on, pages
          <fpage>273</fpage>
          -
          <lpage>276</lpage>
          , march
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaudhuri</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Weikum</surname>
          </string-name>
          .
          <article-title>Self-management technology in databases</article-title>
          . In L. Liu and M. Özsu, editors,
          <source>Encyclopedia of Database Systems</source>
          , pages
          <fpage>2550</fpage>
          -
          <lpage>2555</lpage>
          . Springer US,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cheng</surname>
          </string-name>
          .
          <article-title>Algorithms for vertical partitioning in database physical design</article-title>
          .
          <source>Omega</source>
          ,
          <volume>22</volume>
          (
          <issue>3</issue>
          ):
          <fpage>291</fpage>
          -
          <lpage>303</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>C</surname>
          </string-name>
          .
          <article-title>-</article-title>
          H. Cheng.
          <article-title>A branch and bound clustering algorithm</article-title>
          .
          <source>Systems, Man and Cybernetics</source>
          , IEEE Transactions on,
          <volume>25</volume>
          (
          <issue>5</issue>
          ):
          <fpage>895</fpage>
          -
          <lpage>898</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>C</surname>
          </string-name>
          .
          <article-title>-</article-title>
          H. Cheng, W.-K. Lee, and
          <string-name>
            <given-names>K.-F.</given-names>
            <surname>Wong</surname>
          </string-name>
          .
          <article-title>A genetic algorithm-based clustering approach for database partitioning</article-title>
          .
          <source>Systems, Man, and Cybernetics</source>
          , Part C:
          <article-title>Applications</article-title>
          and Reviews, IEEE Transactions on,
          <volume>32</volume>
          (
          <issue>3</issue>
          ):
          <fpage>215</fpage>
          -
          <lpage>230</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>C</surname>
          </string-name>
          .
          <article-title>-</article-title>
          H. Cheng and
          <string-name>
            <given-names>J.</given-names>
            <surname>Motwani</surname>
          </string-name>
          .
          <article-title>An examination of cluster identification-based algorithms for vertical partitions</article-title>
          .
          <source>Int. J. Bus. Inf. Syst.</source>
          ,
          <volume>4</volume>
          (
          <issue>6</issue>
          ):
          <fpage>622</fpage>
          -
          <lpage>638</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>G.</given-names>
            <surname>Chernishev</surname>
          </string-name>
          .
          <article-title>Towards self-management in a distributed column-store system</article-title>
          . In T. Morzy,
          <string-name>
            <given-names>P.</given-names>
            <surname>Valduriez</surname>
          </string-name>
          , and L. Bellatreche, editors,
          <source>New Trends in Databases and Information Systems</source>
          , volume
          <volume>539</volume>
          of Communications in Computer and Information Science, pages
          <fpage>97</fpage>
          -
          <lpage>107</lpage>
          . Springer International Publishing,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Chernishev</surname>
          </string-name>
          .
          <article-title>Vertical Partitioning in Relational DBMS</article-title>
          .
          <article-title>Talk at the Moscow ACM SIGMOD chapter meeting; slides and video</article-title>
          : http://synthesis.ipi.
          <source>ac.ru/sigmod/seminar/s2015043 0 30</source>
          <volume>4</volume>
          <fpage>2015</fpage>
          [Accessed:
          <year>2016</year>
          01 08].
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chu</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Ieong.</surname>
          </string-name>
          <article-title>A transaction-based approach to vertical partitioning for relational database systems</article-title>
          .
          <source>Software Engineering</source>
          , IEEE Transactions on,
          <volume>19</volume>
          (
          <issue>8</issue>
          ):
          <fpage>804</fpage>
          -
          <lpage>812</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Du</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Barker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Alhajj</surname>
          </string-name>
          .
          <article-title>Attraction - a global affinity measure for database vertical partitioning</article-title>
          .
          <source>In ICWI</source>
          , pages
          <fpage>538</fpage>
          -
          <lpage>548</lpage>
          . IADIS,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>V.</given-names>
            <surname>Galaktionov</surname>
          </string-name>
          .
          <article-title>Parallelization of matrix clustering algorithms (accepted)</article-title>
          .
          <source>In Proceedings of the Sixth International Conference on Informatics Problems (SPISOK</source>
          <year>2016</year>
          ),
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>N.</given-names>
            <surname>Gorla</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Boe</surname>
          </string-name>
          .
          <article-title>Database operating efficiency in fragmented databases in mainframe, mini, and micro system environments</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>N.</given-names>
            <surname>Gorla</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. P. W.</given-names>
            <surname>Yan</surname>
          </string-name>
          .
          <article-title>Vertical fragmentation in databases using data-mining technique</article-title>
          . In J. Erickson, editor,
          <source>Database Technologies: Concepts</source>
          , Methodologies, Tools, and Applications, pages
          <fpage>2543</fpage>
          -
          <lpage>2563</lpage>
          . IGI Global,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hammer</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Niamir</surname>
          </string-name>
          .
          <article-title>A heuristic approach to attribute partitioning</article-title>
          .
          <source>In Proceedings of the 1979 ACM SIGMOD international conference on Management of data, SIGMOD '79</source>
          , pages
          <fpage>93</fpage>
          -
          <lpage>101</lpage>
          , New York, NY, USA,
          <year>1979</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <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 efficiently</article-title>
          .
          <source>In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, SIGMOD'96</source>
          , pages
          <fpage>205</fpage>
          -
          <lpage>216</lpage>
          , New York, NY, USA,
          <year>1996</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Hoffer</surname>
          </string-name>
          and
          <string-name>
            <surname>D. G. Severance.</surname>
          </string-name>
          <article-title>The use of cluster analysis in physical data base design</article-title>
          .
          <source>In Proceedings of the 1st International Conference on Very Large Data Bases, VLDB '75</source>
          , pages
          <fpage>69</fpage>
          -
          <lpage>86</lpage>
          , New York, NY, USA,
          <year>1975</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Jindal</surname>
            and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Dittrich</surname>
          </string-name>
          .
          <article-title>Relax and let the database do the partitioning online</article-title>
          . In M. Castellanos,
          <string-name>
            <given-names>U.</given-names>
            <surname>Dayal</surname>
          </string-name>
          , and W. Lehner, editors,
          <source>Enabling Real-Time Business Intelligence</source>
          , volume
          <volume>126</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , pages
          <fpage>65</fpage>
          -
          <lpage>80</lpage>
          . Springer Berlin Heidelberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>J.R.</surname>
          </string-name>
          <article-title>King Machine-component grouping in production flow analysis: an approach using a rank order clustering algorithm</article-title>
          .
          <source>Int. J. Prod. Res.</source>
          ,
          <volume>18</volume>
          (
          <issue>2</issue>
          ):
          <fpage>213</fpage>
          -
          <lpage>232</lpage>
          ,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Kusiak</surname>
            and
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Chow</surname>
          </string-name>
          .
          <article-title>An efficient cluster identification algorithm</article-title>
          .
          <source>Systems, Man and Cybernetics</source>
          , IEEE
          <volume>17</volume>
          (
          <issue>4</issue>
          ):
          <fpage>696</fpage>
          -
          <lpage>699</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>J. LeFevre</surname>
            , J. Sankaranarayanan,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Hacigumus</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Tatemura</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Polyzotis</surname>
            , and
            <given-names>M. J.</given-names>
          </string-name>
          <string-name>
            <surname>Carey</surname>
          </string-name>
          . MISO:
          <article-title>Souping up big data query processing with a multistore system</article-title>
          .
          <source>In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD '14</source>
          , pages
          <fpage>1591</fpage>
          -
          <lpage>1602</lpage>
          , New York, NY, USA,
          <year>2014</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Gruenwald</surname>
          </string-name>
          .
          <article-title>Self-managing online partitioner for databases (SMOPD): A vertical database partitioning system with a fully automatic online approach</article-title>
          .
          <source>In Proceedings of the 17th International Database Engineering &amp; Applications Symposium</source>
          , IDEAS '
          <volume>13</volume>
          , pages
          <fpage>168</fpage>
          -
          <lpage>173</lpage>
          , New York, NY, USA,
          <year>2013</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Orlowska</surname>
          </string-name>
          , and
          <string-name>
            <surname>Y. Zhang.</surname>
          </string-name>
          <article-title>A graph based cluster approach for vertical partitioning in database design</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          ,
          <volume>11</volume>
          (
          <issue>2</issue>
          ):
          <fpage>151</fpage>
          -
          <lpage>169</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>W.</given-names>
            <surname>McCormick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schweitzer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>White</surname>
          </string-name>
          .
          <article-title>Problem decomposition and data reorganization by a clustering technique</article-title>
          .
          <source>Oper. Res.</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>993</fpage>
          -
          <lpage>1009</lpage>
          ,
          <year>1972</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>S.</given-names>
            <surname>Navathe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          , G. Wiederhold, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Dou</surname>
          </string-name>
          .
          <article-title>Vertical partitioning algorithms for database design</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>9</volume>
          :
          <fpage>680</fpage>
          -
          <lpage>710</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Navathe</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ra</surname>
          </string-name>
          .
          <article-title>Vertical partitioning for database design: a graphical algorithm</article-title>
          .
          <source>In Proceedings of the 1989 ACM SIGMOD international conference on Management of data, SIGMOD '89</source>
          , pages
          <fpage>440</fpage>
          -
          <lpage>450</lpage>
          , New York, NY, USA,
          <year>1989</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>S.</given-names>
            <surname>Papadomanolakis</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Ailamaki</surname>
          </string-name>
          .
          <article-title>An integer linear programming approach to database design</article-title>
          .
          <source>In Proceedings of the 2007 IEEE 23rd International Conference on Data Engineering Workshop</source>
          , ICDEW '
          <volume>07</volume>
          , pages
          <fpage>442</fpage>
          -
          <lpage>449</lpage>
          , Washington, DC, USA,
          <year>2007</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rodrìguez</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>A dynamic vertical partitioning approach for distributed database system</article-title>
          .
          <source>In Systems, Man, and Cybernetics (SMC)</source>
          ,
          <year>2011</year>
          IEEE International Conference on, pages
          <fpage>1853</fpage>
          -
          <lpage>1858</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rodrìguez</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>A support-based vertical partitioning method for database design</article-title>
          .
          <source>In Electrical Engineering Computing Science and Automatic Control (CCE)</source>
          ,
          <year>2011</year>
          8th International Conference on, pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          , oct.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>L.</given-names>
            <surname>Rodrìguez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and P.</given-names>
            <surname>Mejìa-Alvarez</surname>
          </string-name>
          .
          <article-title>An active system for dynamic vertical partitioning of relational databases</article-title>
          . In I. Batyrshin and G. Sidorov, editors,
          <source>Advances in Soft Computing</source>
          , volume
          <volume>7095</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>273</fpage>
          -
          <lpage>284</lpage>
          . Springer Berlin Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sacca</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Wiederhold</surname>
          </string-name>
          .
          <article-title>Database partitioning in a cluster of processors</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>10</volume>
          :
          <fpage>29</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Slagle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. L.</given-names>
            <surname>Chang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Heller</surname>
          </string-name>
          .
          <article-title>A clustering and data-reorganizing algorithm</article-title>
          .
          <source>Systems, Man and Cybernetics</source>
          , IEEE Transactions on, SMC-
          <volume>5</volume>
          (
          <issue>1</issue>
          ):
          <fpage>125</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>Jan 1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Son and M.-H. Kim</surname>
          </string-name>
          .
          <article-title>α-partitioning algorithm: Vertical partitioning based on the fuzzy graph</article-title>
          .
          <source>In Proceedings of the 12th International Conference on Database and Expert Systems Applications</source>
          , DEXA '
          <volume>01</volume>
          , pages
          <fpage>537</fpage>
          -
          <lpage>546</lpage>
          , London, UK, UK,
          <year>2001</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>