Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Connecting the Dots: Graph Databases and Laravel
Search
Keith Damiani
July 23, 2019
Programming
2
3.2k
Connecting the Dots: Graph Databases and Laravel
Presented at Laracon US 2019
Keith Damiani
July 23, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
140
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
100
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
1
110
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
520
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
Outline View in SwiftUI
1024jp
1
320
イベント駆動で成長して委員会
happymana
1
320
Realtime API 入門
riofujimon
0
150
役立つログに取り組もう
irof
28
9.6k
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
310
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
Navigating Team Friction
lara
183
14k
What's in a price? How to price your products and services
michaelherold
243
12k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing for Performance
lara
604
68k
Agile that works and the tools we love
rasmusluckow
327
21k
Thoughts on Productivity
jonyablonski
67
4.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Teambox: Starting and Learning
jrom
133
8.8k
Designing the Hi-DPI Web
ddemaree
280
34k
A designer walks into a library…
pauljervisheath
203
24k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
Graph Databases and Laravel DOTS the CONNECTING LARACON US 2019
KEITH DAMIANI
Graph Databases and Laravel KEITH DAMIANI DOTS the CONNECTING LARACON
US 2019
None
None
None
Graph Databases and Laravel KEITH DAMIANI DOTS the CONNECTING LARACON
US 2019
None
KEITH DAMIANI PRINCIPAL PROGRAMMER !
None
None
None
None
None
None
None
None
"
What is a graph database? CONNECTING THE DOTS
What is a graph database? CONNECTING THE DOTS
What is a graph database? CONNECTING THE DOTS
What is a graph database? CONNECTING THE DOTS
What is a graph database? CONNECTING THE DOTS Graph DBs
vs. relational DBs Use cases Writing queries Laravel graph DBs
What is a graph database? CONNECTING THE DOTS
What is a graph database? CONNECTING THE DOTS © JACK
MCDADE
© JACK MCDADE
None
None
Nodes "VERTICES"
Nodes "VERTICES" "EDGES" Relationships
Nodes "VERTICES" "EDGES" Relationships
Keith's Family Tree
Keith's Family Tree Keith
WAIT A MINUTE
WAIT A MINUTE RELATIONAL DATABASES
WAIT A MINUTE RELATIONAL DATABASES “ ”
L 14th St./8th Ave. Union Square 6th Ave. Washington Square
Houston St. 1st Ave. L L K B B K B B
stations id name 1 14th St./8th Ave. 2 6th Ave.
3 Union Square 4 1st Ave. 5 Washington Square 6 Houston St. lines id name 1 3 2 4 3 5 4 L 5 B 6 K line_station id station_id line_id connected_to 1 3 4 2 2 4 4 7 3 5 5 4 4 5 6 8 5 6 5 6 6 6 6 9
stations id name 1 14th St./8th Ave. 2 6th Ave.
3 Union Square 4 1st Ave. 5 Washington Square 6 Houston St. lines id name 1 3 2 4 3 5 4 L 5 B 6 K line_station id station_id line_id connected_to 1 3 4 2 2 4 4 7 3 5 5 4 4 5 6 8 5 6 5 6 6 6 6 9
L 14th St./8th Ave. Union Square 6th Ave. Washington Square
Houston St. 1st Ave. L L K B B K B B
1735 KALININGRAD
KÖNIGSBERG
© HISTORIC CITIES RESEARCH PROJECT / OZGUR TUFECKI
© HISTORIC CITIES RESEARCH PROJECT / OZGUR TUFECKI
© HISTORIC CITIES RESEARCH PROJECT / OZGUR TUFECKI No sweat,
I got this.
© HISTORIC CITIES RESEARCH PROJECT / OZGUR TUFECKI No sweat,
I got this. e 2.718281828459045
© HISTORIC CITIES RESEARCH PROJECT / OZGUR TUFECKI
None
None
JOINS
JOINS
L 14th St./8th Ave. Union Square 6th Ave. Washington Square
Houston St. 1st Ave. L L K B B K B B
None
What is a graph database? CONNECTING THE DOTS Graph DBs
vs. relational DBs Use cases
Highly-connected data THE NATURE OF YOUR DATA Hierarchical/tree-shaped
FRIEND-OF-A-FRIEND QUERY Depth Relational DB Neo4j Graph DB Records 2
0.02 0.01 2500 3 30 0.17 110,000 4 1,544 1.36 600,000 5 Unfinished 2.13 800,000 PERFORMANCE, IN SECONDS
Highly-connected data THE NATURE OF YOUR DATA Hierarchical/tree-shaped Many-to-many and/or
polymorphic Schema-less
Social networks COMMON USE CASES Real-time product recommendations Social +
Recommendation
Social networks COMMON USE CASES Real-time product recommendations Would you
like to Join my Professional Network? Social + Recommendation
Social networks COMMON USE CASES Real-time product recommendations Social +
Recommendation Geospatial Geospatial + Recommendation
Digital asset management COMMON USE CASES (MORE!) Textual analysis /
search PageRank search Financial / fraud detection Public policy / journalism
None
Disconnected data BAD FITS Bulk data scans Aggregating across nodes
When write speed is paramount BLOBs / large amounts of text
None
NEO4J.COM
OrientDB Apache TinkerPop Amazon Neptune JanusGraph ArangoDB
CYPHER
CYPHER ( )-[ ]->( )
CYPHER ( )-[ ]->( ) MATCH RETURN
CYPHER MATCH (me:User {name: 'Me'})
(DEMO TIME!)
What is a graph database? CONNECTING THE DOTS Graph DBs
vs. relational DBs Use cases Writing queries Laravel graph DBs
NeoEloquent THREE OPTIONS FOR LARAVEL
NeoEloquent THREE OPTIONS FOR LARAVEL
NeoEloquent THREE OPTIONS FOR LARAVEL GraphAware neo4j-php-client
NeoEloquent THREE OPTIONS FOR LARAVEL GraphAware neo4j-php-client
NeoEloquent THREE OPTIONS FOR LARAVEL GraphAware neo4j-php-client ¯\_(ツ)_/¯
Vapor Laravel
Neo4Laravel
Larapals.com
! @keithdamiani keithdamiani.com