Betting the Company (Literally) on a Graph Database – Aseem Kishore @ GraphConnect NY 2013

2,786 views
2,705 views

Published on

Aseem Kishore of FiftyThree will be speaking about his experiences building an early-stage startup, The Thingdom, on Neo4j and Node.js: why he and his team chose to build on a graph database, how they did it, and what lessons they learned along the way.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,786
On SlideShare
0
From Embeds
0
Number of Embeds
1,027
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Betting the Company (Literally) on a Graph Database – Aseem Kishore @ GraphConnect NY 2013

  1. 1. BETTING THE COMPANY (LITERALLY) ON A GRAPH DATABASE TIPS, TRICKS, AND LESSONS LEARNED Aseem Kishore Jan–Nov 2013
  2. 2. 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
  3. 3. Daniel Gasienica @gasi
  4. 4. SO… JUST WHAT IS A GRAPH DATABASE?
  5. 5. # 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
  6. 6. OKAY... LET'S TALK ABOUT WHAT WE LEARNED
  7. 7. OUR USAGE NODE.JS + REST API + CYPHER
  8. 8. WHAT WE LEARNED Unique, expressive relationship types
  9. 9. WHAT WE LEARNED Unique, expressive relationship types Cache stats where possible
  10. 10. WHAT WE LEARNED Unique, expressive relationship types Cache stats where possible Capture history through event nodes
  11. 11. WHAT WE LEARNED Unique, expressive relationship types Cache stats where possible Capture history through event nodes First-class objects nodes, not rels
  12. 12. WHAT WE LEARNED Unique, expressive relationship types Cache stats where possible Capture history through event nodes First-class objects nodes, not rels Connected data nodes, not props
  13. 13. WHAT WE LEARNED Unique, expressive relationship types Cache stats where possible Capture history through event nodes First-class objects nodes, not rels Connected data nodes, not props Maintain linked lists for O(1) queries
  14. 14. NEO4J 2.0+ Labels & constraints Relationship type grouping Transactional Cypher Automatic sharding?
  15. 15. AND CHECK OUT... (MySQL) —[:TO]—> (Neo4j) A DBA PERSPECTIVE DAVE STERN @ 11:30
  16. 16. THANKS! TWITTER: @ASEEMK GITHUB: @ASEEMK EMAIL: ASEEM.KISHORE@GMAIL.COM Questions?

×