5 ms·
> For example is strong consistency really necessary for tweets? Do you really need to see a followers latest tweet instantly? The problem is that "strong cons
by teraflop 5y ago
> For example is strong consistency really necessary for tweets? Do you really need to see a followers latest tweet instantly?
The problem is that "strong consistency" basically means your system behaves in predictable ways that you can easily reason about. If you give it up, you can see all kinds of failure modes that go beyond just seeing stale data.
Suppose a user first sets their profile to "private", meaning only their trusted friends can see their posts. And then, having seen that that operation succeeded, they make a post that contains personal, sensitive information. You had better be damn sure that no user-facing components of your system can ever observe those two events in the wrong order.
- endisneigh 5y agoI don’t disagree at all with what you’re saying, but it’s all about expectation management.
- pcmoney 5y agoPeople should expect that when they mark their account as protected it is indeed protected. Things need to do what they say on the box
- RhodesianHunter 5y agoIf you threw strong consistency out the window and kept low latency you're still getting the "make profile private" event well before the user has navigated to the post page and composed a tweet.
- deleted 5y ago[deleted]
- saryant 5y agoThe problem is ensuring that event has been propagated all around the world so you aren’t displaying now-private tweets. That’s why we need strong consistency. I have spent much of my time at this company on this exact problem.
- Bjartr 5y ago"and kept low latency" is not a reasonable assumption in the face of real world networks.
- NavinF 5y agoIf the latency is bounded, then you have strong consistency. Just add a sleep(5) call after every write to make it linearizable.
- ignoramous 5y agoWhat if the process interrupts before it could sleep(5) and restarts...
- NavinF 5y agoStill linearizable under the insane assumption that the db is always “low latency” which implies it never goes down. The write either happened or it didn’t.
- lubesGordi 5y agoLatency is never bounded, in fact that is what the P is in CAP.
- NavinF 5y agoYep. It was not a serious suggestion. Without partitions, everything would be easy so it’s kinda silly to assume low latency.
- endisneigh 5y agoYes, what I’m saying is that it wouldn’t say that until it’s true. There’s no disagreement here.