Querying a Graph Database - language selection and performance considerations

Abstract

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%).

mehr

Mehr zum Titel

Titel Querying a Graph Database - language selection and performance considerations
Medien Journal of Computer and System Sciences 12/2015
Verlag ---
Heft ---
Band ---
ISBN ---
Verfasser/Herausgeber F. Holzschuher, Prof. Dr. René Peinl
Seiten ---
Veröffentlichungsdatum 01.02.2016
Projekttitel ---
Zitation Holzschuher, F.; Peinl, René (2016): Querying a Graph Database - language selection and performance considerations. Journal of Computer and System Sciences 12/2015. DOI: 10.1016/j.jcss.2015.06.006