imGraph: A Distributed In-Memory Graph Database
Salim Jouili, Aldemar Reynaga
Abstract
Salim Jouili, Aldemar Reynaga
Abstract
Diverse applications including cyber security, social networks, protein networks, recommendation systems or citation networks work with inherently graph-structured data. The graphs modeling the data of these applications are large by nature so the efficient processing of them becomes challenging. In this paper we present imGraph, a graph system that addresses the challenge of efficient processing of large graphs by using a distributed in-memory storage. We use this type of storage to obtain fast random data access which is mostly required for graph exploration. imGraph uses a native graph data model to ease the implementation of graph algorithms. On top of it, we design and implement a traversal engine that achieves high performance by efficient memory access, distribution of the work load, and optimizations on network communications. We run a set of experiments on real graph datasets of different sizes to asses the performance of imGraph in relation to other graph systems. The results show that imGraph gets better performance on traversals on large graphs than its counterparts.
OpenAlex reports 5 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Diverse applications including cyber security, social networks, protein networks, recommendation systems or citation networks work with inherently graph-structured data. The graphs modeling the data of these applications are large by nature so the efficient processing of them becomes challenging. In this paper we present imGraph, a graph system that addresses the challenge of efficient processing of large graphs by using a distributed in-memory storage. We use this type of storage to obtain fast random data access which is mostly required for graph exploration. imGraph uses a native graph data model to ease the implementation of graph algorithms. On top of it, we design and implement a traversal engine that achieves high performance by efficient memory access, distribution of the work load, and optimizations on network communications. We run a set of experiments on real graph datasets of different sizes to asses the performance of imGraph in relation to other graph systems. The results show that imGraph gets better performance on traversals on large graphs than its counterparts.
Key concepts: Computer science, Graph traversal, Theoretical computer science, Graph, Graph database, Tree traversal, Big data, Distributed computing