2 ms·
I've been working on something super similar, but some of the arch decisions here are curious considering the clear tradeoffs made. For example, if you have a
by dangoodmanUT 2y ago
I've been working on something super similar, but some of the arch decisions here are curious considering the clear tradeoffs made.
For example, if you have a durability flush interval, what is the WAL for? L0 is the WAL now.
- riccomini 2y agoGreat question! We started out with the design you described--WAL as L0. But we found that there's a bit of a tension between wanting to have L0 SSTs be larger (and having fewer of them) to reduce metadata size, while we wanted to keep WAL SSTs small and frequent (to reduce async/await latency). Basically, we wanted to have WAL writes go on the order of milliseconds, but we wanted L0 SSTs to be larger since they actually service reads. The architecture page has more detail if you haven't found it yet: https://slatedb.io/docs/architecture https://slatedb.io/docs/architecture