I'm using JDO to connect to the datastore and wondering how I should design
my tables.  I have users who sign up.  Users have items.  In the RDMS world
I'd have a User table and a Items table and the Items table would have a
field of user_id which would join with a primary key in the User table.

However, with bigtable I thought you could append values to a cell.  In this
situation I might just have my User table with a column "items".  For each
item that gets added to the user over time I could then write something to
that user's "items" column and it would be appended to the other items also
written to that column.  Is there an atomic way to do this in the
AppEngine datastore?  I could imagine doing it through a transactional
read-write operation, but locking on every write like that seems like a bad
idea.

I'm looking to squeeze everything into the Users table because I assume the
read will be much faster if I can do a lookup on a particular row as opposed
to a table scan query on a separate items table, even if I indexed the items
table on user_id.

Thanks,
Phil

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

Reply via email to