<!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>GooDBye: a Good Graph Database Benchmark - an Industry Experience</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Piotr Matyjaszczyk</string-name>
          <email>piotrmk1@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Przemyslaw Rosowski</string-name>
          <email>przemyslaw.rosowski@student.put</email>
          <email>przemyslaw.rosowski@student.put. poznan.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robert Wrembel</string-name>
          <email>robert.wrembel@cs.put.poznan.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Poznan University of Technology</institution>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper reports a use-case developed for an international IT company, whose one of multiple branches is located in Poland. In order to deploy a graph database in their IT architecture, the company needed an assessment of some of the most popular graph database management systems to select one that fits their needs. Despite the fact that multiple graph database benchmarks have been proposed so far, they do not cover all use-cases required by industry. This problem was faced by the company. A specific structure of graphs used by the company and specific queries, initiated developing a new graph benchmark, tailored to their needs. With this respect, the benchmark that we developed complements the existing benchmarks with 5 real use-cases. Based on the benchmark, 5 open-source graph database management systems were evaluated experimentally. In this paper we present the benchmark and the experimental results.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Among multiple database technologies [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], for a few years graph
databases (GDBs) have gained their popularity for storing and
processing interconnected Big Data. In the time of writing this
paper there existed 29 recognized graph database management
systems (GDBMSs), cf., [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], ofering diferent functionality, query
languages, and performance.
      </p>
      <p>When it comes to selecting a GDB to suit an eficient storage
of given graphs and eficient processing, a company professional
has to either implement multiple ’proofs of a concept’ or rely on
existing evaluations of various databases. Typically, important
assessment metrics include: (1) performance and (2) scalability
w.r.t. a graph size and (3) scalability w.r.t. a number of nodes in a
cluster.</p>
      <p>In practice, assessing performance of IT architectures and
particular software products is done by a benchmark. There exist
multiple dedicated benchmarks for given domains of application.
In the area of information systems and databases, the industry
accepted and used benchmarks are developed by the Transaction
Processing Council. There also exist dedicated benchmarks for
non-relational databases and clouds, cf. Section 2.</p>
      <p>Although there exist multiple benchmarks designed for graph
databases, the motivation for our work came as a real need from
industry, i.e., a large international IT company (whose name
cannot to be revealed), having one of its multiple divisions located
in Poland. The company stores large data volumes on various
configurations of their software and network infrastructures.
These data by virtue are interconnected and naturally form large
graphs. Currently, these graphs are stored in flat files but in
the future, they will be imported into a proprietary GDB and
analyzed there. For this reason, a fundamental issue was to choose
a GDBMS that would be the most suitable for particular ’graph
shapes’ and queries needed by the company. The assessment
criteria included: (1) performance characteristics w.r.t. variable
number of nodes in a cluster as well as (2) functionality and user
experience.</p>
      <p>
        The specific structures of graphs produced by the company
and specific queries have not matched what was ofered by the
existing GDB benchmarks. These facts motivated the development
of the GoodBye benchmark, presented in this paper. Designing
GooDBye was inspired by [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and it complements the existing
graph database benchmarks mentioned before. The benchmark
contributes real business use-cases.
      </p>
      <p>The paper is structured as follows. Section 2 overviews
benchmarks developed by research and industrial communities. Section
3 presents the benchmark that we developed. Section 4 outlines
our test environment. Section 5 discusses the experimental
evaluation of GDBs and their results. Finally, Section 6 summarizes
the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        The performance of a database management system is typically
assessed by means of benchmarks. Each domain of database
application incurs its own benchmark. A benchmark is characterized
by a given schema (structure of data) and diferent workload
characteristics (query and data manipulation), and often by
performance measures. Database benchmarking over years have
received a substantial attention from the industry and research
communities. Nowadays, the standard industry approved set of
benchmarks for testing relational databases is being ofered by the
Transaction Processing Council (TPC) [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. They support 2 main
classes of benchmarks, namely: (1) TPC-C and TPC-E - for
testing the performance of databases applied to on-line transaction
processing, (2) TPC-H - for testing the performance of databases
applied to decision support systems. Special benchmarks were
proposed for testing the performance of data warehouses (e.g.,
[
        <xref ref-type="bibr" rid="ref15 ref20 ref27 ref8">8, 15, 20, 27</xref>
        ]).
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] overviews the existing cloud benchmarks with a focus
on cloud database performance testing. The author argues about
adopting TPC benchmarks to a cloud architecture. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposes
a DBaaS benchmark with typical OLTP, DSS, and mixed
workloads. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] compares a traditional open-source RDBMS and HBase
a distributed cloud database. [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] and [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] show the performance
results of relational database systems running on top of virtual
machines. [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] presents a high-level overview of TPC-V, a
benchmark designed for database workloads running in virtualized
environments.
      </p>
      <p>
        Benchmarking of other types of databases, like XML (e.g.,
[
        <xref ref-type="bibr" rid="ref23 ref29">23, 29</xref>
        ]), RDF-based (e.g., [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]), NoSQL, and graph, received less
