Graph Databases

Data Model: Nodes and Relationships

Examples: Neo4j, OrientDB, InfiniteGraph, AllegroGraph

Used for:

Recommendations
Business intelligence
Social computing
Geospatial
Systems management
Web of things
Genealogy
Time series data
Product catalogue
Web analytics
Scientific computing (especially bioinformatics)
Indexing your slow RDBMS

What is a Graph?

An abstract representation of a set of objects where some pairs are connected by links.

Different Types of Graphs:

Undirected Graph
Directed Graph

Pseudo Graph
Multi Graph

Hyper Graph

Weighted Graph

Labeled Graph

Property Graph

Edge list in a relational model

Pros and Cons of Graph DBs

Pros:
Powerful data model, as general as RDBMS
Connected data locally indexed
Easy to query
Cons:
Sharding
Scales UP reasonably well
Requires rewiring your brain

Example of Twitter/Facebook Database

PageRank

Path Search

SPARKQL Query

RDF Triple: <subject, predicate, object>