4 ms·
> Instead of relying on a single server to store all data, we can replicate it onto several computers. One common way of doing this is to have one server act as
by alfons_foobar 2y ago
> Instead of relying on a single server to store all data, we can replicate it onto several computers. One common way of doing this is to have one server act as the primary, which will receive all write requests. Then 2 or more additional servers get all the data replicated to them. With the data in three places, the likelihood of losing data becomes very small.
Is my understanding correct, that this means you propagate writes asynchronously from the primary to the secondary servers (without waiting for an "ACK" from them for writes)?
- bddicken 2y agoFor PlanetScale Metal, we use semi-sync replication. The primary need to get an ack from at least one replica before committing.
- anonymousDan 2y agoIs that ack sent once the request is received or once it is stored on the remote disk?
- alfons_foobar 2y agoSoo... We have a network hop after all?
- bddicken 2y agoFor writes, yes. But what if your workload is 90% reads?
- alfons_foobar 2y agoIt makes a lot of sense for read-heavy workloads, for sure! I was just trying to get a better understanding of what is happening under the hood :)