Graph databases are based on directed graph theory. These are part of NoSQL database family. Information stored in graph database is in the format noun - verb - noun. And example is shown below - The nodes are entities as in person, corporation, organization, account and edges (arrows) are relationship. For example, Person (A) owns (arrow) a car (B) and so on. Each of the nouns and verbs can have multiple attributes. Like in our example (B) could be a car name and car brand. Each of the nodes can have an incoming edge and /or an outgoing edge.

Graph Databases

Why the need of Graph Databases

Graph databases have some very special use cases where one would want to find long chains of connection between transactions a in the following points:

It is not that relational databases cannot be applied to the above use cases. They can achieve the results albeit with quite an effort. With graph databases implementation of these use cases becomes efficient as expensive multiple join operations are not required. Also the schema of graph database is not rigid. It can be adhoc and evolving. RDBMS is optimized for aggregation and graph database is optimized for connections.

Type of Graph Databases

In general, here are the following two types of graph databases:

RDF graph databases

RDF is a standard model for interchange of structured and semi-structured data on the Web. RDF has features that facilitate data merging even if the underlying schema differ. It specifically supports the evolution of schema over time without requiring all the data consumers to be changed. Some of the market leaders for these are the following:

Property graph databases

The introduction at the start of this article describes property graph databases. Some of the market leaders for these are the following:

Graph Database in an Enterprise Architecture

With the data generated into petabytes and zetabytes over the coming years, enterprise architects need to brace towards establishing a graph database standard in their organizations. While modeling data, architects would need to understand the relationship between data and choose the best fit - SQL or NoSQL (Key Value Stores, Documents Database, Column Oriented Database or Graph Database). In traditional data management, we prepare logical and physical data models. The logical data model describes business requirements and the physical data model specifies how data is to be persisted in a database. In a graph database, the logical model is the physical model. Architects also need to understand the query tools, search tools, user representation tools for reporting, dashboards available for production support. Performance, reliability, flexibility, security and scalability will of course be part of the determining factors.