This should answer most of your questions about storage:

http://code.google.com/appengine/articles/storage_breakdown.html

Entities do not use any space for "missing" values but do use space for null
values.  In fact, because Entities are essentially a Map of name-value
pairs, there is really no such thing as a missing value.  If space is a
concern it is better to not store nulls unless you want to query for them.
 Twig gives you the choice of whether you want to store null values or not
but I don't think JDO-GAE (or other datastore frameworks?) can be configured
to do this.

Firstly, you should be certain it is worth the effort to optimise storage
space.  It is likely not worth the time to bother with deltas etc.

<http://code.google.com/appengine/articles/storage_breakdown.html>When you
view the datastore statistics page you might find most of your storage space
used by "meta data".  You can reduce this by using small kind names,
property names and even the app-id which are all included in every indexed
value.

Twig 2.0 can be configured to store short kind and property names without
requiring you to rename your data model classes or fields.  I don't think
JDO-GAE can do this... but not certain about that.


On 18 October 2010 12:07, Rud <rudmerr...@gmail.com> wrote:

> My app has a UserProfile class (entity) with many fields. These are
> your typical user demographics - age, marital status, etc. Over time
> users will change the fields, i.e. get married or divorced.
>
> I need to keep a history of changes. I am wondering if creating
> another entity of the entire class containing only the data in the
> changed field would be efficient. Ignore the mechanics of tracking how
> the new entity relates to the old since I think that is just detail
> chasing.
>
> The question is whether the new entity with only a single field
> populated is only the size of that field, or nearly so. Or is the
> stored entity have a default field for every field in the entity,
> basically making it as large as the original entity.
>
> The other approach would be to keep a name-value pair containing the
> change in a 'delta' entity.
>
> Which would be more efficient in the datastore?
>
> Rud
> http://www.mysticlakesoftware.com
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to