3 ms·
They are leaving sqlite. In the upcoming FoundationDB 7.0 release, the B-tree storage engine will be replaced with a brand new Redwood engine. https://apple.g
by leetrout 4y ago
They are leaving sqlite.
In the upcoming FoundationDB 7.0 release, the B-tree storage engine will be replaced with a brand new Redwood engine.
https://apple.github.io/foundationdb/architecture.html#storage-servers https://apple.github.io/foundationdb/architecture.html#stora...
- dilyevsky 4y agoInteresting… doesn’t seem to have a lot of docs on this. Surprised they didn’t just go along with RocksDB
- saghm 4y ago> Surprised they didn’t just go along with RocksDB Given how often they're butting heads publicly, maybe Apple didn't want to use something developed by Facebook? It probably wouldn't normally be a concern due to the licenses of each, but it's possible that corporate politics might still be relevant.
- richieartoul 4y agoIt supports RocksDB also, although I think that feature is a bit more experimental.
- transactional 4y agoThere's one set of folk working on a btree, and another set of folk are now working on a RocksDB storage engine. The original preference away from RocksDB was that it doesn't play well with deterministic simulation. Any code included into FDB needs to be able to be able to run with coroutines (strongly preferably stackless ones, though sqlite's btree has a stackful coroutine shimmed under it). RocksDB is definitely not written to support coroutines, and thus trying to use it anyway results in sacrificing developers' abilities to dig into failures. Redwood has a couple design decisions that would make it a poor general purpose btree, but a great one for FoundationDB. But RocksDB will still have write and space amplification advantages.