for mobile apps ▪ Flexible, schemaless data model (“NoSQL”) ▪ Querying by map/reduce views ▪ Active change notifications, for reactive UIs ▪ Full-strength multi-master replication
is a namespace for documents ▪ A document has ▪ A unique, immutable ID ▪ A JSON body containing properties ▪ Named attachments (binary, arbitrary size)
nested data structures (arrays, maps) ▪ Documents don’t need to have the same structure! ▪ Different types of docs can coexist in a database ▪ “type” property is a common convention ▪ Optimistic concurrency control (MVCC)
DatabaseChanged: Any document updated ▪ DocumentChanged: A specific document updated ▪ LiveQuery: Change in query result set ▪ Enables reactive programming Controller Model (Database) GUI View User event Doc update Change notification Redraw
a replica (or a subset) of the server database ▪ Replicator transfers changed documents ▪ Multi-master ▪ Arbitrary topologies ▪ Full offline support ▪ No latency