3G
What is Graph Database - Introduction
Aptitude Engineering Mathematics Discrete Mathematics Operating System DBMS Computer Networks
ore
Read Discuss Courses
What is a Graph Database?
A graph database (GDB) is a database that uses graph structures for storing data. It uses
nodes, edges, and properties instead of tables or documents to represent and store data.
The edges represent relationships between the nodes. This helps in retrieving data more
easily and, in many cases, with one operation. Graph databases are commonly referred to as
a NoSQL.
Representation:
The graph databas:
and the relationship between the data are represented by the edges between the nodes.
based on graph theory. The data is stored in the nodes of the graph
‘raph representation of data
When do we need Graph Database?
1. It solves Many-To-Many relationship problems
If we have friends of friends and stuff like that, these are many to many relationships.
Used when the query in the relational database is very complex
We use cookies to ont
you have the best browsing experiance on our website. By using our site Got It!
oad and understood our Cookie Paley & Privacy Policy,
you acknowledge2. When relationships between data elements are more important
For example- there is a profile and the profile has some specific information in it but the
major selling point is the relationship between these different profiles that is how you get
connected within a network.
In the same way, if there is data element such as user data element inside a graph database
there could be multiple user data elements but the relationship is what is going to be the
factor for all these data elements which are stored inside the graph database.
3. Low latency with large scale data
When you add lots of relationships in the relational database, the data sets are going to be
huge and when you query it, the complexity is going to be more complex and it is going to
be more than a usual time, However, in graph database, it is specifically designed for this
particular purpose and one can query relationship with ease.
Why do Graph Databases matter? Because graphs are good at handling relationships,
some databases store data in the form of a graph.
Example We have a social network in which five friends are all connected. These friends are
Anay, Bhagya, Chaitanya, Dilip, and Erica. A graph database that will store their personal
We use cookies to ensure you have the best browsing experience on our website. By using our site,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy Policyinformation may look something like this:
id first last email phone
name name
1 Anay Agarwal [email protected] —-555-111-
5555
2 Bhagya Kumar [email protected] 555-222-
5555
3 Chaitanya Nayak [email protected] 555-333-
5555
4 Dilip Jain [email protected] 555-444-
5555
5 Erica Emmanuel [email protected] — 555-555-
5555
Now, we will also a need another table to capture the friendship/relationship between
users/friends. Our friendship table will look something like this:
user_id friend_id
1 2
We use cookies to ensure you have the best browsing experience on our website. By using our site,
have read and understood our Cookie Policy & Privacy Policy
you acknowledge thatOnnrk er eR WH wWwYNNNNHR
5
WON HR OWNH HANH OR WEY
4
We will avoid going deep into the Database(primary key & foreign key) theory. Instead just
assume that the friendship table uses id’s of both the friends. Assume that our social
network here has a feature that allows every user to see the personal information of his/her
friends. So, If Chaitanya were requesting information then it would mean she needs
information about Anay, Bhagya, Dilip and Erica. We will approach this problem the
traditional way(Relational database). We must first identify Chaitanya’s id in the User’s table:
id
3 Chaitanya Nayak
email phone
chi
‘[email protected] 555-333-
5555
Now, we'd look for all tuples in friendship table where the user_id is 3. Resulting relation
would be something like this:
We use cookies to ensure you have the best browsing experience on our website. By using our site,
you acknowledge that yo
have read and understood our Cookie Policy & Privacy Policy3 1
3 2
3 4
3 5
Now, let's analyse the time taken in this Relational database approach. This will be
approximately log(N) times where N represents the number of tuples in friendship table or
number of relations. Here, the database maintains the rows in the order of id's. So, in general
for 'M’ no of queries, we have a time complexity of M*log(N) Only if we had used a graph
database approach, the total time complexity would have been O(N). Because, once we've
located Cindy in the database, we have to take only a single step for finding her friends. Here
is how our query would be executed:
> =
Advantages: Frequent schema changes, managing volume of data, real-time query
response time, and more intelligent data activation requirements are done by graph model.
Disadvantages: Note that graph databases aren't always the best solution for an
application. We will need to assess the needs of application before deciding the architecture.
Limitations of Graph Databases:
* Graph Databases may not be offering better choice over the NoSQL variations.
* If application needs to scale horizontally this may introduces poor performance.
+ Not very efficient when it needs to update all nodes with a given parameter.
Last Updated : 05 Aug, 2023 °
We use cookies to ensure you have the best browsing experience on our website. By using our site,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyHow Graph Database Can Assist
With Database Tool Evaluation?
Create a database on Relational
Database Service (RDS) of Amazon
Web Services(AWS)
Difference between Database
Ez Administrator (DBA) and Database
Engineer
Difference between Open Source
Database and Commercial
Database
-.".__ Whatis Dispatch and Location-
RE
Based Services in Graph-based
Database?
Previous:
Article Contributed By
support3
__ seeksforgeeks user
Vote for difficulty
Current difficulty : Easy
Easy Normal Medium =| Hard Expert
Improved By: _harleenk_99, sandeepkrsuman, vishaldhaygudeot
Article Tags: DBMS
Practice Tags: DBMS
YF annette
Introduction to Graph Database on
NoSQL
How to pre populate database in
Android using SQLite Database
Difference between Centralized
Database and Distributed
Database
Difference between Database
Administrator vs Database
Architect
Introduction of Database
Normalization
Next
use codkios to ensure you have the best browsing experience on our website. By using our ste
‘you acknowledge that you have read and understood our Cookie Policy & Privacy Policy.os GeeksforGeeks
A143, Sth Floor, Sovereign Corporate
Tower, Sector-136, Noida, Uttar Pradesh -
201305
[email protected]
Company Explore
About Us Job-A-Thon Hiring Challenge
Legal Hack-A-Thon
Careers GIG Weekly Contest
In Media Offline Classes (Delhi/NCR)
Contact Us
DSA in JAVA/CH
Advertise with us Master System Design
Master CP
Languages DSA Concepts
Python Data Structures
Java Arrays
cH strings
PHP Linked List
We use cookies to ensure you have the best browsing experience on our website. By using our site,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy PolicysQu
R Language
Android Tutorial
DSA Roadmaps
DSA for Beginners
Basic DSA Coding Problems
Complete Roadmap To Learn DSA
DSA for FrontEnd Developers
DSA with JavaScript
‘Top 100 DSA Interview Problems
All Cheat Sheets
DSA Roadmap by Sandeep Jain
Computer Science
GATE CS Notes
Operating Systems
Computer Network
Database Management System
Software Engineering
Digital Logic Design
Engineering Maths
Data Science & ML
Data Science With Python
Data Science For Beginner
Machine Learning Tutorial
Maths For Machine Learning
Pandas Tutorial
NumPy Tutorial
NLP Tutorial
Searching
Sorting
Mathematical
Dynamic Programming
Web Development
HTML
css
JavaScript
Bootstrap
Reacts
AngularJS
NodeuS
Express
Lodash
Python
Python Programming Examples
Django Tutorial
Python Projects
Python Tkinter
Opency Python Tutorial
Python Interview Question
DevOps
Git
AWS
Docker
Kubernetes
‘Azure
Gee
We use cookies to ensure you have the best browsing experience on our website. By using our ste,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy Policy.Competitive Programming
Top DSAfor cP
Top 50 Tree Problems
‘Top 50 Graph Problems
Top 50 Array Problems
Top 50 String Problems
‘Top 50 DP Problems
Top 15 Websites for CP
Interview Corner
Company Wise Preparation
Preparation for SDE
Experienced Interviews
Internship Interviews
Competitive Programming
Aptitude Preparation
Commerce
Accountancy
Business Studies
Economics
Management
Income Tax
Finance
Statistics for Economics
SSC/ BANKING
SSC CGL Syllabus
‘SBI PO Syllabus
‘SBI Clerk Syllabus
IBPS PO Syllabus
BPS Clerk Syllabus
Aptitude Questions
System Design
What is System Design
Monolithic and Distributed SD
Scalability in SD
Databases in SD
High Level Design or HLD
Low Level Design or LLD
Top $0 Interview Questions
GfG School
CBSE Notes for Class 8
CBSE Notes for Class 9
CBSE Notes for Class 10
CBSE Notes for Class 11
CBSE Notes for Class 12
English Grammar
uPsc
Polity Notes
Geography Notes
History Notes
Science and Technology Notes
Economics Notes
Important Topics in Ethics
UPSC Previous Year Papers
Write & Earn
Write an Article
Improve an Article
Pick Topics to Write
Write Interview Experience
Internships
We use cookies to ensure you have the best browsing experience on our website. By using our ste,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy Policy.@geeksforgeeks , Some rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our sito,
‘you acknowledge that you have read and understood our Cookie Policy & Privacy Policy,