4 ms·
In Firebase we aim for causal consistency, which is between eventual and strong consistency. Remote clients obviously don't see an the same global ordering of e
by tlarkworthy 10y ago
In Firebase we aim for causal consistency, which is between eventual and strong consistency. Remote clients obviously don't see an the same global ordering of events, they see their local mutations before peers (0 latency local writes). However, they do see remote mutations in the same order they occurred. So you never see "foo left the room" "foo said x", the remote mutations are always in the correct temporal ordering.
- ex3ndr 10y agoHow do you solve a problem that when client is too long offline queue of events became too long. For example user can change 100s times it's name (just an example) and you will have to deliver all changes or combine them on server side that can be much harder as you will need to read too many events at once.
- tlarkworthy 10y agoWrite coalescing doesn't work with our security model, so we don't. The client has to replay all the writes in disk cache when it comes online. The writes are pipelined fairly efficiently, but I acknowledge that for some workloads it might not be ideal. But most apps do not do require rapid streams of writes while offline.