SlideShare a Scribd company logo
BETTING THE COMPANYBETTING THE COMPANY
(LITERALLY) ON A
GRAPH DATABASEGRAPH DATABASE
TIPS, TRICKS, AND LESSONS LEARNED
Aseem Kishore
Jan 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
START user=node(1), other=node(2)
MATCH (user) -[r1:has|wants]-> (thing) <-[r2:has|wants]- (other)
WHERE TYPE(r1) <> TYPE(r2)
RETURN TYPE(r1), TYPE(r2), thing
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Daniel Gasienica
@gasi
SO…
JUST WHAT IS A
GRAPH DATABASEGRAPH DATABASE?
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
# adjacency list:
nodes = List<Node>
neighbors = Map<Node, List<Node>>
neighbors[node1].add(node2)
# adjacency matrix:
nodes = List<Node>
connections = Map<Node, Map<Node, bool>>
connections[node1][node2] = true
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
“ By definition, a graph database is any storage
system that provides index-free adjacency. ”
“ This means that every element contains a
direct pointer to its adjacent element and no
index lookups are necessary. ”
QUERYING
1. Start somewhere
2. Traverse elsewhere
QUERYING IN NEO4J
1. Start somewhere
Root node
ID directly (file offset)
Lucene index
2. Traverse elsewhere
Traversal APIs
Cypher patterns
Built-in graph algos (Djikstra, A*, etc.)
NEO4J USAGE
Embedded mode (Java API)
Server mode (REST API)
Cypher query language (both)
OUR USAGE
NODE.JS
+
REST API
+
CYPHER
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
NEO4J EDITIONS
Community edition
Single instance
Offline backup
Advanced edition
Meh
Enterprise edition
Multi-instance cluster!
Online backup!
NEO4J SCALING
Master-slave replication
Cache-based sharding
Feature-based polyglot'ing
64B limit on nodes, rels, props
But can be easily upped; just flipping some bits
100 props/node (high) ⇒ 640M nodes
OKAY...
LET'S TALK ABOUT
WHAT WE LEARNEDWHAT WE LEARNED
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Cache stats where possible
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Cache stats where possible
Capture history through event nodes
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Cache stats where possible
Capture history through event nodes
First-class objects ⇒ nodes, not rels
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Cache stats where possible
First-class objects ⇒ nodes, not rels
Capture history through event nodes
Connected data ⇒ nodes, not props
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
WHAT WE LEARNED
Unique, expressive relationship types
Cache stats where possible
First-class objects ⇒ nodes, not rels
Capture history through event nodes
Connected data ⇒ nodes, not props
Maintain linked lists for O(1) queries
NEO4J ROADMAP
Overhaul of indexing API
Relationship type grouping
Socket and/or binary protocol
Automatic sharding?
Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013
THANKS!
TWITTER: @ASEEMK
GITHUB: @ASEEMK
EMAIL: ASEEM.KISHORE@GMAIL.COM
Questions?

More Related Content

PDF
Betting the Company (Literally) on a Graph Database – Aseem Kishore @ GraphCo...
PPTX
Spark algorithms
PDF
Experiment no 05
PDF
GraphX and Pregel - Apache Spark
PDF
Scaling up data science applications
PPT
ADO.net control
PDF
The Weather of the Century Part 3: Visualization
PDF
The Weather of the Century
Betting the Company (Literally) on a Graph Database – Aseem Kishore @ GraphCo...
Spark algorithms
Experiment no 05
GraphX and Pregel - Apache Spark
Scaling up data science applications
ADO.net control
The Weather of the Century Part 3: Visualization
The Weather of the Century

What's hot (7)

PPTX
Weather of the Century: Visualization
PDF
Giovanni Lanzani – SQL & NoSQL databases for data driven applications - NoSQL...
PPTX
Graph databases
PDF
A Scalable Hierarchical Clustering Algorithm Using Spark: Spark Summit East t...
PDF
PA1_template
PPT
Server side geo_tools_in_drupal_pnw_2012
PDF
NLP on a Billion Documents: Scalable Machine Learning with Apache Spark
Weather of the Century: Visualization
Giovanni Lanzani – SQL & NoSQL databases for data driven applications - NoSQL...
Graph databases
A Scalable Hierarchical Clustering Algorithm Using Spark: Spark Summit East t...
PA1_template
Server side geo_tools_in_drupal_pnw_2012
NLP on a Billion Documents: Scalable Machine Learning with Apache Spark
Ad

Similar to Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013 (20)

