Graph Database Model for Querying, Searching and Updating

Prashish Rajbhandari, Rabi Chandra Shah, Sonali Agarwal · 2012

The field of database technologies has undergone drastic changes. The advent of complex connected data has given rise to database technologies that diverge from the traditional relational databases (RDBMS). Graph-based database, which abstracts data in the form of nodes, edges and properties, is one such innovative idea for highly associative data. In this paper, we have described a graph database model based on the graph theory and a prototype implementation of the same. The prototype implementation has a complete set of insertion, selection and deletion graph queries and a cache for fast data processing and retrieval. Innovation sparks changes and in recent years the field of Information Technology has undergone drastic transformation. This change in technology and the form of data being used has led to massive changes in database technologies. Most applications today, represent data that are intensely associative i.e. structured graphs, texts, hypertexts, wikis, RDF and social networking. The traditional relational database model (RDBMS) has been proved to be ineffective while handling such associated data with problems regarding horizontal scalability and dynamic data handling. Graph database is one such database technology that is capable of handling such highly heterogeneous and dynamic data. It has gradually been gaining popularity with the giants of the Internet world Google, Twitter, and Facebook incorporating some form of graph database for computation, scaling and knowledge retrieval. In this paper, we introduce our graph database model to manage and efficiently store data in a key-value form. The graph database is grounded on the concept of graph theory: abstracting data in the form of nodes, edges and properties. This model supports predefined as well as user-defined queries for various operations within the database. The basic predefined queries are inserting, updating and deleting nodes, edges and properties. And advanced queries comprises of finding all or specific property, find interconnected nodes/common nodes, Depth First Search (DFS), A*, Breadth First Search (BFS) etc. Since, a user can declare various user-defined functions within a graph database; various graph-operations can be efficiently executed for research in graph traversal (1). A graph database should efficiently model the dynamic behavior of user-defined queries and advanced queries. Scalability is a fundamental feature of the graph database. With the constant hassle of limitation of physical memory, any graph database that deals with associated and dynamic data should have an existing architecture to address scalability issues. The most prominent feature of our graph database model that deals with such scalability issues is the use of Cache Layer (Section 5.3). The Cache Layer emphases on fast traversal and searching of graph data. We focused on building architecture for graph database with our approach for storing and retrieving graph-data. We implemented a self-balancing tree as cache for fast retrieval of data and traversal.

Read the paper · More papers on PaperTik