3. The Evolution of Databases
1960 1970 1980 1990 2000 2010 2020 2030
Hierarchical
Relational (+ Object Relational and Object Mapping)
Desktop
Object
NoSQL/NOSQL/NewSQL/Specialised
Graph Databases
Cloud Databases
4. The Evolution of Databases
1960 1970 1980 1990 2000 2010 2020 2030
TRADITIONAL OLTP/RELATIONAL
Store and retrieve data
2-3 hops
in a query
5. The Evolution of Databases
1960 1970 1980 1990 2000 2010 2020 2030
TRADITIONAL OLTP/RELATIONAL
Store and retrieve data
2-3 hops
in a query
BIG DATA TECHNOLOGY
Aggregate and filter data
1 hop
in a query
6. Connections in data
The Evolution of Databases
1960 1970 1980 1990 2000 2010 2020 2030
TRADITIONAL OLTP/RELATIONAL
Store and retrieve data
2-3 hops
in a query
BIG DATA TECHNOLOGY
Aggregate and filter data
1 hop
in a query
Millions of
hops
7. Connections in data
The Evolution of Databases
TRADITIONAL OLTP/RELATIONAL
Store and retrieve data
2-3 hops
in a query
BIG DATA TECHNOLOGY
Aggregate and filter data
1 hop
in a query
Millions of
hops
Real time storage
& retrieval
Long running queries Real-time connected insights
“Our Neo4j solution is literally thousands of times faster
than the prior MySQL solution, with queries that require
10-100 times less code”
Volker Pacher, Senior Developer
10. • Physical data and transaction isolation
underneath shared infrastructure
• Multiple databases run in parallel
on a single Neo4j Cluster
(or standalone server)
• Agility through cloud-friendly
management: quickly move databases
from one online cluster to another
Great for SaaS providers, Enterprises,
data scientists and developers
Multi-tenancy with Neo4j 4.0
12. The Quirkness of [Maybe] Eventual Consistency
Art by Pascal Jousselin - Europe Comics Publisher Dupuis - Creative Commons
13. Raft-based cluster and ACID database:
- Graph transactions over ACID
Consistency
- Maintains integrity over time
Causal Clustering with Neo4j
Replica Servers
Query, View
Core Servers
Synced Cluster
14. • Unbounded scalability to Neo4j by adding horizontal scale-out to the power of Neo4j’s existing
replicated scale-up model.
• Two modes of operations:
SHARDING: operate over single large graph
FEDERATION: query across disjoint graphs
Introducing Sharding and Federated Graphs
15. • Unbounded scalability to Neo4j by adding horizontal scale-out to the power of Neo4j’s existing
replicated scale-up model.
• Executes queries in parallel on multiple databases, combining or aggregating results.
• Chains queries together from multiple databases for sophisticated real-time analyses.
Multi-graph Cypher Queries
SQL
UNWIND corporate.graphIds() AS gid
CALL {
USE corporate.graph( gid )
MATCH (boss)-[:MANAGES*0..3]->(sub),
(sub)-[:MANAGES*1..3]->(report)
RETURN boss.name AS Boss,
sub.name AS Subordinate,
count(report) AS Total
}
RETURN Boss, Subordinate, Total ORDER BY Total
Cypher in Neo4j 4.0
18. BobJoe
• Designed with new cases in mind - PII, credit
card, patient information, etc.
• Based on Role-based Access Control for
graphs
• Restrictions on what data can be seen by
different users, applied to all database
interactions
• Implicit security view of the data for each user
through schema-based security definitions
• Grant/Deny permissions to traverse, read or
write data based on node labels, relationship
types or database and property names
• Security rules are replicated across the cluster
via roles that are associated with the users
Security and Data Privacy
Baseline_Personnel
_Security_Standard
Security_Check Counter_Terrorism
_Check
Developed_Vetting
22. The Largest Investment in Graph Databases
Built on Neo4j’s robust native foundation, Neo4j 4.0 brings:
Unlimited scalability with sharding & federation
A fully reactive architecture for modern applications
Granular security controls for security & privacy
Deployment flexibility with multi-database
Neo4j 4.0
25. 25
Neo4j Desktop
essential tools
- Neo4j Browser for Cypher editing workflows
- Neo4j Bloom for interactive graph exploration
- Neo4j Labs tools: Neo4j ETL, Halin, Query Log Analyzer, Neuler
- Awesome 3rd party applications from Kineviz, yWorks, and others!
26. 26
Neo4j Desktop
connect to Neo4j databases anywhere
- locally managed single-instances for development and experimentation
- on-premise in test and staging environments
- in production deployments in the cloud using Aura
27. 27
Neo4j Desktop
developer workflows in 2020
- integration with local filesystem
- CLI tooling to integrate with build systems
- project templates for bootstrapping application development
- easy prototyping of graph application user interfaces
- first-class GraphQL development
- fantastic integration with Aura
28. 28
Neo4j Desktop
from graph idea to Neo4j in production
- essential tools for working with Neo4j
- locally managed Neo4j Enterprise Edition for Developers
- connect your development to Neo4j anywhere