Tutorial: Distributed Databases for Everyone! Building Riak Core Applications in Erlang/Elixir

Ben Tyler
Infrastructure Developer @ Booking.com

Building a distributed database is a bit like rolling your own cryptography: hard, error-prone, and best left to the experts. Sounds like fun, right? :) Fortunately, we BEAM programmers have access to Riak Core, the incredible framework behind Riak KV and family. With Riak Core in our toolkit, we can brave the chilly waters of distributed state coordination, and build powerful systems in a principled way. What kinds of applications can benefit from this amazing tool? Is building on top of Riak Core the moral equivalent of rolling your own crypto? Let’s take a look!

Topics we’ll cover:

* Riak Core as distributed systems framework: what kinds of problems is it good for? when does it make sense to build on Riak Core instead of just using Riak KV?
* The basic structure of Riak Core applications, using the ring to distribute CPU work
* Implementing a simple in-memory KV store
* Making the KV store resilient through operation coordinators and handoff
* Exposing the KV store through a HTTP API
* Sharding a browser game backend using Riak Core: mixing CPU and state distribution

Summary:

Riak Core is a powerful framework for building distributed systems. Let’s learn about it!

Audience:

Erlang or Elixir programmers interested in practical distributed systems, Riak Core, or both. Materials will be prepared in both Erlang and Elixir, so all are welcome.


I work on service discovery and human<->system reliability @Booking.com., Perl, Python, Elixir, Golang, the_right_tool_for_the_job.


GitHub: kanatohodets

Back to conference page