Re:FoundationDB 6.0 released, featuring multi-region support
by ddorian43 on Tuesday November 20, 2018 @08:31AM
(#18493625)
Scylladb/redis can also do a lot of calls with single thread/core.
Re:FoundationDB 6.0 released, featuring multi-region support
by ryanworl on Tuesday November 20, 2018 @10:54AM
(#18494733)
FoundationDB single-core performance is fine. From my testing on the memory engine (and the docs), you can expect 70k+ reads/second/core for small keys and values. But crucially this means you must have concurrency to drive throughput.
No database can magically make your serial access pattern faster. Amdahl's law and all that.
FoundationDB's latency for your specific workload is up to how good you are at designing your algorithm for concurrency. If you do every step serially, you'll be spending most of your time waiting for the network.
On write amplification: a factor of 3x is not actually that unusual. The default RocksDB size amplification is 2x, and I've seen performant LSM trees with about 3x write amplification.
On the single threaded bottleneck: this is an inherent issue you have when you put your database over a network connection. LMDB can do 10k/100k+ reads/sec on a single thread since it's just doing syscalls. As soon as you start to need to distribute your database across more than 1 machine you start to need to parallelize you work for high throughput.