I have a shopping cart application that contains users, accounts, orders, order lines etc entities.
Many of my entities belong to the account entity e.g. an account has many orders, an order has many order lines and an order line has as many-to-many shipments relationship. The account also has many users who can view the account's child entities.
The documentation recommends keeping entity groups no larger than a single user's worth of data: https://developers.google.com/appengine/docs/python/datastore/entities
I'm concerned that an entity group for an account could grow to a size which becomes unscalable. An account could grow to 100,000 orders with hundreds of thousands of child entities.
I have two questions:
1.) If I don't use ancestors do I simply have to accept that if one user edits an entity it may not be updated for a few seconds?
2.) If I do use ancestors, what will happen if an account has many users all creating/editing/deleting within the same entity group throughout the day? Will some transactions get blocked?