Riccardo started his career as an embedded developer, but switched to backend development as soon as he discovered (and fell in love with) Elixir.
He enjoys dad jokes, yak shaving, good coffee, and making music both in usual and strange ways (from Game Boys to live coding).
What if your application database could process financial transactions up to 1000x faster than a general purpose database? That’s the goal of TigerBeetle, a distributed financial accounting database designed for mission critical safety and performance.
In this talk I will introduce TigerBeetle and its data model, and show how you can use it in your Elixir applications with TigerBeetlex, an Elixir client built upon its official Zig client.
After exploring the library’s API, we’ll dive into its internals. You will learn about the details of how binaries are implemented in the BEAM VM, understand NIF resources, and discover how TigerBeetle’s non-blocking API pairs perfectly with Elixir’s message-passing.
We will also cover some of the tradeoffs in the design of the library (e.g. macros vs code generation, efficient mutability vs familiar immutability) and why these decisions matter for developers aiming to build idiomatic Elixir libraries.
Key Takeaways:
Target Audience: Programmers who want to use TigerBeetle with their Elixir applications