Graph Databases: A Comprehensive Report on Models, Uses, and Benefits

Verified

Added on  2022/08/30

|6
|709
|29
Report
AI Summary
This report provides an overview of graph databases, defining them as database engines that model data using nodes and edges to represent complex relationships. It highlights the schema-less nature of graph databases, offering flexibility similar to key/value stores while supporting relationships akin to traditional relational databases. The report details the optimization criteria for graph databases, focusing on storage and traversal efficiency, and compares them favorably to relational databases in terms of speed, flexibility, and performance, citing experimental evidence. It also discusses various applications of graph databases, including fraud detection, real-time recommendation engines, network analysis, and access management, with Neo4j mentioned as a common example. The report concludes with an Entity Relationship Diagram (ERD) to visually represent the structure of a graph database.
Document Page
NAME
COURSE
UNIT
TUTOR
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Contents
Graph databases..........................................................................................................................................3
ERD..............................................................................................................................................................5
References...................................................................................................................................................5
Document Page
Graph databases
A graph can be defined as a collection of nodes or vertices which are joined together using edges. Each
node is a representation of some piece of information while the edge is the connection between two
vertices. Using the concept of graphs, we can now define a graph database (Clarke, 2019).
A graph database is a database engine that models’ nodes and edges in the relational graph as first-class
entities allowing representation of complex interactions between data in a form that is more natural and
often allowing a closer fit to the real-world data that is being worked on (Domenjoud & Vial, 2012).
Graph databases are schema-less thus allowing flexibility of a key/value store or document database but
at the same time supporting relationships in a similar fashion of traditional relational databases. This
means there is more flexibility in the how the data model is defined thus leading to faster iteration in
projects. A graph database meets the following criteria;
Optimization of storage to represent data as a graph is done through storing data in
node/vertices and edges.
Optimization of storage to traverse the graph without using an index when the edges are
followed. A graph database undergoes optimization for queries to leverage proximity of data by
starting from one or more root nodes rather than using global queries.
Flexibility in the data model for some specific solutions. This means there is no need to declare
data types for nodes/vertices or edges like it’s the case for traditional relational databases.
Traversal in graph databases is the process of visiting nodes making up the graph database. Traversal in
graph databases is much quicker as compared to JOIN operations in relational databases because in
graph databases edges make it easy to retrieve information from the nodes. Traversal in a graph
database only takes to account data that is needed without having to group the entire set of data like in
the case of traditional relational databases.
Why use Graph Databases
Graph databases are considered over traditional relational databases because of the following reasons;
Speed – Graph databases are faster than traditional databases as demonstrated by an
experiment done by Aleska Vukotic and Jonas Partner which used social networks. The
experiment involved querying a Neo4J database and MySQL database each with a million users.
The following tables shows the time each database took (Ogidan, 2018).
Document Page
The experiment proofed that graph databases are faster compared to relational databases like
MySQL.
Flexibility – Due to the constant change in business requirements, relational model have had a
problem coping up with ever-changing requirements. Graph databases can be created and
manipulated easily as they rely on edges and vertices thus making them very flexible and
suitable for use in a highly dynamic business environment.
Performance – Although graph databases require much more space because of storing of edges
that make up the relationships, performance is improved because traversing relies on the
relationships thus drastically improving the speeds
Uses of graph databases
Graph databases have many applications because of their flexibility. Some of the applications include
(Merkl, 2018);
Systems used for detecting fraud.
Systems used for real-time recommendation engines.
Networks.
Access and identity management
An example of a common graph database is neo4j.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
ERD
Figure 1: ERD
References
Clarke, J. (2019). An Introduction to Graph Databases. Retrieved 6 January 2020, from
https://towardsdatascience.com/an-introduction-to-graph-databases-cd81a0d5aa12
Merkl, B. (2018). Graph Databases for Beginners: Why Graph Technology Is the Future. Retrieved 6
January 2020, from https://neo4j.com/blog/why-graph-databases-are-the-future/
Domenjoud, M., & Vial, T. (2012). Graph databases: an overview | OCTO Talks !. Retrieved 6 January
2020, from https://blog.octo.com/graph-databases-an-overview/
Document Page
Ogidan, B. (2018). Graph databases, Why are they important. Retrieved 6 January 2020, from
https://medium.com/the-andela-way/graph-databases-why-are-they-important-c438e1a224ae
chevron_up_icon
1 out of 6
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]