Re:Dragonflydb – A modern replacement for Redis and Memcached
by ddorian43 on Tuesday May 31, 2022 @08:25AM
(#31568711)
> that means they need to touch a disk upon each write or update
They don't fsync the wal on every write, it's probably done as group commit every x seconds or every x MB.
Re:Dragonflydb – A modern replacement for Redis and Memcached
by romange on Tuesday May 31, 2022 @12:10PM
(#31571281)
they need at least perform fdatasync before replying to a client, imho. so I do not think it's every x seconds. I am not deeply familiar with scylla so maybe I am mistaken.
Re:Dragonflydb – A modern replacement for Redis and Memcached
by ddorian43 on Tuesday May 31, 2022 @12:43PM
(#31571702)
I think you're wrong. It does that every x seconds. The disk writing is async and it's meant that you protect data-loss by keeping replicas in different availability zones.
Re:Dragonflydb – A modern replacement for Redis and Memcached
by romange on Wednesday June 01, 2022 @02:29AM
(#31578832)
interesting. i still need to learn a lot about how other systems provide durability guarantees. Based on what you are saying, Scylla guarantees H/A instead of full durability. I was thinking about WAL (AOF) for dragonfly and I kinda thought to start with "fdatasync once in every X seconds", but dragonfly is not a database. I would expect stronger guarantees from databases. Maybe it's inpractical to expect this in cloud environments...
Re:Dragonflydb – A modern replacement for Redis and Memcached
by ddorian43 on Wednesday June 01, 2022 @02:44AM
(#31578897)
It wouldn't have the performance that it has. Cassandra does the same. YugabyteDB does the same https://docs.yugabyte.com/preview/reference/configuration/yb....
> I would expect stronger guarantees from databases.
You can configure it and get lower performance.
> Maybe it's inpractical to expect this in cloud environments...
For benchmarks they use raid0 on local disks(not EBS) in aws vps.
Long story short, I do think Dragonfly is the fastest in-memory database in terms of throughput and latency today. We will see if we manage to stay this way when we extend our capabilities with SSD tiering.