interest from the research and technology communities in the
past. However, with the widespread of Big Data technologies,
testing performance of various NoSQL data storage systems
became a very important research and technological issue. In this
context, [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] proposed Yahoo! Cloud Serving Benchmark (YCSB)
to compare diferent key-value and cloud storage systems. [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]
proposed a set of BigTable oriented extensions known as YCSB++.
      </p>
      <p>
        In the area of GDBs, several benchmarks have been proposed
so far. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] advocated for using a large parameterized weighted,
directed multigraph and irregular memory access patterns. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
the authors discussed characteristics of graphs to be included
in a benchmark, characteristics of queries that are important
in graph analysis applications, and an evaluation workbench.
In the same spirit, problems of benchmarking GDBs were
discussed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The authors explained how graph databases are
constructed, where and how they can be used, as well as how
benchmarks should be constructed. Their most important
conclusions were that: (1) an increase in the size of a graph in most
graph databases leads only to a linear increase of an execution
time for highly centralized queries, (2) the same cannot be said
for distributed queries, and (3) an important factor controlling
throughput of highly distributed queries is the size of memory
cache, and whether an entire graph structure can be fit in
memory.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] described the so-called SynthBenchmark, which is included
in the Spark GraphX library. It also ofers a small graph
generator. [
        <xref ref-type="bibr" rid="ref13 ref2">2, 13</xref>
        ] outlined a Java-based benchmark for testing social
networks. Its data were stored in MySQL. The benchmark
allowed to generate a graph of 1 billion of nodes, with its statistical
properties similar to the one of Facebook.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref12 ref22">12, 22</xref>
        ] proposed the Social Network Benchmark, focusing
on graph generation and 3 diferent workloads, i.e., interactive,
Business Intelligence, and graph algorithms.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] suggested and implemented a benchmark for a GDBMS
working in a distributed environment. The authors attempted to
create a holistic benchmark and - using the Tinkerpop stack - run
it on a series of the most popular graph databases at that time,
including Neo4j, OrientDB, TitanDB, and DEX. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] evaluated the
performance of four GDBs, i.e, Neo4j, Jena, HypergraphDB, and
DEX with respect to a graph size, using typical graph operations.
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] focused on benchmarking 12 GDBs, i.e., Neo4j, OrientDB,
InfoGrid, TitanDB, FlockDB, ArangoDB, InfiniteGraph,
AllegroGraph, DEX, GraphBase, HyperGraphDB, Bagel, Hama, Giraph,
PEGASUS, Faunus, NetworkX, Gephi, MTGL, Boost, uRiKA, and
STINGER. This work tests performance of the majority of the
GDBs but only in a centralized environment.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref18 ref21">18, 21</xref>
        ] described a benchmark developed in the co-operation
with 4 IT corporations and 4 universities. The benchmark
consists of six algorithms: Breadth-first Search, PageRank, Weakly
Connected Components, Community Detection using Label
Propagation, Local Clustering Coeficient, and Single-source Shortest
Paths. The data part includes real and synthetic datasets.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>OUR APPROACH: GOODBYE - A GOOD</title>
    </sec>
    <sec id="sec-4">
      <title>GRAPH DATABASE BECHMARK</title>
      <p>The GooDBye benchmark includes: (1) a parameterized graph
