Talk

Dungeons, Dragons, and Graph Databases
Conference (BEGINNER level)
Room 7

Are you an adventurer? Do you want gold? Experience? Levels? Of course you do! And where do you get these things? The dungeon, where else? But, unfortunately, dungeons aren't setup for the convenience of adventurers who wish to extract these fine things. You have to wander about and get what you get.

But you’re also a developer. You could build a database of all the rooms with their content. Then you could query it and find the best route to get the gold and the experience and the levels. But how would you model this data and write these queries? The rooms. The corridors. The monsters. The sparkling hoozits. That’s a lot of entities to relate to each other. And that’s gonna be a monster of a SQL query. Whoa–look at that JOIN! Better get my text editor ready.

Or, you could use a graph database. A graph database allows you to model these relationships intuitively with nodes and edges. Being schema-free, you can evolve your graph as you encounter new things such as traps or secret doors. And, using the Cypher query language, you can write elegant and easy to understand queries that find the best routes to get the stuff adventures desire most.

In this talk, I’ll introduce you to the concepts of graph databases and compare how to solve this problem with a relational database and how a graph database makes it easier.

So come, have a flagon of mead as you learn about graph databases, optimize your dungeon crawl, and equip another weapon in your quest for better software!

Guy Royse
Redis

Guy works for Redis as a Developer Advocate. Combining his decades of experience in writing software with a passion for sharing what he has learned, Guy goes out into developer communities and helps others build great software.

Teaching and community have long been a focus for Guy. He is President of ColumbusJS—the JavaScript meetup in his hometown of Columbus—and has helped organize several other meetups and conferences in his region. He has even helped teach programming at a prison in Central Ohio.

In his personal life, Guy is a hard-boiled geek interested in role-playing games, science fiction, and technology. He also has a slightly less geeky interest in history and linguistics. In his spare time he plays as much D&D as he can, goes camping, and studies history and linguistics.

Guy lives in Ohio with his wife, the two of his three sons who haven't moved out yet, and an entire wall of games.