This introduction to graph databases is specifically designed for Enterprise Architects who need to map business requirements to architectural components like graph databases. It explains how and why graphs matter for Enterprise Architecture and reviews the architectural differences between relational and graph models.
5. 2000 2003 2007 2009 2011 2013 2014 20152012
GraphConnect,
first conference
for graph DBs
First
Global 2000
Customer
Introduced
first and only
declarative query
language for
property graph
Published O’
Reilly
book
on Graph
Databases
$11M Series A
from Fidelity,
Sunstone
and Conor
$11M Series B
from Fidelity,
Sunstone
and Conor
Commercial
Leadership
First
native
graph DB
in 24/7
production
Invented
property
graph
model
Contributed
first graph
DB to open
source
$2.5M Seed
Round from
Sunstone
and Conor
Funding
Extended
graph data
model to
labeled
property graph
150+ customers
50K+ monthly
downloads
500+ graph
DB events
worldwide
$20M Series C
led by
Creandum, with
Dawn and
existing investors
Technical
Leadership
Neo4j: The Graph Database Leader
17. Operational efficiency
‣ Minutes to millisecond performance
• Savings on hardware/software costs
‣ Horizontal + Vertical scaling
‣ Mature DB
• In production for >10y, over 200 enterprise
subscription customers
‣ Professional support, services & training
18. Time to Market
‣ Agile/incremental delivery
‣ Reduced Business-IT gap
‣ Lower modeling impedance
19. Time to Market
‣ Agile/incremental delivery
‣ Reduced Business-IT gap
‣ Lower modeling impedance
20. Agile/incremental delivery
‣ Graph model is naturally adaptive
• Build the model for the questions that we need to
answer
• Evolve your model as new requirements arise
‣ No need to design the whole thing up front
21. Time to Market
‣ Agile/incremental delivery
‣ Reduced Business-IT gap
‣ Lower modeling impedance
22. Reduced Business-IT gap
‣ Intuitiveness of the graph model
‣ Code easier to read, better communication
between teams
‣ Faster ramp-up for new project members
23. Time to Market
‣ Agile/incremental delivery
‣ Reduced Business-IT gap
‣ Lower modeling impedance
24. Relational vs Graph models
Relational Model Graph Model
KNOWS
KNOWS
KNOWS
ANDREAS
TOBIAS
MICA
DELIA
Person FriendPerson-Friend
ANDREAS
DELIA
TOBIAS
MICA
26. Cypher: The Graph Query Language
MATCH (:Person { name:“Dan”} ) -[:LOVES]-> (:Person { name:“Ann”} )
LOVES
Dan Ann
NODE NODERELATIONSHIP
27. Cypher: The Graph Query Language
MATCH (:Person { name:“Dan”} ) -[:LOVES]-> (:Person { name:“Ann”} )
LOVES
Dan Ann
LABEL PROPERTY
NODE NODE
LABEL PROPERTY
RELATIONSHIP
28. Cypher: The Graph Query Language
Find all direct reports and how
many people they manage,
up to 3 levels down
29. Cypher: The Graph Query Language
Find all direct reports and how
many people they manage,
up to 3 levels down
SQL Query
30. Cypher: The Graph Query Language
MATCH (boss)-[:MANAGES*0..3]->(sub),
(sub)-[:MANAGES*1..3]->(report)
WHERE boss.name = “John Doe”
RETURN sub.name AS Subordinate,
count(report) AS Total
Find all direct reports and how
many people they manage,
up to 3 levels down
Cypher Query
SQL Query
31. Cypher: The Graph Query Language
‣ A query language designed for connectedness
‣ Impact on projects
• Less time writing / optimising /debugging queries
• Improved code maintainability
‣ Impact on teams
• Improved communication
• Faster ramp-up for new project members
33. Primary Store case: Telenor
‣ Identity and access management problem.
Need to compute resource authorization in
real time
Was taking up to 20 min for large customers ->
precalculation & cache -> stale data
35. New architecture
500 requests / sec
Middleware services
Backend Backend Backend
Channel Channel Channel42 channels
35 systems
36. Did it work?
‣ Response times reduced to seconds and
milliseconds
‣ Code maintainability improved. Access rules
in Cypher as graph patterns.
"The Neo4j graph database gives us drastically improved
performance and a simple language to query our connected
data" – Sebastian Verheughe, Architect & Developer
37. Who uses Neo4j like this?
‣ UBS using it to control access to systems
• Also migrated from RDBMS based solution
• The Value
‣ Compliance
‣ Faster onboarding
‣ Real-time provisioning
‣ Real-time deprovisioning
‣ AYI by Snap Interactive
• Needed third degree connections in social network
38. Secondary Store case : Shutl/eBay
Wanted to come up with quotes for delivery
slots.
It took 2 seconds to come up with a quote for
a single delivery slot and they wanted to
extend the service to show 20 potential
delivery slots
40. Solution
Broke application up into services e.g.
quoting, booking, feedback.
Key goal was to improve the speed of quoting
and neo4j backed this service
42. Did it work?
‣ Quoting for 20 time windows down from
82,000 ms to 80ms
‣ Code complexity much reduced
43. Did it work?
‣ Quoting for 20 time windows down from
82,000 ms to 80ms
‣ Code complexity much reduced
“Our Neo4j solution is literally thousands of times faster than the prior
MySQL solution, with queries that require 10-100 times less code. At
the same time, Neo4j allowed us to add functionality that was
previously not possible.”
Volker Pacher, Member of Technical Staff, eBay
44. Who uses Neo4j like this?
‣ World’s largest courier service
• They noticed that they would not have been able to
deliver packages by Christmas 2013 !!
• Hierarchical routing system (RDBMS backed)
• Replaced it with Neo4j using lateral routing
• Value:
‣ Minimized time
‣ Maximized usage of road network
45. ODS / MDS case: Gov. Agency
‣ The graph integrates data from multiple
sources
• ODS: Additional operations on the integrated data
• MDS: Provide reference data to other operational
systems
‣ European government agencies
47. Graph based ODS/MDS architecture
ETL
Real time connected
data analysis and
exploration
EDW
Operational
Systems
Data
Source 1
Data
Source 2
Semi /
unstructured
data source
48. Who uses Neo4j like this?
‣ Schleich: Toy manufacturer. Germany
• PDM holding a MPD from: component manufacturers,
suppliers, different countries regulations
• Rich and complex data used across entire value chain.
• Previous arch: RDBMS backed unfit for Schleich’s
requirements for flexibility, perf and ease of operation
‣ Adidas
• Metadata Store
• Used to drive content personalization on their web site
53. The Neo4j Ecosystem
Graph Compute
Mazerunner Spark Integration
https://github.com/neo4j-
contrib/neo4j-mazerunner
Datastore Integration
Cassandra https://github.
com/neo4j-contrib/neo4j-
cassandra-connector
MongoDB
https://github.com/neo4j-
contrib/neo4j_doc_manager
Elastic
https://github.com/neo4j-
contrib/neo4j-elasticsearch
Cloud Hosting
AWS
http://neo4j.
com/developer/guide-cloud-
deployment/
Graphene DB
http://www.graphenedb.com/
Graph Story
http://graphstory.com/
Neo4j on Docker
https://hub.docker.
com/r/neo4j/neo4j/
Graph Visualisation
Popoto.JS
http://www.popotojs.com/
Linkurious.js
https://github.
com/Linkurious/linkurious.js
Keylines
http://cambridge-intelligence.
com/keylines/neo4j
App Frameworks
Structr
https://structr.org/
Graph Aware
http://graphaware.com/products/
DB Migrations
Liquigraph
http://fbiville.github.io/liquigraph
Business Intelligence
QlikView http://irregular-bi.
tumblr.com/tagged/neo4j
DB Introspection
Sylva DB
http://sylvadb.com/
NeoProfiler
https://github.
com/moxious/neoprofiler
54. ‣ Training courses
• Graph fundamentals
• Graph modeling
• SI training
‣ Meetups
• introductory/modeling/use case specific
‣ Consulting
Getting the team up to speed
57. Adoption by selected verticals
Financial
Services
Communications
Health &
Life Sciences
HR &
Recruiting
Media &
Publishing
Social
Web
Industry
& Logistics
Entertainment Consumer Retail Information ServicesBusiness Services
58. How customers use Neo4j
Network &
Data Center
Master Data
Management
Social Recom–
mendations
Identity &
Access
Search &
Discovery
GEO