Comment by alberth
2 years ago
Great article.
Demystified a lot about FDB for me.
> ”Summary: FDB is probably the best k/v store for regional deployment out there.”
Why should someone use Memcache or Redis then?
Is it for the data types in Redis?
2 years ago
Great article.
Demystified a lot about FDB for me.
> ”Summary: FDB is probably the best k/v store for regional deployment out there.”
Why should someone use Memcache or Redis then?
Is it for the data types in Redis?
Because memcache and redis are in-memory. Writing to fdb will be complete once it is fsync'ed to disk.
Memcache is a cache. Fdb is a an ordered kv store.
Redis can be configured to persist and fsync every operation.
Redis is not meant as a primary database and should not be used as such. FoundationDB is meant as a reliable source of truth.
2 replies →
You can configure redis to flush to disk on write operations though you lose on performance.
That is not comparable to writes completing after they are flushed to disk.
2 replies →
FDB is more a framework to create your own distributed database creating what they call a "layer".
https://apple.github.io/foundationdb/layer-concept.html
Things like Redis and Memcache are not serious data stores. Don't put any data in them that you really need back out later.
Redis has a few features outside of k/v, like a good pub-sub implementation, that make it very useful in addition to a good DX and mature libraries.
Memcache on the other habd is just solid and mature. It also has some inertia as being a solid k/v cache. For example: NextCloud supports afaik both Redis and Memcache as caching engines but doesn't have FDB support.
I believe the author means "the best transactional k/v store"