data generator, (2) a graph database, and (3) queries that are to
be run on it. In order to use the benchmark, a user needs to:
(1) run a data generator,
(2) decide which GDBMS is to be tested, and install it on a
cluster,
(3) transform data generated by the benchmark into a form
readable by the selected GDBMS,
(4) load the data into a GDB, using its proprietary tool,
(5) turn of database’s caching mechanisms, as the same subset
of queries will need to be repeated multiple times,
(6) run queries on the GDB.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Graph data</title>
      <p>A graph used in the benchmark is directed and cyclic, with a
maximum cycle length of 2. The graph reflects typical software and
hardware configurations in a large company. A node represents
one of the three following data entities:
• a package - it is composed of objects; a package can be
transformed into another package; all packages have the
same structure (fields);
• an object - it is composed of fields; an object can be
transformed into another object, similarly as a package;
• a field - a field can be transformed into another field,
similarly as an object, all fields have the same simple
elementary datatype.</p>
      <p>An arc represents:
• a data transformation - packages can be transformed into
other packages, objects into other objects, and fields into
other fields; each transformation (identified by its ID) is
represented at all three levels of data entities;
• a data composition - each package contains one or more
objects, and each object contains one or more fields.</p>
      <p>The data generator is parameterized and can produce graphs
described by diferent statistics. For the benchmark application
presented in this paper, the graph had the following statistics:
• the number of vertices: 911034, which represented 500
packages;
• the number of arcs: 3229158,
• the average number of objects in a package: 100 (binomial
distribution n=8000, p=0.0125),
• the number of object categories (types): 2; 30% of objects
belong to category A, 70% belong to category B,
• the average number of fields of objects in category A: 30
(binomial distribution n=1500, p=0.02),
• the average number of fields of objects in category B: 8
(binominal distribution n=400, p=0.02),
• the average number of incoming fields transformation
arcs: 2.5 (binominal n=80, p=0.03125),
• 4% of arcs form single-arc cycles,
• 2% of arcs form two-arc cycles.
3.2</p>
    </sec>
    <sec id="sec-6">
      <title>Queries</title>
      <p>Eight queries were defined and implemented in the benchmark,
as required by the company. Queries Q1-Q5 (described below)
were demanded by the company. Q1-Q3 aim at checking how
long it takes for a GDB to find neighbor vertices, as well as
navigating via incoming and outcoming arcs. Q4 and Q5 check
how fast a GDB finds nodes, having given in- and out-going arcs,
to calculate an impact of changes on transformations. Q6-Q8 are
typical queries that are defined in other benchmarks.
• Q1 - it finds and returns all vertices that transform to node
of type A, i.e., nodes that have an outgoing arc of type
Transformation that is an incoming arc to A.
• Q2 - it finds and returns all nodes that have an incoming
arc of type Transformation, whose source is A.
• Q3 - it counts all the vertices that are connected to a node
by the Transformation arc lading to the node of type A and
computes the percentage of these nodes over the number
of all vertices in the graph.
• Q4 - it counts all direct neighbors of nodes connected by
a given transformation type and returns the percentage
of the entire graph they comprise.
• Q5 - it counts all direct nodes connected by a given
transformation type, including nodes adjacent to nodes of type
A.
• Q6 - it counts the number of incoming and outgoing arcs
of every single node in the graph, and returns a total count
for each of them. This models a degree calculation for the
entire graphs.
• Q7 - it returns all nodes in the database that have their
attribute equal to given number.</p>
      <p>• Q8 - it computes the shortest path between two nodes.
4
4.1</p>
    </sec>
    <sec id="sec-7">
      <title>TEST ENVIRONMENT</title>
    </sec>
    <sec id="sec-8">
      <title>GBDMSs under test</title>
      <p>
        The company imposed the following requirements on a GDBMS:
• to be run on either an open-source or academic licence,
• to be used in practice by industry (listed on the DB-Engines
website [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]),
• to support at least 3 of the ACID properties,
• to be capable of running in a cluster of workstations.
      </p>
      <p>Based on the aforementioned criteria, out of 29 available GDBMSs,
the following were selected for evaluation: ArangoDB, TitanDB,
JanusGraph, OrientDB, and Spark GraphX. One system we
heavily considered using was Neo4j. According to DB-Engines ranking,
at the time of writing this paper, it was the most popular GDBMS.
Unluckily, we were unable to obtain an academic license of its full,
’enterprise’ edition, providing among others distributed storage
and processing. As such, we have decided not to test it, rather
than unfairly assess its toy version.
4.2</p>
    </sec>
    <sec id="sec-9">
      <title>Benchmark setup</title>
      <p>The GDBMSs were installed in a micro-cluster composed of 9
