Graph database
-
Upload
shruti-arya -
Category
Education
-
view
129 -
download
0
Transcript of Graph database
Graph Database
GRAPH DATABASE
A graph is a set of nodes interconnected by links .
A database is an organised collection of data.
A Graph Database is a database that uses graph structures with nodes, edges, and properties to represent
and store information.
Graph databases are NoSQL databases.
NoSQL is a data storage technology.
NoSQL simply means “ NOT ONLY SQL”.
IINCREASING SIZE OF DATA NCREASING SIZE OF DATA SETSET
2007 20082009
2010
2011?
0
500
1000
1500
2000
2500
3000
• Text (content)• Hyper-Text (added pointers)• RSS (joined those pointers)• Blogs (added pingbacks)• Tagging (grouped related data)• RDF (described connected data)• GGG (content + pointers + relationships + descriptions)
CCONNECTED-NESSONNECTED-NESS
GGG = Giant global graph
SSEMI-EMI-SSTRUCTURED TRUCTURED IINFORMATIONNFORMATION
If you tried to collect all the data of every movie ever made, how would you model it?
Actors, Characters, Locations, Dates, Costs, Ratings, Showings, Ticket Sales, etc.
Need to store more data about each entity
Key Value Stores: Pros and ConsPros:
Simple data modelScalable
Cons:Create your own “foreign keys”Poor for complex data
Column Family: Pros and ConsPros:
Supports Simi-Structured DataNaturally Indexed (columns)Scalable
Cons:Poor for interconnected data
Document Databases: Pros and ConsPros:
Simple, powerful data modelScalable
Cons:Poor for interconnected dataQuery model limited to keys and indexesMap reduce for larger queries
Graph Databases: Pros and ConsPros:
Powerful data model, as general as RDBMSConnected data locally indexedEasy to query
Cons:Requires rewiring your brain
“A Graph —records data in→ Nodes —which have→ Properties”
“Nodes —are organized by Relationships —which also have → →Properties”
QQUERY UERY AA GGRAPH RAPH WWITH ITH TTRAVERSALRAVERSAL
“A Traversal —navigates→ a Graph; it —identifies→ Paths —which order→ Nodes”
Graph Database Vendors Neo4J (neo4j.org)
OrientDB (orientechnologies.com)
Dex
HyperGraphDB
Infogrid
Sones
Graph Database Use Cases
Clustering Task Planning
Social Connections Scheduling
Hubs Process Assignation
Graph Mining Routing
Centrality Measures Logistics
Location Based services League Planning
Graph Like Applications
Recommendations– Heuristics (Page Rank)– Local
Shortest Paths Hammock Functions Walks Search algorithms Shooting stars K-nearest neighbours
Some of the best-known uses of graph databases include Google’s Knowledge Graph, Facebook's Social Graph and Twitter’s Interest Graph.
If your database is highly associative
If your data is NOT used for statistical analysis, data mining and exploration, or operational research
If you have large data sets with changing or on-the- fly schemas
When To Use Graph Databases?
Represent related data as it inherently is. So, developers can start coding immediately
Great performance , as graph databases, which are defined as any storage system that provides index-free adjacency. What this means is that every element in the database contains a direct link to its adjacent element, and so no need of joins
Response time remains constant, not depending on the total amount of data stored.
Benefits Of Graph Databases?