Krakow, Poland, 31 May - 2 June 2023
If you’re like most developers, you probably have no idea what probabilistic data structures are. In fact, I did a super-scientific poll on Twitter and found that out of 119 participants, 58% had never heard of them and 22% had heard the term but nothing more. I wonder what percentage of that 22% heard the term for the first time in the poll. We’re a literal-minded lot at times.
Anyhow. A probabilistic data structure is, well, they’re sort of like the TARDIS—bigger on the inside—and JPEG compression—a bit lossy. And, like both, they are fast, accurate enough, and can take you to interesting places of adventure. That last one might not be something a JPEG does.
More technically speaking, most probabilistic data structures use hashes to give you faster and smaller data structures in exchange for precision. If you’ve got a mountain of data to process, this is super useful. In this talk, we’ll briefly go over some common probabilistic data structures; dive deep into a couple (Bloom Filter, MinHash, and Top-K); and show a running application that makes use of Top-K to analyze the most commonly used words in all 112,092 of my UFO sightings.
When we’re done, you’ll be ready to start using some of these structures in your own applications. And, if you use the UFO data, maybe you’ll discover that the truth really is out there.
Are you an adventurer? Do you want gold? Experience? Of course you do! And where do you get these things? The dungeon, where else? That wonderful container of all things adventurous! Unfortunately, dungeons aren't setup for your convenience and so you have to wander about and you get what you get.
But you’re also a developer. You could put all the rooms with their shiny and monstrous content in a database. You could query it and find the best routes to get the gold and the experience. But how would you model this data and write these queries? The rooms. 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 JOIN! Better get my text editor ready.
You could use a graph database that allows you to model these relationships simply with nodes and edges. And, using the Cypher query language, you can write elegant queries that find the best routes to get the stuff you desire most.
In this talk, I’ll use this example to introduce you to graph databases. I’ll compare how to model it 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!
Ticket prices will go up in...
You missed out!