Hi all,

Before diving in, I am trying to model a test application which will
benefit from GAE scalability.

1. My app will "potentially" have to handle "millions" of customer
accounts.

2. Data in each customer account is 100% independent.

3. Each customer account will have to handle potentially "thousands"
of users.

4. Apart from general settings, the bulk of each user's data will be
stored by calendar year.

5. User data within each year may have a different schema (as the app
evolves).

6. User data from old years is locked and eventually deleted after
five years.

7. Transaction isolation is only required for an individual user's
data in a given year.

A logical class hierarchy would look something like this:

Accounts
-->Users
---->Years
------>UserDataSchema

Yet, according to GAE documentation, this is one big humongous Entity
Group (with Accounts at the root) which would fall over on itself as
local copies are maintained and transaction isolation is enforced.

The GAE documentation suggests that I store a single user's worth of
data (or less) in an entity group. But how can I re-structure my model
to achieve this. Surely it should be possible to specify an entity
group (for transaction isolation purposes) to be at any node in my
hierarchy, not just the root node.

I'm sure there is an obvious explanation but I can't seem to find it
(I come from an RDBMS background). And I am loathe to start
experimenting until I get this basic concept right in my head.

Thanks to anyone who can clear this up for me.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en.

Reply via email to