I have read somewhere that all properties (lists or otherwise) are
stored in an Entity including the property name. An Entity is a Bag of
properties rather than a Set of Lists. Therefore your two approaches
would take the same amount of storage for the Entity and your two
queries would essentially be the exactly same. Also, every property
generates one implicit index entry so that should also be the same. I
would keep the fields separate as they are logically distinct.
On 2 Feb 2010, at 17:18, Raphael André Bauer wrote:
On Thu, Jan 28, 2010 at 11:14 AM, Max <[email protected]> wrote:
Bump!
In my opinion, the 2nd one performs better but use more storage.
Because the first one fan out (n + m) copies whereas the second one
fans out (n * m) copies.
This is just MY THEORY. Please correct me if I am wrong.
thanks Max :)
does anybody have a pointer to a specification where I could look up
the exact time and space consumption of both querys on GAE?
Thanks,
Raphael
Thanks a lot,
Max
On 1月28日, 上午1時06分, Raphael André Bauer
<[email protected]>
wrote:
Hi everybody,
Suppose you have to entities. Entity1 has one list, Entity2 has
two lists:
Entity1
List<String> tags_and_timestamps
Entity2
List<String> tags
List<String> timestamps
(I hope the peseudocode is ok - the questions is a general datastore
question and not dependent on JPA/JDO or low-level api).
Then I want to merge join my entities based on two properties: a
timestamp and on a tag.
Entity1 is a stupid entity simply storing everyhting in one list.
So I merge join on one list:
tags_and_timestamps == timestamp AND tags_and_timestamps == tag
Entity2 is separates both values, so I merge join on:
timestamps == timestamp AND tags == tag
The question is now: What is more efficient on the GAE datastore?
Separating the values into different lists or storing everything in
one list?
Thanks a lot,
Raphael
--
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 [email protected]
.
To unsubscribe from this group, send email to [email protected]
.
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 [email protected]
.
To unsubscribe from this group, send email to [email protected]
.
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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.