Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Graph the Planet!

Graph the Planet!

POSSCON 2015/04/14

Many developers have become familiar with relational or document based database systems. Relational databases give you the promise of flexible querying at the cost of larger upfront storage design and potential for the “join bomb”. Document databases give the promise of flexible storage and quick, simple retrieval at the cost of retrieval design. Both have proven themselves in application development but they have also proven there is a pitfall, highly connected data presents many challenges. Enter graph databases, whose love of relationships could fill the gap.

Graph databases have proven to be a powerful force in logistical planning, music recommendations, static code analytics, but why? What is it about this data structure that makes it so good at modeling real world problems? Join me on a journey down through nodes and relationships to discover what differentiates graph databases from others, what pitfalls to avoid when building and querying a graph, and unlock the power of graph databases with a series of examples built on top of Neo4j, the leading engine for your graph storage needs.

Sean Copenhaver

April 14, 2015
Tweet

Other Decks in Programming

Transcript

  1. WHO ARE YOU AGAIN? Sean Copenhaver GIS Columbia, SC Twitter:

    @copenhas Github: copenhas VainGlory: copenhas
  2. LET’S TRAVERSE THE TABLES select Artist.Name from User join UserLikes

    on User.Id = UserLikes.UserId join Album on UserLikes.AlbumId = Album.Id join Artist on Album.ArtistId = Artist.Id where User.Name = 'copenhas'
  3. MAYBE USE A DOC DB? { "name": "Blind Guardian", "origin":

    "Germany", "genre": "Power Metal", "releases": [ { "name": "Nightfall in Middle-Earth", "year": 1998, "label": "Virgin" } ] }
  4. MAYBE USE A DOC DB? Joins are due to normalization

    You wouldn’t miss that normalization Data has few and shallow relationships
  5. BENEFITS OF GRAPH DATABASES Whiteboard friendly Just as flexible as

    a document DB (almost) “Index-free adjacency” Graphs love relationships
  6. IT’S GOT WHAT YOU NEED ACID Transactions Schemas (limited), indexes

    Built in graph algorithms Query language (Cypher)