- How big can records be? Are they stored as a single object in the persistence layer or using something like materialized paths. The firebase data model is one huge JSON structure, so this looks different.
- How are conflicts handled? Last writer on server wins or last writer anywhere? Do you ensure eventual consistency of all the clients even when you apply optimistic writes on the client?
- Can data be larger than the cache size? How is cache eviction handled?