On 07/05/13 11:41, Gene Lian wrote:
> Don't mean to interrupt Jose's questions but since we're having this thread I'd like also to fire some questions/thoughts here:
>
> 1. Regarding the Incremental Schema, we simply consider the incremental schema adding for now. However, how can we eliminate some attributes from the schema if we're sure they are no longer used? I think we need to cover this issue as well.
Given that the DataStore would only save a JS object, the schema would
have to be ensured by the application. IOW, it would be possible that
the first object is { foo: "foo" } and the second is { bar: "bar" }.
> 2. Just like one of Jose's concerns, I'd also think the most controversial part is the redundant copy of the DB if each app has to maintain its own one (the DateStore API is playing the role of doing synchronization only). Supposing we have a Data Store called "contacts", and I can imagine there are at least 3 apps (e.g. Messaging App, Dialer App and Contacts App) which need to share the contacts data. Does that mean all the apps have to completely duplicate the DB data (so that they can build their own indexes on it), which might need 3 times storage space? Or in general each app should just maintain the DB containing only IDs and the needed indexes?
Applications will not *have* to copy the contacts data, they *can* do
that for performance reasons. So, indeed, only a sub-set of the data
might be copied.
--
Mounir