1. A method comprising: maintaining a grid of mid-tier databases storing cache instances of elements from one or more one or more backend data sources, wherein changes to said cache instances are propagated back to the one or more backend data sources; receiving a request to change data in a particular mid-tier database, said data belonging to a particular element in the one or more backend data sources; in response to the request: identifying a particular cache instance mapped to the data; determining ownership information for the particular cache instance, wherein the ownership information indicates either: a) a mid-tier database to which the particular cache instance has been exclusively assigned, or b) that the particular cache instance is not yet stored in the grid; changing the data in the particular mid-tier database only if the particular database has been assigned exclusive ownership of the particular cache instance; wherein the method is performed by one or more computing devices implementing the grid.