PDF
Introduction to spark
PDF
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
PPTX
NoSQL Graph Databases - Why, When and Where
PPTX
AI與大數據數據處理 Spark實戰(20171216)
PDF
Introduction to R for data science
PPTX
Transformations and actions a visual guide training
PDF
R for Pythonistas (PyData NYC 2017)
PDF
R basics
PDF
Graph x pregel
PPTX
Apache Hadoop - A Deep Dive (Part 2 - MapReduce)
PDF
Overiew of Cassandra and Doradus
PPTX
iot.pptx
PPTX
Rattle Graphical Interface for R Language
PPTX
Module3 for enginerring students ppt.pptx
PDF
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
PPTX
1403 app dev series - session 5 - analytics
PDF
Big Data Processing using Apache Spark and Clojure
PDF
Visual Api Training
KEY
MapReduce and NoSQL
Introduction to spark
3rd Athens Big Data Meetup - 2nd Talk - Neo4j: The World's Leading Graph DB
NoSQL Graph Databases - Why, When and Where
AI與大數據數據處理 Spark實戰(20171216)
Introduction to R for data science
Transformations and actions a visual guide training
R for Pythonistas (PyData NYC 2017)
R basics
Graph x pregel
Apache Hadoop - A Deep Dive (Part 2 - MapReduce)
Overiew of Cassandra and Doradus
iot.pptx
Rattle Graphical Interface for R Language
Module3 for enginerring students ppt.pptx
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
1403 app dev series - session 5 - analytics
Big Data Processing using Apache Spark and Clojure
Visual Api Training
MapReduce and NoSQL
Ad

More from Neo4j (20)

PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
PDF
Jin Foo - Prospa GraphSummit Sydney Presentation.pdf
PDF
GraphSummit Singapore Master Deck - May 20, 2025
PPTX
Graphs & GraphRAG - Essential Ingredients for GenAI
PPTX
Neo4j Knowledge for Customer Experience.pptx
PPTX
GraphTalk New Zealand - The Art of The Possible.pptx
PDF
Neo4j: The Art of the Possible with Graph
PDF
Smarter Knowledge Graphs For Public Sector
PDF
GraphRAG and Knowledge Graphs Exploring AI's Future
PDF
Matinée GenAI & GraphRAG Paris - Décembre 24
PDF
ANZ Presentation: GraphSummit Melbourne 2024
PDF
Google Cloud Presentation GraphSummit Melbourne 2024: Building Generative AI ...
PDF
Telstra Presentation GraphSummit Melbourne: Optimising Business Outcomes with...
PDF
Hands-On GraphRAG Workshop: GraphSummit Melbourne 2024
PDF
Démonstration Digital Twin Building Wire Management
PDF
Swiss Life - Les graphes au service de la détection de fraude dans le domaine...
PDF
Démonstration Supply Chain - GraphTalk Paris
PDF
The Art of Possible - GraphTalk Paris Opening Session
PPTX
How Siemens bolstered supply chain resilience with graph-powered AI insights ...
PDF
Knowledge Graphs for AI-Ready Data and Enterprise Deployment - Gartner IT Sym...
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Jin Foo - Prospa GraphSummit Sydney Presentation.pdf
GraphSummit Singapore Master Deck - May 20, 2025
Graphs & GraphRAG - Essential Ingredients for GenAI
Neo4j Knowledge for Customer Experience.pptx
GraphTalk New Zealand - The Art of The Possible.pptx
Neo4j: The Art of the Possible with Graph
Smarter Knowledge Graphs For Public Sector
GraphRAG and Knowledge Graphs Exploring AI's Future
Matinée GenAI & GraphRAG Paris - Décembre 24
ANZ Presentation: GraphSummit Melbourne 2024
Google Cloud Presentation GraphSummit Melbourne 2024: Building Generative AI ...
Telstra Presentation GraphSummit Melbourne: Optimising Business Outcomes with...
Hands-On GraphRAG Workshop: GraphSummit Melbourne 2024
Démonstration Digital Twin Building Wire Management
Swiss Life - Les graphes au service de la détection de fraude dans le domaine...
Démonstration Supply Chain - GraphTalk Paris
The Art of Possible - GraphTalk Paris Opening Session
How Siemens bolstered supply chain resilience with graph-powered AI insights ...
Knowledge Graphs for AI-Ready Data and Enterprise Deployment - Gartner IT Sym...

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
sap open course for s4hana steps from ECC to s4
MIND Revenue Release Quarter 2 2025 Press Release
MYSQL Presentation for SQL database connectivity
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25-Week II
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Programs and apps: productivity, graphics, security and other tools
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation theory and applications.pdf

Betting the Company on a Graph Database - Aseem Kishore @ GraphConnect Boston 2013