Graph database

35
G G RAPH RAPH D D ATABASE ATABASE Shruti Arya July 22, 2013

Transcript of Graph database

GGRAPHRAPH DDATABASEATABASE

Shruti Arya July 22, 2013

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.

The Graph DB Model

Graph databases are NoSQL databases.

NoSQL is a data storage technology.

NoSQL simply means “ NOT ONLY SQL”.

NNeed of Graph eed of Graph Database Database //

NoSQL NoSQL

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

AARCHITECTURERCHITECTURE

Four NoSQL Quadrants / Categories

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

HHOW OW GGRAPH RAPH DDATABASES ATABASES WWORKORK ? ?

The Graph DB Model

“A Graph —records data in→ Nodes —which have→ Properties”

“Nodes —are organized by Relationships —which also have → →Properties”

Building a Node Space

Building a Node Space

Defining Relationship Types

The Graph DB Model : traversal

Traversing a Node Space

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?

Thank you….