physical machines. Each node was run by Ubuntu and had the
following parameters: (1) 8GB RAM, (2) 457GB HDD, (3) Intel
Core2 Quad CPU Q9650 3.00GHz, (4) graphic card: GT215. The
machines were physically fully interconnected with each other,
enabling direct communication whenever required. The logical
connections depended on the database system used.</p>
      <p>Depending on an experiment, there were 1, 3, 5, or 9 nodes
used at any given time. Such cluster sizes allowed to use with 1,
2, 4, and 8 worker nodes, and 1 access/coordinator node. Data
were partitioned as equally as possible between nodes, using data
distribution mechanisms provided by each GDMS.
5</p>
    </sec>
    <sec id="sec-10">
      <title>PERFORMANCE EVALUATION OF</title>
    </sec>
    <sec id="sec-11">
      <title>SELECTED GRAPH DATABASES</title>
      <p>The goal of the experiments was to evaluate response time of
the 8 queries outlined in Section 3.2, for the 5 GDBMSs under
test. Each query was run twelve times on the same dataset, on
1, 3, 5, and 9 nodes. The highest and lowest measurements were
discarded. An average value and standard error were calculated
for the remaining measurements. Due to huge diferences in
performance between the tested GBDMSs, a logarithmic scale
was used in charts. Below we discuss the obtained performance
characteristics.
5.1</p>
    </sec>
    <sec id="sec-12">
      <title>Results</title>
      <p>The response time (elapsed) for Q1-Q8 was measured in
milliseconds. Below we present the results and discuss the obtained
performance characteristics.</p>
      <sec id="sec-12-1">
        <title>Q1 - transformation sources for a given node. The re</title>
        <p>sponse times for Q1 are shown in Figure 1. As we can observe,
ArangoDB clearly outperforms all the other GDBMSs. GraphX is
the only system for which query response time decreases with
the increasing number of nodes. The performance of TitanDB
and JanusGraph degrades with the increasing number of nodes
- queries run on the 9-machine cluster take about twenty times
more than when running on a single node.</p>
        <p>1x107</p>
      </sec>
      <sec id="sec-12-2">
        <title>Q2 - listing transformation destinations for a given node.</title>
        <p>The response times of this query are shown in Figure 2. In this
test, ArangoDB, once again outperforms all the other GDBMSs,
although the degradation of its performance when increasing the
size of the cluster is more noticeable. GraphX execution times
decrease by a factor of three, when a cluster size increases to 9,
resulting in better execution times than TitanDB or JanusGraph,
but still worse than OrientDB.</p>
        <p>1x107</p>
        <p>Q3 - measuring the impact of changes in a node. The
response times of this query are shown in Figure 3. From the chart
we can notice that ArangoDB has a clear lead over its competitors
yet again, with its executions taking thousands times less than
of the other GDBMSs. GraphX slowly approaches ArangoDB
execution times as the cluster size increases. OrientDB achieves
better results than TitanDB and JanusGraph on clusters of greater
size.
100
10
1
1x107</p>
        <p>ArangoDB
