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.