Querying a graph database - language selection and performance considerations

Journal of Computer and System Sciences(2016)

引用 44|浏览0
暂无评分
摘要
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 % ). We made the paper more formal by evaluating hypothesis stated in the introduction.We restructured large parts of the paper.We elaborated on all aspects requested by the reviewers.We better highlighted the technical contribution of the paper.
更多
查看译文
关键词
Graph databases,Neo4j,Graph query processing,Benchmarks,Performance optimization,WebSocket
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要