Hi! (Since nobody wrote back, I thought I'd give it a shot even though I am also beginner)
It seems like you are on the right track. It might be simpler than you think. I would also make Purchases a child of the Customer, so you can do a simple search by simply querying "where ancestor=customer_key". So any purchase creates a "Purchase" entity as you describe. This will also make all purchases of a single customer consistent, and you can do transactions, and still have a scalable system. In some cases you could also stick some extra information about the customer into the "purchase" without indexes - but in general that shouldn't be needed. The biggest challenge will probably be inventory management, but depending on your business needs you can probably also aplit that into entity groups of a managable size,so you don't have a single entity group for your inventory items. Have fun :) Regards, Klaus On Friday, November 29, 2013 10:50:52 PM UTC+1, Jimin Park wrote: > > I am a beginner to DataStore and I am wondering how I should use it to > achieve what I want to do. > > For example, my app needs to keep track of customers and all their > purchases. > > Coming from relational database, I can achieve this by creating > [Customers] and [Purchases] table. > In DataStore, I can make [Customers] and [Purchases] kinds. > > Where I am struggling is the structure of the [Purchases] kind. > > If I make [Purchases] as the child of [Customers] kind, would there be one > entity in [Customers] and one entity in [Purchases] that share the same > key? Does this mean in side of this [Purchases] entity, I would have a > property that just keeps increasing for each purchase they make? > > Or would I have one [Purchases] entity for each purchase they make and in > each of these entities I would have a property that points to a entity in > [Customers] kind? > > How does DataStore perform in these scenarios? > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.