14 ms·
Because either the disk is down for everyone on that machine or for no one. That it is only down for my program is theoretically possible (e.g. a bug in the OS
by valenterry 3y ago
Because either the disk is down for everyone on that machine or for no one. That it is only down for my program is theoretically possible (e.g. a bug in the OS or driver) but it's so unlikely that it's usually moved into the "cosmic rays" category.
This is not true for networks (the internet).
- kuschku 3y agoI don't disagree with that, but does that matter for your program? Your code still has to handle the same failure modes regardless. I've had many situations where e.g. reading locally cached files on a smartphone eMMC had worse latency and throughput than doing the same read over the network on the server. The cache actually made performance worse in every way.
- valenterry 3y agoYeah it matters. It's the reason why e.g. postgres offers data consistency and still operates in parallel on the disk. If it were the same doing this over a network, then we could have a distributed, consistent postgres. What would I give for that. :-)
- kuschku 3y agoWell, I wouldn't use that as an example, as Postgres actually misinplemented write/sync in the past causing data corruption ;) Regarding having a distributed postgres, that's not an issue actually. As long as all writing workers have access to the same synchronization primitives you can easily use postgres with e.g. k8s volumes in single writer, multiple reader mode. And single master, multiple read replica postgres deployments are common too. The guarantees you're talking about aren't given by the storage implementation, but by the fact that all write workers run on the same machine.
- valenterry 3y agoThere is no distributed postgres that behaves like a single one (except for being a bit slower sometimes or do).
- kuschku 3y agoAll I claimed was that, if you let postgres run against network mounted storage it works the same as if you used it with local storage. Do you see what I meant?
- valenterry 3y agoSure, but what's the point? There still is no distributed postgres. there are read replicas, but that's not the same thing. So why do you think that is?
- kuschku 3y agoI dunno what the point is supposed to be, you brought it up