Almost 10 years ago, I was working on two projects: a space game that simulated relativity and a "dead man's switch" in case I died. I realized two things back then: 1. If I wanted to leave a message for my son in 30 years, I couldn't make any assumptions about technology in the future. 2. No database is unkillable. Over the coming decade, I set out to figure out how to build a leaderless database that could go "holographic" -- any partition could create a completely independent cluster -- while simultaneously acting like any other database. It was a long journey with a lot of dead ends and then suddenly there weren't. The last year has been a whirlwind of progress, resulting in Swytch, licensed under the AGPL. A drop-in replacement for Redis clusters, with almost 100% command coverage (some lua stuff and debug commands are not implemented, see the docs[1]). It passes self-built Jepsen tests, the underlying system is proven correct through TLA+, and we've written a paper about the underlying framework Swytch is built on[2]. No clock-sync required. Ask me anything |