4.2 Article

Querying a graph database - language selection and performance considerations

Journal

JOURNAL OF COMPUTER AND SYSTEM SCIENCES
Volume 82, Issue 1, Pages 45-68

Publisher

ACADEMIC PRESS INC ELSEVIER SCIENCE
DOI: 10.1016/j.jcss.2015.06.006

Keywords

Graph databases; Neo4j; Graph query processing; Benchmarks; Performance optimization; WebSocket

Ask authors/readers for more resources

NoSQL and especially graph databases are constantly gaining popularity among developers as they promise to deliver superior performance when handling highly interconnected data compared to relational databases. Apache Shindig is the reference implementation for OpenSocial with a highly interconnected data model. However, it had a relational database as back-end. In this paper we describe our experiences with the graph database Neo4j as back-end and compare Cypher, Gremlin and Java as alternatives for querying data with MySQL. We consider performance as well as usability from a developer's perspective. Our results show that Cypher is a good query language in terms of code readability and has a moderate overhead for most queries (20-200%). However, it has to be supplemented with stored procedures to make up for some performance deficits in pattern matching queries (>1000%). The RESTful API is unusable slow, whereas our WebSocket connection performs significantly better (>650%). (C) 2015 Elsevier Inc. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.2
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available