Arkadiusz Gil

Software Engineer at Erlang Solutions

State and the distributed data structures

For many people the answer to the question “Why Elixir?” is simply “Because of the message exchange between nodes”. This great property is unfortunately often misused or omitted altogether. When our applications become stateful and we need to coordinate that state between multiple nodes, the go to solution is using the databases - it’s intuitive, battle tested and we trust them to do this well.

This is not the only way to go.

In this talk we’ll look into various data structures which allow us to manage our systems’ state in a distributed fashion, including CRDTs and vector clocks. Is using them always superior to databases? No. Still, learning about them will open your mind to new possibilities.



I’m a CS student and a software developer. I’m working at Erlang Solutions where I’m a part of the team developing a communication platform. Elixir and Erlang were my first professionally used programming languages, which has sparked my interest in distributed systems and functional programming. When not crafting software or dreaming of static type system for the BEAM, I enjoy running and doing yoga.

Github: arkgil

Twitter: @_arkgil