Dungeons, Dragons, and Graph Databases - Guy Royse - NDC London 2022
Вставка
- Опубліковано 2 лис 2024
- 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? That wonderful container of all things adventurous! But, unfortunately, dungeons aren't setup for the convenience of adventurers who wish to extract these fine things. It’s almost as if the dungeon master just made the dungeon up at random. And so you wander about and you get what you get.
But you’re also a developer. You could build a database of all the rooms with their shiny and monstrous content. Then you could query it and find the optimal 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 simply and 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 use the aforementioned example to introduce you to the concepts of graph databases. I’ll compare how to solve this problem with a relational database and how a graph database makes it easier. I’ll show you how to query and modify your graph. And, as no talk would be complete without a live demo, I’ll do it all using a real-time procedurally generated random dungeon (I am a dungeon master after all).
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!
Check out more of our featured speakers and talks at
www.ndcconfere...
ndclondon.com/
Always surprises me that Prolog (and Datalog) doesn't come up more in discussions about graph databases and their supporting languages. Touched on pattern matchers in Elixir and Rust but Prolog is the great-granddaddy of that sort of "unification" strategy for matching.
Love the illustration of the D20 as a graph 👏
It's a shame redis is retiring redisgraph a year after this awesome presentation(...
Finished - super informative. I’m familiar with neo4j and have used redid. Learning redid graph implemented cypher is 🎯
The interesting thing about the example of d20-as-a-graph is that the material information we care about (the value of the sides) is held by neither the vertices, nor the edges - at least not as depicted on the image.
The faces form a graph too, it's perhaps just less visually obvious.
@@TheAndreArtus Indeed.
i read Guns & Roses - Dungeons, Dragons, and Graph Databases
Was that on Use Your Illusion I or II?
Great talk! Also does he sound like Tom Hanks or is it just me?
i have just decided that SQL is pronounced squeal.
squiggle
he typed dong at 47:30 at first lol
Way to go to beat a joke into brutal submission!
I'm sure there is lots of good information here. But I got tired of waiting through the continuous stream of bad jokes to get to any of it
It only took 5 min to get to the technical bits. Which seems perfectly fine to me!
@@bjk837 I watched it up to the halfway point. Sure, there was some "bits" of technical information. But it was interspersed with so many bad jokes and "banter" that it just got tiresome.
I enjoyed his jokes but each to their own!