3 ms·
How do you handle high-availability? Also, do you have some sort of persistency model for the community version which doesn't have HA?
by VRomanov89 6y ago
How do you handle high-availability? Also, do you have some sort of persistency model for the community version which doesn't have HA?
- dtomicevic 6y agoDominik from Memgraph here. Good questions! All editions of Memgraph persist data to the disk via write-ahead logging (WAL) and periodic snapshots for log compaction so even though Memgraph is designed to be in-memory first, data is always backed up to disk. If you enable asynchronous (periodic fsync) WAL, you can trade off a small window of durability for better performance. Before 1.0, Memgraph leveraged the RAFT consensus algorithm for HA which worked great but had some performance implications. Based on feedback from our users and customers, we have decided to switch our HA implementation to the streaming replication model (similar to PostgreSQL) with automatic failover.
- greenrobot 6y agoInteresting. Would you mind to go into details about dropping RAFT? It would make a great tech blog post imho, but maybe you could share some high level insights on that? Related to that: have you considered extensions to the RAFT standard e.g. pipelining?