Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> 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)?



For PlanetScale Metal, we use semi-sync replication. The primary need to get an ack from at least one replica before committing.


Soo... We have a network hop after all?


For writes, yes. But what if your workload is 90% reads?


It 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 :)


Is that ack sent once the request is received or once it is stored on the remote disk?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: