Implementing Transactions in Raft
· 6 min read
Overview
OpenBao, like its upstream, favors the raft
internal storage engine.
While more complex than relying on a database for replication, this storage
engine allows us to have lower latency on read operations, because it uses
a local K/V implementation based on B+-trees. For workloads
with low writes but high reads (typical of most uses of K/V secrets), this
trade off allows for the best performance.
An earlier blog post talked about the availability of
transactions in the main
branch, this post will focus on
the technical details of implementing transactions.