<p>In this episode of the Elixir Mentor Podcast, I sit down with Jason Allum, creator of Bedrock and Beadwork and a 40-year veteran of computing, to talk about Bedrock: an embedded, distributed key-value store for Elixir with guarantees that go beyond ACID.</p><p>Jason walks through the problem Bedrock solves, keeping distributed state consistent when the same data is read and written across many nodes. We get into why the BEAM's decades-old ideas map cleanly onto today's AI and agent workloads, how Bedrock borrows its architecture from FoundationDB, and what serializable transactions actually buy you over plain ACID.</p><p>From there we dig into the machinery: log servers versus storage servers, the five-second version window and MVCC, letting it crash with supervision-tree thinking across a cluster, and how rows can live as values while indexes become keys. Jason also covers running distributed jobs with leases and what it takes to swap Postgres out for Bedrock.</p><p>Along the way Jason makes the case that none of this is magic, that the real wins come from understanding your machine and the shape of your data. We finish on Beadwork, his lightweight system for managing agent tickets directly in git. If you build with Elixir or care about distributed databases, there's a lot here to chew on.</p><p>Connect with Jason:<br />- X/Twitter:<a href="https://x.com/mullaj?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://x.com/mullaj</a><br />- GitHub:<a href="https://github.com/jallum?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/jallum</a></p><p>Projects:<br />- Bedrock:<a href="https://github.com/bedrock-kv/bedrock?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/bedrock-kv/bedrock</a><br />- Beadwork:<a href="https://github.com/jallum/beadwork?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/jallum/beadwork</a></p><p>Resources Mentioned:<br />- Notes on the FoundationDB paper:<a href="https://uvdn7.github.io/notes-on-the-foundationdb-paper/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://uvdn7.github.io/notes-on-the-foundationdb-paper/</a><br />- FoundationDB architecture:<a href="https://apple.github.io/foundationdb/architecture.html?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://apple.github.io/foundationdb/architecture.html</a><br />- Raft consensus algorithm (GeeksforGeeks):<a href="https://www.geeksforgeeks.org/system-design/raft-consensus-algorithm/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://www.geeksforgeeks.org/system-design/raft-consensus-algorithm/</a><br />- The Raft Consensus Algorithm:<a href="https://raft.github.io/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://raft.github.io/</a></p><p>Sponsors:<br />- BEAMOps:<a href="https://beamops.co.uk?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://beamops.co.uk</a><br />- Paraxial.io:<a href="https://paraxial.io?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://paraxial.io</a><br />- Jido (Elixir AI Collective Discord):<a href="https://agentjido.xyz/discord?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://agentjido.xyz/discord</a></p><p><strong>SUPPORT ELIXIR MENTOR</strong><br />- Elixir Mentor:<a href="https://elixirmentor.com/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://elixirmentor.com</a></p>

Elixir Mentor

Jacob Luetzow

Jason Allum on Bedrock

MAY 24, 202695 MIN
Elixir Mentor

Jason Allum on Bedrock

MAY 24, 202695 MIN

Description

<p>In this episode of the Elixir Mentor Podcast, I sit down with Jason Allum, creator of Bedrock and Beadwork and a 40-year veteran of computing, to talk about Bedrock: an embedded, distributed key-value store for Elixir with guarantees that go beyond ACID.</p><p>Jason walks through the problem Bedrock solves, keeping distributed state consistent when the same data is read and written across many nodes. We get into why the BEAM's decades-old ideas map cleanly onto today's AI and agent workloads, how Bedrock borrows its architecture from FoundationDB, and what serializable transactions actually buy you over plain ACID.</p><p>From there we dig into the machinery: log servers versus storage servers, the five-second version window and MVCC, letting it crash with supervision-tree thinking across a cluster, and how rows can live as values while indexes become keys. Jason also covers running distributed jobs with leases and what it takes to swap Postgres out for Bedrock.</p><p>Along the way Jason makes the case that none of this is magic, that the real wins come from understanding your machine and the shape of your data. We finish on Beadwork, his lightweight system for managing agent tickets directly in git. If you build with Elixir or care about distributed databases, there's a lot here to chew on.</p><p>Connect with Jason:<br />- X/Twitter:<a href="https://x.com/mullaj?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://x.com/mullaj</a><br />- GitHub:<a href="https://github.com/jallum?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/jallum</a></p><p>Projects:<br />- Bedrock:<a href="https://github.com/bedrock-kv/bedrock?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/bedrock-kv/bedrock</a><br />- Beadwork:<a href="https://github.com/jallum/beadwork?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://github.com/jallum/beadwork</a></p><p>Resources Mentioned:<br />- Notes on the FoundationDB paper:<a href="https://uvdn7.github.io/notes-on-the-foundationdb-paper/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://uvdn7.github.io/notes-on-the-foundationdb-paper/</a><br />- FoundationDB architecture:<a href="https://apple.github.io/foundationdb/architecture.html?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://apple.github.io/foundationdb/architecture.html</a><br />- Raft consensus algorithm (GeeksforGeeks):<a href="https://www.geeksforgeeks.org/system-design/raft-consensus-algorithm/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://www.geeksforgeeks.org/system-design/raft-consensus-algorithm/</a><br />- The Raft Consensus Algorithm:<a href="https://raft.github.io/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://raft.github.io/</a></p><p>Sponsors:<br />- BEAMOps:<a href="https://beamops.co.uk?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://beamops.co.uk</a><br />- Paraxial.io:<a href="https://paraxial.io?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://paraxial.io</a><br />- Jido (Elixir AI Collective Discord):<a href="https://agentjido.xyz/discord?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://agentjido.xyz/discord</a></p><p><strong>SUPPORT ELIXIR MENTOR</strong><br />- Elixir Mentor:<a href="https://elixirmentor.com/?utm_source=elixir-mentor" rel="ugc noopener noreferrer" target="_blank">https://elixirmentor.com</a></p>