The world is becoming more transactional.
From colocation and server rental to serverless and usage-based billing. From coal to clean energy and smart meters that arbitrage solar prices 1440 times a month instead of monthly. Not to mention FedNow or the tsunami of instant payments.
The volume of OLTP transactions across several sectors has grown by three orders of magnitude.
And yet two of the most popular open source OLTP database management systems in deployment are 30 years old, designed for a different world, and a different scale.
We have seen incredible advances in hardware and DBMS research since then.
There are hints of the need to redesign OLTP for a new order of magnitude: the move to proprietary cloud databases, and a creeping dependence on caching, even to the extreme of replacing the OLTP DBMS entirely with distributed microservices.
If this sounds high level, be warned that this is a deeply technical talk.
We're going to redesign OLTP from the ground up, with TigerBeetle, a new open source distributed financial transactions database, as a case study to see:
- Why OLTP has a growing impedance mismatch.
- Why the OLTP workload is becoming more contentious.
- Why row locks, horizontal sharding, and betting on the speed of light in fiber can't compete with “diagonal scaling”: Moore's law and vertical scaling, together with the disaggregation of storage and compute.
- What the last decade has taught us about log structured merge trees as the local storage engine for OLTP. Why storage faults, write stalls, and non-determinism are now a problem. And how to exploit workload and reduce write amplification by moving from an LSM-Tree to an LSM-Forest.
- The challenge of strict serializability, mission-critical durability and high availability at scale. Why we can do better than off-the-shelf consensus protocols such as Raft and MultiPaxos, with new techniques such as Protocol-Aware Recovery, low-latency batching, out-of-order replication with in-order commitment, and optimistic state machine execution.
- Finally—with the pure predictability of static memory allocation, the joy of a world without memory fragmentation, and the silver bullet of Deterministic Simulation Testing—why the future of OLTP is looking bright!