1x106 OTriiteanntDDBB
]s 100000 JanusGraph
m GraphX
[
item 10000
seon 1000
p
s
e
r
100
10
1
1x107</p>
        <p>ArangoDB
1x106 OTriiteanntDDBB
]s 100000 JanusGraph
m GraphX
[
item 10000
seon 1000
p
s
e
r
100
10
1
1n
3n
5n</p>
        <p>9n</p>
      </sec>
      <sec id="sec-12-3">
        <title>Q4 - measuring the impact of changes in transforma</title>
        <p>tion. As Q4 query is very similar to Q3, the execution times
shown in Figure 4 have characteristics similar to those shown in
Figure 3, i.e., ArangoDB achieves the best results, with GraphX
slowly decreasing ArangoDB lead as the cluster grows.
1n
3n
5n</p>
        <p>9n</p>
        <p>Q5 - measuring the impact of changes in topology. The
execution times from this experiment are shown in Figure 5. Once
again, ArangoDB is in the lead. GraphX execution times decrease
as the cluster size increases. OrientDB performs worse that
TitanDB and JanusGraph for a cluster size up to 3 and performs
better when the cluster grows.</p>
        <p>1n
3n
5n</p>
        <p>9n</p>
      </sec>
      <sec id="sec-12-4">
        <title>Q6 - computing the degree of each node. The execution</title>
        <p>times from this experiment are shown in Figure 6. For this query,
GraphiX ofers the best performance, regardless of the cluster
size. In a 3-, 5-, and 9-node cluster ArangoDB performs the worst.
The performance of OrientDB remains unchanged regardless of
the cluster size.</p>
        <p>1x107
1x106</p>
        <p>Q7 - filtering query . The results of this evaluation are shown
in Figure 7. On a single node, average execution times of the same
query on ArangoDB and GraphX difer only by forty-five
milliseconds, but as the cluster size increases GraphX gains noticeable
lead over all the other GDBMSs.</p>
        <p>1n
3n
5n</p>
        <p>9n</p>
      </sec>
      <sec id="sec-12-5">
        <title>Q8 - finding the shortest path between nodes . This experi</title>
        <p>ment was run on ArangoDB, OrientDB, TitanDB, and JanusGraph.
The reason for eliminating GraphX was caused by the
implementation of the shortest path algorithm in GraphX. Rather than
simply finding the shortest path between two nodes, it finds all
the shortest paths from all the nodes to the target one, only then
allowing users to select specific paths from a generated RDD. This
heavily influences execution times of such queries. The first stage
(computation of the shortest paths) takes minutes rather than
milliseconds, and the second (retrieval of specific paths) takes a
few milliseconds, making the results fairly incomparable to other
GDBMSs. Figure 8 reveals that ArangoDB handles this query in
the least amount of time. On a single node, OrientDB performs
worse than TitanDB or JanusGraph, and performs better on 3, 5,
and 9 nodes.</p>
        <p>In Figure 9 we present total execution times of a workload
composed of queries Q1, Q2, ..., Q7, for ArangoDB, OrientDB,
TitanDB, JanusGraph, and GraphX in a cluster composed of 1,
3, 5, and 9 machines. As we can observe, ArangoDB, TitanDB,
1n
3n
5n</p>
        <p>9n
and JanusGraph do not ofer scaling out, as the total execution
time grows with the increase of the number of machines. On the
contrary, OrientDB and GraphX ofer rather constant execution
time w.r.t. the number of machines.</p>
        <p>3n
5n</p>
        <p>9n
• ArangoDB achieves better results for Q1-Q5 and Q7-Q8
than GraphX,
• ArangoDB achieves worse performance than GraphX for</p>
        <p>Q6,
• GraphX achieves better performance than OrientDB for
Q6, since OrientDB is more eficient than ArangoDB in
executing Q6.</p>
        <p>To this end, we applied T-Student tests with p=0.01. The results
of the significance tests are included in Table 1. The p-values for
the significance of the results between GraphX and ArangoDB
are represented by rows with queries Q1-Q5 and Q7, whereas
p-values for the significance between GraphX and OrientDB are
represented by row with Q6. Each row includes p-values for the
experiments on 1, 3, 5, and 9 nodes.</p>
        <p>1x107</p>
        <p>As it can be seen, ArangoDB wins in this regard as well. Its
installation is straightforward, setting up a cluster requires
nothing but running a few, simple scripts. Its querying language is
robust and intuitive, with a focus on sub-querying. It runs on
most common operating systems. Its visual interface is decent.</p>
        <p>TitanDB and JanusGraph are next in our ranking. Their
installation and setting up a cluster require a bit of fiddling, although
it does not require all that much skill. The query languages are
easy to learn and use. Both of these GDBMSs do not expose any
problems of running on any of the popular operating systems.
They do require quite a lot of work to set up any kind of visual
interface.</p>
        <p>OrientDB scores third. Its installation is not dificult, although
having a few instances in a cluster is problematic. Its language
lacks a few built-ins. It supports numerous OSs. Visual
representations of graphs it generates are decent and legible.</p>
        <p>GraphX scores last. Ease of use was never the focus for
Sparkbased tools. Installation and cluster set up is rather easy, but
connecting it to a resilient data storage is more dificult. Tutorials
for GraphX are almost non-existent, and documentation
occasionally leaves a bit to be desired. Since it is Java-based, it has no
problems running virtually anywhere. Graphical interface (other
than Spark management tool) is nonexistent.</p>
      </sec>
    </sec>
    <sec id="sec-13">
      <title>SUMMARY AND CONCLUSIONS</title>
      <p>In this paper we presented a graph database benchmark
developed to meet specific requirements of an international IT
company. Even though over 10 graph benchmarks have been
proposed in the research literature, none of them reflects the
particular structure of the graph or particular queries needed by the IT
company. Therefore, the benchmark that we developed can be
considered as a complementary to those mentioned in Section 2.
It contributes another graph structure used by industry and five
queries used by industry.</p>
      <p>The benchmark was implemented and used in practice to asses
the performance of 5 open-source GBDMSs in a micro-cluster
composed variable number of physical nodes (up to 9 nodes were
used). The experiments that we run showed that:
• distributing graph data into multiple nodes does not
provide scaling out; we observed that: (1) query execution
times increased when the size of the cluster increased
(the case of ArangoDB, TitanDB, and JanusGraph) or
remained approximately constant (the case of OrientDB and
GraphX);
• even simple queries can take much longer to execute in a
cluster when a GDB needs to cross-check every node for
arcs leading to another shard;
• ArangoDB ofers the best performance in the majority
of tests; it also ofers the best functionality from a user
perspective;
• GraphX ofers the best performance when it comes to
massive localized data processing (cf. Figure 6), i.e., it is a
good match for certain algorithms such as PageRank, that
are highly interested in degrees of nodes.</p>
      <p>The performance evaluation can further be extended to test the
scalability of GDBMSs w.r.t. graph size and clusters of sizes
greater than 9 nodes. To this end, the proposed GoodBye
benchmark needs to be further extended as well, to generate graphs of
parameterized size and multiple statistical properties.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Apache</surname>
          </string-name>
          . [n.d.]. SynthBenchmark. Apache,https://github.com/apache/spark/ blob/master/exam-ples/src/main/scala/org/apache/spark/examples/graphx/ SynthBenchmark.scala.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Timothy</surname>
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Armstrong</surname>
            , Vamsi Ponnekanti, Dhruba Borthakur, and
            <given-names>Mark</given-names>
          </string-name>
          <string-name>
            <surname>Callaghan</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>LinkBench: A Database Benchmark Based on the Facebook Social Graph</article-title>
          .
          <source>In SIGMOD Int. Conf. on Management of Data.</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Feo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gilbert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kepner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Koetser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Loh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Madduri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Meuse</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Robinson</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>HPC Scalable Graph Analysis Benchmark. HPC Graph Analysis</article-title>
          , http://www.graphanalysis.org/benchmark/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Sharada</given-names>
            <surname>Bose</surname>
          </string-name>
          , Priti Mishra, Priya Sethuraman, and
          <string-name>
            <given-names>H. Reza</given-names>
            <surname>Taheri</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Benchmarking Database Performance in a Virtual Environment</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC)</source>
          .
          <volume>167</volume>
          -
          <fpage>182</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ciglan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Averbuch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Hluchy</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Benchmarking Traversal Operations over Graph Databases</article-title>
          .
          <source>In Int. Conf. on Data Engineering Workshops.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Brian</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Cooper</surname>
            , Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and
            <given-names>Russell</given-names>
          </string-name>
          <string-name>
            <surname>Sears</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Benchmarking cloud serving systems with YCSB</article-title>
          .
          <source>In ACM Symposium on Cloud Computing</source>
          .
          <fpage>143</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Jean-Daniel</surname>
            <given-names>Cryans</given-names>
          </string-name>
          , Alain April, and
          <string-name>
            <given-names>Alain</given-names>
            <surname>Abran</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Criteria to Compare Cloud Computing with Current Database Technology</article-title>
          .
          <source>In Int. Conf. Software Process and Product Measurement</source>
          .
          <fpage>114</fpage>
          -
          <lpage>126</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Jerome</given-names>
            <surname>Darmont</surname>
          </string-name>
          , Fadila Bentayeb, and
          <string-name>
            <given-names>Omar</given-names>
            <surname>Boussaid</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Benchmarking Data Warehouses</article-title>
          .
          <source>Int. Journal of Business Intelligence and Data Mining</source>
          <volume>2</volume>
          ,
          <issue>1</issue>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>DB-ENGINES</surname>
          </string-name>
          . [n.d.].
          <article-title>DB-Engines Ranking of Graph DBMS</article-title>
          . https://db-engines. com/en/ranking/graph+dbms.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>David</given-names>
            <surname>Dominguez-Sal</surname>
          </string-name>
          ,
          <article-title>Norbert Martinez-Bazan, Victor Muntes-Mulero, Pere Baleta</article-title>
          , and
          <string-name>
            <surname>Josep Lluis</surname>
          </string-name>
          Larriba-Pay.
          <year>2011</year>
          .
          <article-title>A Discussion on the Design of Graph Database Benchmarks</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC).</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dominguez-Sal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Urbón-Bayes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Giménez-Vañó</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gómez-Villamor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Martínez-Bazán</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Larriba-Pey</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Survey of Graph Database Performance on the HPC Scalable Graph Analysis Benchmark</article-title>
          .
          <source>In Int. Conf. on Web-age Information Management (WAIM).</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Orri</surname>
            <given-names>Erling</given-names>
          </string-name>
          , Alex Averbuch, Josep Larriba-Pey, Hassan Chafi, Andrey Gubichev, Arnau Prat,
          <string-name>
            <surname>Minh-Duc Pham</surname>
            , and
            <given-names>Peter</given-names>
          </string-name>
          <string-name>
            <surname>Boncz</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>The LDBC Social Network Benchmark: Interactive Workload</article-title>
          .
          <source>In SIGMOD Int. Conf. on Management of Data.</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Facebook</surname>
          </string-name>
          . [n.d.]. LinkBench. GitHub,https://github.com/facebookarchive/ linkbench.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Avrilia</surname>
            <given-names>Floratou</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jignesh M. Patel</surname>
            , Willis Lang, and
            <given-names>Alan</given-names>
          </string-name>
          <string-name>
            <surname>Halverson</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>When Free Is Not Really Free: What Does It Cost to Run a Database Workload in the Cloud?</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC)</source>
          .
          <volume>163</volume>
          -
          <fpage>179</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Florian</surname>
            <given-names>Funke</given-names>
          </string-name>
          , Alfons Kemper, Stefan Krompass, Harumi Kuno, Raghunath Nambiar, Thomas Neumann, Anisoara Nica, Meikel Poess, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Seibold</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Metrics for Measuring the Performance of the Mixed Workload CH-benCHmark</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC).</source>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Yuanbo</surname>
            <given-names>Guo</given-names>
          </string-name>
          , Zhengxiang Pan, and
          <string-name>
            <given-names>Jef</given-names>
            <surname>Heflin</surname>
          </string-name>
          .
          <year>2005</year>
          .
          <article-title>LUBM: A Benchmark for OWL Knowledge Base Systems</article-title>
          .
          <source>Web Semantics</source>
          <volume>3</volume>
          ,
          <fpage>2</fpage>
          -
          <lpage>3</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Karl</given-names>
            <surname>Huppler</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Benchmarking with Your Head in the Cloud</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC)</source>
          .
          <volume>97</volume>
          -
          <fpage>110</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Alexandru</surname>
            <given-names>Iosup</given-names>
          </string-name>
          , Tim Hegeman, Wing Lung Ngai, Stijn Heldens, Arnau PratPérez, Thomas Manhardto, Hassan Chafio, Mihai Capotă, Narayanan Sundaram,
          <string-name>
            <surname>Michael Anderson</surname>
            , Ilie Gabriel Tănase, Yinglong Xia, Lifeng Nai, and
            <given-names>Peter</given-names>
          </string-name>
          <string-name>
            <surname>Boncz</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>LDBC Graphalytics: A Benchmark for Large-scale Graph Analysis on Parallel and Distributed Platforms</article-title>
          .
          <source>VLDB Endownment 9</source>
          ,
          <issue>13</issue>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jouili</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vansteenberghe</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>An Empirical Comparison of Graph Databases</article-title>
          .
          <source>In Int. Conf. on Social Computing.</source>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Martin</surname>
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Kersten</surname>
          </string-name>
          , Alfons Kemper, Volker Markl, Anisoara Nica, Meikel Poess, and
          <string-name>
            <surname>Kai-Uwe Sattler</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Tractor Pulling on Data Warehouses</article-title>
          .
          <source>In Int. Workshop on Testing Database Systems.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21] LDBCouncil. [n.d.].
          <source>LDBC Graphalytics</source>
          . GitHub,https://github.com/ldbc/ ldbc_graphalytics.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>[22] LDBCouncil. [n.d.]. Social Network Benchmark. LDBCouncil,http://ldbcouncil. org/developer/snb.</mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Hadj</given-names>
            <surname>Mahboubi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jérôme</given-names>
            <surname>Darmont</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>XWeB: the XML Warehouse Benchmark</article-title>
          .
          <source>CoRR</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Robert</surname>
            <given-names>McColl</given-names>
          </string-name>
          ,
          <string-name>
            <surname>David Ediger</surname>
            ,
            <given-names>Jason</given-names>
          </string-name>
          <string-name>
            <surname>Poovey</surname>
            , Dan Campbell, and
            <given-names>David A.</given-names>
          </string-name>
          <string-name>
            <surname>Bader</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>A performance evaluation of open source graph databases</article-title>
          .
          <source>In Workshop on Parallel Programming for Analytics Applications.</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Umar</given-names>
            <surname>Farooq</surname>
          </string-name>
          <string-name>
            <surname>Minhas</surname>
          </string-name>
          , Jitendra Yadav, Ashraf Aboulnaga, and
          <string-name>
            <given-names>Kenneth</given-names>
            <surname>Salem</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Database systems on virtual machines: How much do you lose?</article-title>
          .
          <source>In Int. Conf. on Data Engineering Workshops (ICDE)</source>
          .
          <volume>35</volume>
          -
          <fpage>41</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26] ODBMS. [n.d.].
          <source>Operational Database Management Systems - ODBMS</source>
          . http: //www.odbms.org/.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Patrick O'Neil</surname>
          </string-name>
          ,
          <string-name>
            <surname>Betty O'Neil</surname>
            ,
            <given-names>and Xuedong</given-names>
          </string-name>
          <string-name>
            <surname>Chen</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Star Schema Benchmark</article-title>
          . https://www.cs.umb.edu/ poneil/StarSchemaB.PDF.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Swapnil</surname>
            <given-names>Patil</given-names>
          </string-name>
          , Milo Polte, Kai Ren, Wittawat Tantisiriroj,
          <string-name>
            <surname>Lin</surname>
            <given-names>Xiao</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julio López</surname>
            , Garth Gibson, Adam Fuchs, and
            <given-names>Billie</given-names>
          </string-name>
          <string-name>
            <surname>Rinaldi</surname>
          </string-name>
          .
          <year>2011</year>
          . YCSB++
          <article-title>: benchmarking and performance debugging advanced features in scalable table stores</article-title>
          .
          <source>In ACM Symposium on Cloud Computing. 9.</source>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Albrecht</surname>
            <given-names>Schmidt</given-names>
          </string-name>
          , Florian Waas,
          <string-name>
            <given-names>Martin</given-names>
            <surname>Kersten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Michael J.</given-names>
            <surname>Carey</surname>
          </string-name>
          , Ioana Manolescu, and
          <string-name>
            <given-names>Ralph</given-names>
            <surname>Busse</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>XMark: A Benchmark for XML Data Management</article-title>
          .
          <source>In Int. Conf. on Very Large Data Bases.</source>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Priya</given-names>
            <surname>Sethuraman</surname>
          </string-name>
          and
          <string-name>
            <given-names>H. Reza</given-names>
            <surname>Taheri</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>TPC-V: A Benchmark for Evaluating the Performance of Database Applications in Virtual Environments</article-title>
          .
          <source>In TPC Technology Conference on Performance Evaluation, Measurement and Characterization of Complex Systems (TPCTC)</source>
          .
          <volume>121</volume>
          -
          <fpage>135</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>[31] TPC. [n.d.]. Transaction Processing Council Benchmarks. http://www.tpc. org/.</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>