1. In a computing environment, a computer-implemented method of accessing data in a data store, the method comprising: receiving a query from a user, the query specifying one or more non-unique fields of a record; sending the query to a data store to retrieve the fields of the record at a field granularity; receiving data for the one or more non-unique fields of the record at a field granularity; and storing the data locally at a client system seperate from the data store by storing only a limited portion of the record, at a field granularity, without storing the entire record at the client, and wherein storing the data further includes simultaneously maintain different versions of the limited portion of the record as a data item, including a current version, an original version, and a database version, wherein the original version is a version of data in a field obtained from the data store, the current version is a version generated based on changes made at the client system, and the database version is a copy of data that is fetched during a last touch of a same field location in the data store.